Comments (14)
great @r10s it does seem more elegant to fix this in core. @ralphtheninja what do you think?
from deltachat-desktop.
I'll have a look.
from deltachat-desktop.
Just realized that we never implemented dc_is_open()
. I skipped it for some reason I forgot. But I think that if we implement that, we should be able to open the context only if it's not open, similarly to configuring when not configured. That's what I'm hoping at least.
@r10 Does this make sense?
from deltachat-desktop.
just had a look at the source: in fact, the dc_open()
may crash when called for an already opened database. i will fix this by calling dc_is_open()
before.
however, in general, in general it is not needed to call dc_close()
just because a configuration failed. from the view of the core, it is fine to call dc_configure()
several times, eg. this is also done for changing the password or other settings.
from deltachat-desktop.
from deltachat-desktop.
jipp, dc_context_unref()
implies dc_close()
.
also had a look at the Android part: also there dc_close()
is never called.
from deltachat-desktop.
great @r10s it does seem more elegant to fix this in core. @ralphtheninja what do you think?
But the issue with multiple accounts still remain.
@r10s What do you recommend we do for multiple accounts? Can you use the same db? In desktop we point out different folders for different accounts.
from deltachat-desktop.
@ralphtheninja I remember talking about multiple accounts in freiburg and it seemed like not on the immediate roadmap -- using a different db seemed like a nice solution. So for us we probably still want to close the old DB if one exists
from deltachat-desktop.
from deltachat-desktop.
i would suggest to simply remove dc_close() from the api.
lots of troubles less.
from deltachat-desktop.
If you have a directory with different DBs and want to show a selector of the different accounts, say db1, db2, db3 in a particular application dir, you can make a for-loop over the dbs, opening each, checking if is_configured() is true, getting the "addr" config, and closing it.
That's a really cool way of enumerating the accounts. We should show a list of already configured accounts and you click one of them to "login". Would be a neat way of logging in without having to type addr
.
from deltachat-desktop.
i would suggest to simply remove dc_close() from the api.
lots of troubles less.
Sounds good to me! It would also make the bindings simpler.
from deltachat-desktop.
@ralphtheninja @hpk42 I still think it's a good idea to be able to reverse-lookup an existing account, in case someone types in an email that is in the list
from deltachat-desktop.
moving this to a new issue.
from deltachat-desktop.
Related Issues (20)
- Notifications don't always disappear when message is read HOT 2
- Clicking notification for another account doesn't open the target chat HOT 1
- .deb package should depend on libasound2 HOT 3
- deltachat-desktop on Linux misuses XDG configuration location for storing cached data, not just configuration HOT 2
- three-dot menu disabled in chat view of audio, files, or apps HOT 2
- File » Quit from an app quits all of DeltaChat HOT 1
- clicking deltachat icon in swaybar's system tray offers inconsistent behavior (and can crash app) HOT 6
- 'realtime channel' experimental option not persisted HOT 2
- message view not always updated HOT 2
- There is a quick splash of some other screen in messageview HOT 3
- crash when clicked download button in partial downloaded message HOT 1
- "Mark All as Read" does not remove notifications HOT 2
- Added device message does not update badge counter on account icon
- Memory leak in yerpc
- HTML email view: Some links don't open browser HOT 3
- mac: unclear window dragging areas HOT 5
- Wayland + HiDPi Scaling factor leads to a tiny cursor HOT 4
- DC automatically deactivates real-time channels when changing profiles HOT 2
- migrate account mute state to new is_muted config option
- Unable to download. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from deltachat-desktop.