Commit Graph
100 Commits
Author SHA1 Message Date
Simon LauxandWofWca 4ccd3cb665 api(rust and jsonrpc): marknoticed_all_chats method to mark all chats as notices, including muted ones. (#7709)
made for solving

https://github.com/deltachat/deltachat-desktop/issues/5891#issuecomment-3687566470

will also be more efficient, because desktop currently loads all fresh
messages to find out which chats to mark as noticed.
https://github.com/deltachat/deltachat-desktop/blob/76d32bfc9364d53e1ffea40fcf4a60ad9a8482ee/packages/frontend/src/components/AccountListSidebar/AccountItem.tsx#L334


# progress
- [x] implementation
- [x] write a test
- [x] make a pr to use it in desktop
https://github.com/deltachat/deltachat-desktop/pull/5923
- [x] address review comments

---------

Co-authored-by: WofWca <wofwca@protonmail.com>
2026-01-20 08:52:59 +00:00
Simon Laux b2f31c8148 api(rust, jsonrpc): add get_message_read_receipt_count method (#7732)
closes #7728
2026-01-19 11:37:10 +00:00
Simon Laux 82a0d6b0ab fix: more reliable parsing of dclogin: links with ip address as host (#7734)
Also adds a test for it.

closes #7733
2026-01-18 16:11:59 +00:00
Simon Laux e1ebf3e96d refactor: don't use concat! in sql statements (#7720) 2026-01-15 22:44:53 +00:00
Simon Laux 76171aea2e fix: hide incoming broadcasts in DC_GCL_FOR_FORWARDING (#7726)
you can't write to those chats, so you also can not forward to them.

Closes #7702
2026-01-15 22:26:05 +00:00
Simon Laux 2ecb537307 api!: jsonrpc: remove contacts from FullChat. To migrate load contacts on demand via get_contacts_by_ids using FullChat.contactIds (#7282)
closes #6945

### Why not deprecate it instead?
Because empty contact list is a more annoying-to-find bug in your app
than failing to build or getting undefined at runtime.

Also you would not see the deprecated hints anyway because for that you
need autogenerated types and those only exist for typescript currently.
2026-01-14 15:35:57 +00:00
Simon Laux 46ec3a469b fix: logging errors in deltachat-rpc-server during startup (#7707)
Before this PR there were cases where error messages never reach the
user because logging was not initialized yet.
This PR moves log initialization to the start of the program, so that
all logged messages reach the user.
2026-01-12 00:18:23 +00:00
Simon Laux 1383e790c3 feat: connectivity view: move quota up and combine with IMAP state. (#7653)
like described in
https://github.com/chatmail/core/pull/7630#discussion_r2641514867


## classical account (with legacy option mvbox)

|||
|---|---|
| <img width="891" height="635" alt="image"
src="https://github.com/user-attachments/assets/723f3dba-79dc-4b57-a14f-c5879c1a1d1d"
/>| <img width="890" height="578" alt="image"
src="https://github.com/user-attachments/assets/d45eaf35-d7b2-40d4-8c37-bbc77947c27d"
/>|

## multi transport

|||
|---|---|
|<img width="891" height="1236" alt="image"
src="https://github.com/user-attachments/assets/053cb088-7d9d-4591-b2bc-6b49399d33a0"
/> |<img width="885" height="1230" alt="image"
src="https://github.com/user-attachments/assets/c455b4f1-f521-4ae8-8884-9042af62ca46"
/>|
2026-01-09 17:20:59 +00:00
Simon Laux b536902827 fix: do not show contact address in message info (#7695)
closes #7686
2026-01-09 17:04:22 +00:00
2631745a57 feat: pre-messages / next version of download on demand (#7371)
Closes <https://github.com/chatmail/core/issues/7367>

Co-authored-by: iequidoo <dgreshilov@gmail.com>
Co-authored-by: Hocuri <hocuri@gmx.de>
2026-01-08 22:14:32 +00:00
Simon Laux fe6e942191 api: cffi api to create account manager with existing events channel to see events emitted during startup. dc_event_channel_new, dc_event_channel_unref, dc_event_channel_get_event_emitter and dc_accounts_new_with_event_channel (#7609)
closes #7606
2026-01-08 18:08:00 +00:00
Simon Laux 9d7db20225 refactor(ffi): replace implicit drop in cffi with explicit drop(Arc::from_raw(var)) (#7664)
for improved clarity and consistency with existing code.
2026-01-05 19:27:48 +00:00
Simon Lauxandiequidoo fdb583b5e9 api: jsonrpc api get_all_ui_config_keys to get all "ui.*" config keys (#7579)
Adds an api to get all ui config keys. There already is an option to get
all normal config keys (`"sys.config_keys"`), but before this pr there
was no way to get all `ui.*` config keys.

#### Why is this api needed?

For webxdc cleanup on desktop, which stores window position in a ui
config key (such as `ui.desktop.webxdcBounds.676464`) as soon as a
webxdc is opened since many versions now. So listing all ui keys is a
good way for us to find out which webxdc may have web data stored.
unfortunately electron does not (yet?) have a way to list all origins
that have web-data like android does, so this is the next best thing we
can do before itterating all possible ids, see also
https://github.com/deltachat/deltachat-desktop/issues/5758.

#### Why is this only a jsonrpc api and not another special/virtual
config key like `"sys.config_keys"`?

r10s indicated that `ui.*`-config keys are barely used
(https://github.com/deltachat/deltachat-desktop/issues/5790#issuecomment-3598512802),
so I thought it makes more sense to add it as dedicated api which's
existentence is checked by the typechecker, so it will be easier to not
miss it when we should remove the api again in the future.

But we could also do a dedicated special/virtual config key for it, if
you think that is better, this is easy to change.

---------

Co-authored-by: iequidoo <117991069+iequidoo@users.noreply.github.com>
2026-01-03 21:14:00 +01:00
Simon Laux 9ac64ea6b9 feat: connectivity view: quota for all transports (#7630)
- **show quota of all relays**
- **remove `DC_STR_STORAGE_ON_DOMAIN` stock string**
- renames the quota section to "Relay Capacity" until we come up with a
better name in
https://github.com/chatmail/core/issues/7580#issuecomment-3633803432

closes #7591

<img width="300" alt="image"
src="https://github.com/user-attachments/assets/1909dccd-e6b3-42e6-963f-004b2b464db7"
/> <img width="300" alt="image"
src="https://github.com/user-attachments/assets/1e97e67b-e0ed-492b-95a0-6ef12595abe4"
/>
2025-12-24 12:19:58 +00:00
Simon Laux a09fd4577a fix: add explicit limit for adding relays (5 at the moment) (#7611)
closes https://github.com/chatmail/core/issues/7608
2025-12-15 10:35:23 +00:00
Simon Lauxandiequidoo 525a3539d2 misc: log entered login params and actual used params on configuration failure (#7610)
#7587 removed "used_account_settings" and "entered_account_settings"
from Context.get_info(). link2xt pointed out that
entered_account_settings can still be useful to debug login issues, so
tis pr adds logs both on failed configuration attempts.

example warning event:
```
Warning src/configure.rs:292: configure failed: entered params myself@merlinux.eu imap:unset:***:unset:0:Automatic:AUTH_NORMAL smtp:unset:0:unset:0:Automatic:AUTH_NORMAL cert_automatic, used params myself@merlinux.eu imap:[mailcow.testrun.org:993:tls:myself@merlinux.eu, mailcow.testrun.org:143:starttls:myself@merlinux.eu] smtp:[mailcow.testrun.org:465:tls:myself@merlinux.eu, mailcow.testrun.org:587:starttls:myself@merlinux.eu] provider:none cert_automatic
```

---------

Co-authored-by: iequidoo <117991069+iequidoo@users.noreply.github.com>
2025-12-15 08:37:45 +00:00
Simon Laux fbcdd45015 feat: add ip addresses of known public chatmail relays from https://chatmail.at/relays to dns cache (#7607)
closes #7597
2025-12-15 08:29:24 +00:00
Simon Laux 5925f72316 fix: remove now redundant "used_account_settings" and "entered_account_settings" from Context.get_info() (#7587)
follow up to https://github.com/chatmail/core/pull/7583
2025-12-13 21:21:55 +00:00
Simon Laux 8dfa5fc37e api: add blob dir size to storage info (#7605)
closes #7598
2025-12-12 20:15:12 +00:00
Simon Laux 595258ae05 fix add multi-transport information to Context.get_info (#7583)
This adds information of all used transports to `Context.get_info` in
the key `used_transport_settings`.

The format is the same as in `used_account_settings`. The new property
also contains the primary account, so we could remove
`used_account_settings` now, though there is also
`entered_account_settings` in which it stays in relation.

- there is an alternative pr at
https://github.com/chatmail/core/pull/7584, which gives each transport
it's own key, which improves readability.

closes #7581
2025-12-09 13:44:55 +00:00
Simon Laux 06b2a890da fix: multi-transport: all transports were shown as "inbox" in connectivity view, now they are shown by their hostname (#7582)
closes #7580
2025-12-09 13:42:24 +00:00
Simon Laux 95ed31391d fix: use logging macros instead of emitting event directly, so that it is also logged by tracing (#7459)
The events are needed when you are not using chatmail core from rust, if
you use chatmail core from your rust bot or from tauri, then you likely
already use the rust logging/tracing ecosystem. So it makes sense to use
it instead of listening to the events and logging them yourself.

This pr fixes a few cases where the event was direclty emitted instead
of using the macro and thus was not also automatically logged via
tracing.
2025-12-09 12:17:31 +00:00
Simon Laux 8bce137e06 chore: remove two outdated todo comments (#7550)
remove two small outdated to do comments that are not relevant anymore
(already done or solved differently)
2025-12-02 19:08:24 +00:00
Simon Laux 94d2d8cfd7 feat: add api to get information about diskspace usage of database. (jsonrpc method: get_storage_usage_report_string) (#7486)
new jsonrpc api: `get_storage_usage_report_string(accountId)`
new rust API: `get_storage_usage(&context)`
2025-11-23 15:18:00 +00:00
Simon LauxandHocuri dc4ea1865a fix: set get_max_smtp_rcpt_to for chatmail to the actual limit of 1000 instead of unlimited. (#7432)
adb brought this up in an internal discussion.
With the recent introduction of channels it becomes easier to hit the
limit
and it becomes impossible to send messages to a channel with more than
1000 members, this pr fixes that.

---------

Co-authored-by: Hocuri <hocuri@gmx.de>
2025-11-13 18:36:35 +00:00
Simon Laux b20da3cb0e docs: readme: update language binding section to avoid usage of cffi in new projects (#7380)
Updated language bindings section to reflect deprecation of
`libdeltachat and removed outdated entries.
2025-11-06 13:04:56 +00:00
Simon Laux a3328ea2de api!(jsonrpc): chat_type now contains a variant of a string enum/union. Affected places: FullChat.chat_type, BasicChat.chat_type, ChatListItemFetchResult::ChatListItem.chat_type, Event:: SecurejoinInviterProgress.chat_type and MessageSearchResult.chat_type (#7285)
Actually it will be not as breaking if you used the constants, because
this pr also changes the constants.

closes #7029 

Note that I had to change the constants from enum to namespace, this has
the side effect, that you can no longer also use the constants as types,
you need to instead prefix them with `typeof ` now.
2025-11-06 12:53:48 +00:00
Simon Laux 9bc2aeebb8 feat: show if proxy is enabled in connectivity view (#7359)
closes #7269
2025-10-31 23:53:05 +01:00
Simon Laux b920552fc3 api: jsonrpc: typescript remove unused constants (#7355) 2025-10-28 17:59:32 +01:00
Simon Laux 92c31903c6 api: jsonrpc: add get_push_state to check push notification state (#7356) 2025-10-28 17:58:11 +01:00
Simon Laux 347938a9f9 refactor: jsonrpc rename change casing in names of jsonrpc structs/enums to comply with rust naming conventions. (#7324) 2025-10-21 13:49:16 +02:00
Simon Laux 59fac54f7b test: Add unique offsets to ids generated by TestContext to increase test correctness (#7297)
and fix the mistakes in tests that get discovered by this.

closes #6799
2025-10-19 17:08:23 +00:00
Simon Laux 65b61efb31 build: ignore configuration for the zed editor (#7322) 2025-10-19 17:03:39 +00:00
Simon Laux af58b86b60 refactor: Use variables directly in formatted strings (#7284)
made with `cargo clippy --all --fix` then manually reviewed to ensure
this was the only thing that changed.
2025-10-09 15:26:59 +00:00
Simon Laux 00ae7ce33c add nodejs to nix dev env (#7283)
it is required to build jsonrpc client npm package and for the stdio
server npm package
2025-10-09 14:27:12 +00:00
Simon Laux b82fa19c6f api: rename parameter name in get_webxdc_href to info_msg_id to reduce confusion potential (#6681) 2025-03-19 20:35:42 +01:00
Simon Laux 3b6369a8c8 docs(jsonrpc): update documentation for select_account and get_selected_account_id (#6483)
there are not really unused, desktop uses them

also see #4474
2025-01-27 21:29:28 +00:00
Simon Laux a319c1ea27 feat: add AccountsChanged and AccountsItemChanged events (#6118)
- **feat: add `AccountsChanged` and `AccountsItemChanged` events**
- **emit event and add tests**

closes #6106

TODO:
- [x] test receiving synced config from second device
- [x] bug: investigate how to delay the configuration event until it is
actually configured - because desktop gets the event but still shows
account as if it was unconfigured, maybe event is emitted before the
value is written to the database?
- [x] update node bindings constants
2024-11-25 13:34:33 +00:00
Simon Lauxandiequidoo 9812d5ba75 feat: jsonrpc: add private_tag to Account::Configured Object (#6107)
Co-authored-by: iequidoo <117991069+iequidoo@users.noreply.github.com>
2024-10-24 16:00:27 +00:00
Simon Laux d412887bf4 refactor(@deltachat/stdio-rpc-server): use old school require instead of the experimental json import (#5628)
to get rid of warning. Should also make it possible to use nodejs versions older than 20.11.
2024-06-07 21:34:12 +00:00
Simon Laux 9c2526bbdd fix(@deltachat/stdio-rpc-server): make local non-symlinked installation possible by using absolute paths for local dev version (#5679)
this fixes the local non-symlinked (copied) instalation with `npm i
--install-links=true` possible

I probably need this for flatpak building.
2024-06-07 21:32:57 +00:00
Simon Lauxandiequidoo dd77d32446 fix: log/print exit error of deltachat-rpc-server (#5601)
see also #5599 (this logs that error atleast, but does not fix it yet)

---------

Co-authored-by: iequidoo <117991069+iequidoo@users.noreply.github.com>
2024-05-20 10:47:36 +00:00
Simon Laux a971ad1f85 npm rpc server: fix example (#5580) 2024-05-18 19:58:44 +02:00
Simon Laux 0c7dad961d npm rpc: fix convert_platform.py: 32bit i32 -> ia32 (#5589) 2024-05-17 23:35:50 +02:00
Simon Laux 517cb821fb jsonrpc: add api migrate_account and get_blob_dir (#5584)
closes #5533

adds the functions that were still missing for migration to jsonrpc (the
ones that the cffi already had, so just should be quick to review ;)
2024-05-17 21:33:59 +02:00
Simon Laux ef6c3f8476 fix: rpc npm: fix local desktop development (#5583)
typescript was complaining about missing `@deltachat/jsonrpc-client`
when it wasn't installed locally
2024-05-17 21:28:33 +02:00
Simon Laux d8e98279c4 rpc npm: rename shutdown method to close and add muteStdErr option to mute the stderr output (#5588) 2024-05-17 21:14:38 +02:00
Simon Laux 0ba0bd3d77 fix(@deltachat/stdio-rpc-server): fix version check when deltachat-rpc-server is found in path (#5579) 2024-05-17 11:11:11 +02:00
Simon Laux c349bf8e0c ci(deltachat-rpc-server): fix upload of npm packages to github releases (#5564) 2024-05-14 18:48:34 +00:00
Simon Lauxandlink2xt c375c03d8e stdio jsonrpc server npm package (#5332)
- [x] figgure out how to build the packages (that it installs native
optional package automatically)
- [X] Make the gluecode
- [x] expose both the lowerlevel api that desktop uses (~~send objects
and receive objects~~, getting path of rpc-server is enough)
  - [X] and the higher level api needed for bots (jsonrpc client)
  - [X] typescript types
- [x] automatically pick the right binary from npm or allow getting it
from env var, or give out an error (throw error)
- [x] find out how to dev locally (use local built core in dc desktop) -
there is the question of how to link the typescript client and the task
to add a search in the cargo target folder for a debug build or a
different way, find out some good flow that we can use and document for
dc desktop + locally built core development
- [x] build the packages in ci
- [x] fix that deltachat-rpc-server is not executable

postponed:
- [ ] publish from ci
   - [ ] add key/token to deploy to npm 

Closes #4694

## Related prs
- https://github.com/deltachat-bot/echo/pull/69
- https://github.com/deltachat/deltachat-desktop/pull/3567

---------

Co-authored-by: link2xt <link2xt@testrun.org>
2024-05-11 20:54:11 +02:00
Simon Laux f9465f7512 api: add ChatListChanged and ChatListItemChanged events (#4476) 2024-04-15 22:35:19 +00:00
Simon Laux 5bda4f0c26 update node constants for #5387 (#5429) 2024-04-04 15:31:02 +02:00
Simon Laux 36bb4a7a32 ci: remove artefacts from npm package 2024-03-08 08:08:39 +00:00
Simon Lauxandbjoern 5bb80f94c7 Apply suggestions from code review
Co-authored-by: bjoern <r10s@b44t.com>
2024-01-31 14:04:03 +01:00
Simon Lauxandlink2xt 5cdd5e0564 Apply suggestions from code review
Co-authored-by: link2xt <link2xt@testrun.org>
2024-01-31 14:04:03 +01:00
Simon Lauxandiequidoo 19dce9ddfa api!: jsonrpc: device message api now requires Option<MessageData> instead of String for the message (#5211)
api: jsonrpc: device message api now setting empty device messages to
block adding a message for a specific label

required for https://github.com/deltachat/deltachat-desktop/pull/3639

---------

Co-authored-by: iequidoo <117991069+iequidoo@users.noreply.github.com>
2024-01-25 11:26:11 +01:00
Simon Laux 89c873acd0 changed!: upgrade nodejs version to 18 (#4903) 2023-11-02 01:23:48 +01:00
Simon Laux aa212b2b7e jsonrpc: MessageSearchResult, always include chat_name(not an option anymore), also add author_id and chat_type (#4374)
* jsonrpc: `MessageSearchResult`, always include `chat_name`(not an option anymore), also add `author_id` and `chat_type`

* replace .ok_or_else with anyhow context
2023-05-09 10:22:32 +00:00
Simon Laux a0c51b3c3a fix: jsonrpc: typescript client: fix types of events in event emitter (#4373)
* fix: jsonrpc: typescript client: fix types of events in event emitter

* add ts ignore to remove ts error (when building in ts5)

doing the types right via casting is to complicated IMO and has no real benefit here.
2023-05-09 09:57:49 +00:00
Simon Laux bf958ce6c1 More context for chat and chatlist errors (#3932) 2023-04-25 17:20:26 -04:00
Simon Laux 1b8bfef441 jsonrpc: make event loop in ts client optional (#4347)
* jsonrpc: make event loop in ts client optional

* jsonrpc: ts: fix tests and make specifying `startEventLoop` mandatory

* add changelog entry

* Update CHANGELOG.md
2023-04-24 23:18:55 +02:00
Simon Laux 3453aac27e jsonrpc: ts bindings: update .npmignore (#4119)
to remove files from the npm package that is not needed by end users.

#ignore-changelog
2023-03-02 13:57:17 +01:00
Simon Laux fc019de18c jsonrpc: add get webxdc blob API getWebxdcBlob (#4070)
* jsonrpc: add get webxdc blob API `getWebxdcBlob`

* add info about path

* format
2023-02-27 17:46:13 +00:00
Simon Laux 609fc67f0d fix websocket server & add ci test for building it (#4047)
the axum update broke the websocket server, because yerpc still uses a the old 5.9 version.
So I needed to downgrade the dependency until https://github.com/deltachat/yerpc/pull/35 is merged.

I want to retry the kaiOS client experiment, for this I need a working websocket server binary.
2023-02-19 14:57:00 +01:00
Simon Laux 0de5125de8 jsonrpc: get_messages now returns a map with MessageLoadResult instead of failing completely if one of the requested messages could not be loaded. (#4038)
* jsonrpc: `get_messages` now returns a map with `MessageLoadResult`
instead of failing completely if one of the requested messages could not be loaded.

* add pr number to changelog

* format errors with causes instead of debug output

also for chatlistitemfetchresult
2023-02-15 18:46:34 +00:00
Simon Laux ed24867309 fix verifier-by addr was empty string instead of None (#3961)
fix verifier-by addr was empty string intead of None
2023-01-17 13:06:57 +00:00
Simon Laux 0b07dafe77 add verified-by api to jsonrpc (#3946)
also refactor it so that it is not a static method anymore
(would have resulted in two load-Contact-from-db-calls in jsonrpc)
2023-01-12 16:13:27 +00:00
Simon Laux 07f2e28eca fix: only send contact changed event for recently seen if it is relevant (#3938)
(no events for contacts that are already offline again)

This dramatically speeds up replay after backup import on desktop.
2023-01-09 21:12:33 +00:00
Simon Laux 847611aed4 improve error of node tests (#3928)
remove unused imports
and fail without revealing the token
2023-01-07 23:37:54 +01:00
Simon Laux 087b4289e5 jsonrpc: add fresh message count to the archive-link chatlistitem variant (#3920)
this is a followup to #3918

I went with option "C" from my comment:
https://github.com/deltachat/deltachat-core-rust/pull/3918#issuecomment-1371224339

- Archive link is (still) very different from a normal chat, so most of the options would be empty / not relevant
- avatar path is not needed as desktop renders it differently anyway,
it's not really a chat like saved messages or device messages where it made more sense
for the core to supply the icon, vs. using the svg directly.
- translating the string in the coreas stock-string is more annoying than doing it from the ui, especially when
this special pseudo chat has different rendering anyway so also no need to provide a name property
2023-01-07 00:34:47 +01:00
Simon Laux f20c3e08d4 jsonrpc: show sticker image in quote (#3744)
* jsonrpc: show sticker image in quote

* add pr number to changelog
2022-11-09 16:43:57 +01:00
Simon Laux ae4c7b635d jsonrpc: add miscSaveSticker method (#3743)
* jsonrpc: add `miscSaveSticker` method

* apply suggestions from link2xt
2022-11-09 16:43:34 +01:00
Simon Laux b46d40aa07 use dc fork of tiny emitter (#3741)
* use dc fork of tiny emitter

* add pr number to changelog
2022-11-08 21:22:58 +01:00
Simon Laux 11a6991b5c jsonrpc: ts-client use object instead of array for contextEmitters (#3740)
reason:
the array solution has many empty elements in between accounts in practice,
which is annoying when debugging desktop
2022-11-08 21:22:51 +01:00
Simon Lauxandbjoern 0bb231ad00 jsonrpc: add SystemMessageType to Message and cffi: add missing DC_INFO_ constants (#3707)
* jsonrpc: add `SystemMessageType` to `Message`
and cffi: add missing `DC_INFO_` constants

* Update deltachat-ffi/deltachat.h

Co-authored-by: bjoern <r10s@b44t.com>

* regenerate js constants

Co-authored-by: bjoern <r10s@b44t.com>
2022-11-04 19:48:53 +01:00
Simon Laux a7861c2ea5 fix readme (#3725)
Update README.md
2022-11-02 19:48:37 +01:00
Simon Laux 758ae185ba jsonrpc: change method naming (#3678)
* jsonrpc: change method naming

* re-gen types

* cargo fmt
2022-10-31 15:41:40 +00:00
f60d9a51d4 update bindings section in readme (#3696)
* update bindings section in readme

* Update README.md

Co-authored-by: Floris Bruynooghe <flub@devork.be>

* Update README.md

Co-authored-by: bjoern <r10s@b44t.com>

Co-authored-by: Floris Bruynooghe <flub@devork.be>
Co-authored-by: bjoern <r10s@b44t.com>
2022-10-31 15:12:55 +00:00
Simon Laux 7551c84c4f jsonrpc: move qr/uri type to dedicated file (#3687)
#skip-changelog
2022-10-23 08:41:32 +00:00
Simon Laux cd15a0e966 jsonrpc: typescript client: export constants under C enum, similar to how its exported from deltachat-node (#3681)
* jsonrpc: typescript client: export constants
under `C` enum,
similar to how its exported from `deltachat-node`

* add pr number to changelog

* fix tests

* fix changelog entry position
2022-10-21 17:51:38 +00:00
Simon Laux 427adefb42 jsonrpc: add miscGetStickerFolder and miscGetStickers (#3672)
* jsonrpc: add `miscGetStickerFolder` and `miscGetStickers`

* add pr number to changelog

* refactor

* fix clippy
2022-10-16 14:53:06 +02:00
Simon Laux 36f85a6a5a fix nodejs jsonrpc smoke tests (#3674)
the solution was to ignore events
2022-10-15 23:03:54 +02:00
Simon Laux 137567554d set timeout for node ci tests to 10min (#3675)
* set timeout for node ci tests to 10min

set timeout for node ci tests to 10min for the test step,
macOS takes 12min for the whole workflow with cached core build,
so 10min just for the test step should be plenty.

* don't forget to set the limit on windows, too
2022-10-15 22:58:48 +02:00
Simon Laux 72941e51fc exit node test when it failed (#3673) 2022-10-15 22:23:58 +02:00
Simon Laux 836c016f97 jsonrpc: add getMessageHtml (#3671)
* add getMessageHtml function

* add changelog entry
2022-10-15 20:47:31 +02:00
Simon Laux e8ea9b7127 jsonrpc/events: commit type I forgot to commit (#3670)
commit line I forgot to commit
2022-10-15 20:35:30 +02:00
Simon Laux a384a57979 cffi:jsonrpc: send events (#3662)
* jsonrpc in cffi also sends events now

* add pr id to changelog

* jsonrpc: new format for events and better typescript autocompletion (#3663)

* jsonrpc: new format for events and better typescript autocompletion

* adjust doc comments
2022-10-14 22:46:43 +00:00
Simon Laux 86e1476dee jsonrpc: add viewType to quoted message(MessageQuote type) in Message object type (#3651)
* jsonrpc: add `viewType` to quoted message(`MessageQuote` type) in `Message` object type

* add pr number to changelog
2022-10-13 15:41:54 +00:00
Simon Laux 130bea9e25 jsonrpc: better way to access messagelist (#3652)
remove function `messageListGetMessageIds()`,
it is replaced by `getMessageIds()` and `getMessageListEntries()`
the latter returns a new `MessageListItem` type,
which is the now prefered way of using the message list.
2022-10-10 18:56:59 +00:00
Simon Lauxandjikstra 3fab9e4cec more jsonrpc porting (#3645)
* Port setChatVisbility to jsonrpc

* jsonrpc add functions

- setChatEphemeralTimer
- getChatEphemeralTimer
and changelog

* add pr number to changelog

* jsonrpc: getLocations function

* Port imex() to jsonrpc

* autogenerate types

* jsonrpc: add `getAccountFileSize()`

* jsonrpc: `estimateAutodeleteCount`

* jsonrpc: setStockStrings

* Refactor imex into exportSelfKeys and importSelfKeys

* generate typings

* rustformat

* fix clippy

* update changelog

Co-authored-by: jikstra <jikstra@disroot.org>
2022-10-10 15:14:17 +00:00
Simon Laux 683fc1f081 jsonrpc: add more functions (#3641)
* jsonrpc: add more functions

  - `getChatContacts()`
  - `createGroupChat()`
  - `createBroadcastList()`
  - `setChatName()`
  - `setChatProfileImage()`
  - `downloadFullMessage()`
  - `lookupContactIdByAddr()`
  - `sendVideochatInvitation()`

* jsonrpc: add searchMessages

* jsonrpc add messageIdsToSearchResults function
and `MessageSearchResult` type

* fix return type of message_ids_to_search_results
2022-10-04 14:37:48 +02:00
Simon Laux c661619263 prepare 1.96.0 (#3619)
after commit, on master make sure to:

   git tag -a 1.96.0
   git push origin 1.96.0
   git tag -a py-1.96.0
   git push origin py-1.96.0
2022-10-01 22:16:24 +02:00
Simon Laux b2f7a7bb2e jsonrpc js client: ci upload and new name (#3618)
* jsonrpc js client: ci upload and new name

* Update jsonrpc-client-npm-package.yml

* Update jsonrpc-client-npm-package.yml

* Update jsonrpc-client-npm-package.yml

* change details message

* make sure to generate dist directory
2022-10-01 20:43:45 +02:00
Simon LauxandHocuri 110f56777d implement dclogin scheme (#3541)
* start implementing dclogin scheme

* fix formatting

* add test for usename+extension@host cases

* add test with all advanced options

* add changelog

* jsonrpc api and regenerate node constants

* Update src/qr/dclogin_scheme.rs

Co-authored-by: Hocuri <hocuri@gmx.de>

* apply Hocuris comments from code review

* fix clippy

* Use .eq_ignore_ascii_case()

* rename internal function apply_from_login_qr
to configure_from_login_qr

* fix error message

* cargo fmt

* remove test todo comment

Co-authored-by: Hocuri <hocuri@gmx.de>
2022-09-29 18:32:17 +02:00
Simon Laux 37c6001b6c jsonrpc: add chat_get_neighboring_media function (#3610)
* jsonrpc: add `chat_get_neighboring_media` function

* add number to changelog
2022-09-27 12:42:32 +02:00
Simon Laux 9a9c91e591 add method for desktop to get notification relevant information for a message (#3614)
* add method for desktop to get notification relevant information for a message

* add pr number to changelog

* rename MessageNotificationData to MessageNotificationInfo
2022-09-25 21:29:46 +02:00
Simon Laux c92c6a24a0 jsonrpc: add mailingListAddress property to FullChat (#3607)
* jsonrpc: add `mailingListAddress` property to `FullChat`

* add pr number to changelog
2022-09-19 22:32:34 +02:00
Simon Laux a4357712bf fix changelog entry
was inserted at wrong place
2022-09-17 16:16:35 +02:00
Simon Lauxandlink2xt 62afd3d4c3 truncate incoming messages by lines (#3480)
* truncate incoming messages by lines,
because many linebreaks seem to cause the chat open delay on deltachat-ios

* run cargo fmt

* remove DC_DESIRED_TEXT_LINES_THRESHOLD
and use Strings instead of Cow<str>

* remove usage of clippy::indexing_slicing in truncate_by_lines (#3596)

* adjust comments

* Fix truncate_by_lines tests

* Reword indexing/slicing error

* Remove unnecessary conditional

* Fix a typo in the comment

Co-authored-by: link2xt <link2xt@testrun.org>
2022-09-17 16:15:33 +02:00
Simon Laux 56cd875fbd update node constants, follow up to #3592 (#3593)
update node constants, this was forgotten in #3592
not a big deal as these are generated on building node,
so this is just a simple commit of these files after running `npm run build`
2022-09-12 19:39:41 +02:00