Commit graph

376 commits

Author SHA1 Message Date
fiaxh
420fcb909f Move widget insertion logic from ConversationTitlebar to controller 2020-02-22 03:00:55 +01:00
Alexander Krotov
b9125b7e3e Enable secure_delete PRAGMA on SQLite databases (#370)
It is especially important for OMEMO database, as it stores *ephemeral* keys
2020-02-21 20:49:36 +01:00
fiaxh
a81af020f3 Preserve unchanged conference data (name) in bookmarks
fixes #748
2020-02-20 17:15:51 +01:00
fiaxh
4c953b5882 Only distinguish between typing or not (incoming)
fixes #739
2020-02-20 17:14:37 +01:00
fiaxh
ca264c42ad Correctly set direction in file transfers in MUCs 2020-02-20 16:54:35 +01:00
fiaxh
e17c797afb Don't assume Jingle to be available in MUCs 2020-02-11 16:49:15 +01:00
fiaxh
143212b6c8 Don't process message markers on MUC messages 2020-01-27 17:32:02 +01:00
Marvin W
3b0a27e14b
Fix invalid header creation for date separators 2020-01-22 01:24:14 +01:00
Marvin W
8c5957537c
Fix some compiler warnings 2020-01-22 00:09:06 +01:00
fiaxh
4c3800c688 Deactivate MUC conversations with non-autojoin bookmarks 2020-01-17 20:48:29 +01:00
fiaxh
7f21f898e0 Fix ConversationRow closing if animations are disabled 2020-01-17 20:47:33 +01:00
Marvin W
3fc9bdab05
Correctly display names in groupchat pms
Also show "Me" when no local alias is set instead of JID
2020-01-09 14:28:08 +01:00
fiaxh
b1bbb9f587 Fix auto-joining bookmark without nick 2020-01-08 19:29:22 +01:00
fiaxh
bce709b794 Store MUC passwords in bookmark
fixes #470
2019-12-24 23:31:17 +01:00
fiaxh
33499d076d Only cache fully normalized Jids for reverse lookup 2019-12-24 03:14:11 +01:00
fiaxh
f58119f25e Don't show own typing notifications (other devices)
fixes #669
2019-12-24 01:46:01 +01:00
Marvin W
cf1c7d3af2
Display correct name on outgoing file transfers in groups
Fixes #248, #643
2019-12-23 23:13:27 +01:00
Marvin W
a0a956ee08
Properly check Jids everywhere 2019-12-23 16:58:53 +01:00
fiaxh
1eb01251e8
Don't go through ConnectionManager for initial connection attempt 2019-12-23 16:49:56 +01:00
Marvin W
1bb75f40d2
Add timing to logs, fix issue of silently ignored I/O errors 2019-12-22 19:30:16 +01:00
fiaxh
2938c685a2 Trim ms from local_time when creating messages
Mss are striped when storing in db. Comparing messages with and without ms might lead to wrong orderings. Related: Message duplication in UI when scrolling up.
2019-12-19 15:27:08 +01:00
fiaxh
c3532bdf31 Refactor MAM catchup. Fetch from latest to earliest message. 2019-12-18 20:35:04 +01:00
fiaxh
321c3529f3 Add (partial) support for unique stanza ids (XEP-0359) 2019-12-18 20:35:04 +01:00
Marvin W
bd45fdf1e1
Add version and adjust some cmake 2019-12-18 00:51:49 +01:00
fiaxh
62be692c02 Fix chat marker sending 2019-12-16 17:13:59 +01:00
fiaxh
890b91ce4d Only send new room config if something was changed
fixes #675
2019-12-16 01:41:04 +01:00
fiaxh
1985fe1d7b Don't continue reading after stream was disconnected, make disconnecting async
fixes #636
2019-11-27 20:01:48 +01:00
fiaxh
c4325473fb Don't require window object in notifications
fixes #658
2019-11-26 18:47:30 +01:00
fiaxh
b03da2af60 Check window width and hight before (re)storing them 2019-11-26 18:37:23 +01:00
Wiktor Kwapisiewicz
687ec1a159 Add support for HTTP Upload headers
Some services use Authorization header [0] to pass upload credential
data. This avoids the token being exposed in server logs and is allowed
by XEP-0363 since version 0.5.0.

This change adds support for headers allowed in XEP-0363: Authorization,
Expires and Cookie.

[0]: https://xmpp.org/extensions/xep-0363.html#request
2019-11-19 21:24:28 +01:00
fiaxh
41ada4fcc8 Don't attempt DNS SRV lookups in connection fallback 2019-11-18 22:45:18 +01:00
fiaxh
fcce176b91 Open new connection to send filled-in registration form
fixes #644
2019-11-18 17:02:59 +01:00
fiaxh
05561dd677 Parse presence delivery errors when joining MUC
fixes #224
2019-11-17 17:53:46 +01:00
fiaxh
8f0fe37402 Don't attempt jingle file transfers in MUCs 2019-11-17 17:33:24 +01:00
fiaxh
c032ab00ec Don't send delivery recipts or chat states for own messages
fixes #631
2019-10-22 01:23:08 +02:00
Marvin W
e330e60f83
Base avatars and names on conversation, not JID.
Fixes #598
2019-10-18 16:52:29 +02:00
Marvin W
fcec78ce27
Use log during IBR 2019-10-18 15:03:09 +02:00
Marvin W
2da8fd6881
Fix critical warning in roster manager when account gets offline 2019-10-18 14:31:23 +02:00
Marvin W
7d561ddfab
Allow to run Dino as background service 2019-10-18 14:10:50 +02:00
fiaxh
df3716622a Rework no-open-conversation placeholder 2019-10-01 17:03:24 +02:00
fiaxh
74c29d4df1 Add Bookmarks2 implementation, introduce bookmarks interfaces 2019-09-29 01:53:59 +02:00
fiaxh
1287135ebb Improve conversation unread status detection 2019-09-29 00:47:22 +02:00
Marvin W
e899668213
Add JET support 2019-09-16 23:31:11 +02:00
fiaxh
bd7fde99af fixup Fix some warnings 2019-09-10 19:36:11 +02:00
hrxi
d5d305193c Fix some warnings
Instances of `RegexError` are just asserted as `assert_not_reached` as
they cannot really fail except for allocation failure if the given regex
is valid.
2019-09-10 19:36:11 +02:00
Randy Barlow
48c2e7afa4 Do not mark abstract class contstuctors public
Starting with Vala 0.45.1, it is an error to mark abstract class
constructors public[0,1]. This commit removes three such
declarations.

fixes #609

[0] https://gitlab.gnome.org/GNOME/vala/raw/master/NEWS
[1] https://gitlab.gnome.org/GNOME/vala/issues/766

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
2019-09-01 21:19:09 +02:00
fiaxh
016ab2c19b Fix message type of chat state notification
fixes #607
2019-08-30 17:11:20 +02:00
Marvin W
9f613d5812
Merge pull request #592 from hrxi/gsoc_1
Add SOCKS5 bytestreams and a couple of other fixes
2019-08-29 00:44:59 +02:00
fiaxh
e52a4eacb2 Don't show conversations from account after it was disabled
fixes #277
2019-08-28 13:11:56 +02:00
fiaxh
130965f322 Add incoming mediated invitation support (#162)
Co-authored-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
2019-08-22 16:05:28 +02:00
fiaxh
0521afa3d8 Fix specified size for encrypted file uploads 2019-08-21 22:37:52 +02:00
hrxi
642dac9aa0 Add support for Jingle SOCKS5 bytestreams (XEP-0260) 2019-08-05 20:55:37 +02:00
hrxi
811408fcb5 Fix a warning 2019-08-05 17:17:17 +02:00
hrxi
308d71b703 Close files involved in file transfers explicitly 2019-08-05 17:17:17 +02:00
fiaxh
08a5088c16 Rework encryption enabling logic + UI 2019-08-02 19:20:04 +02:00
fiaxh
9ee9661bf3 Optimizations: Database indices, cache id-Jid instead of id-jid_string, join real_jid on get messages 2019-08-02 18:00:26 +02:00
fiaxh
1853ee8b4f Fix compilation with older valac versions 2019-07-18 03:20:40 +02:00
fiaxh
f0abb8aaf9 Refactor file receive/send interfaces and UI 2019-07-18 02:03:42 +02:00
fiaxh
30353e92d6 Merge branch 'gsoc_0' of https://github.com/hrxi/dino into hrxi-gsoc_0 2019-07-16 21:15:47 +02:00
hrxi
4b6fe6bf7f Address pull requests comments, fix a few TODOs 2019-07-12 01:53:28 +02:00
Marvin W
c32990dff1
Ensure avatars are not loaded multiple times 2019-07-09 15:25:40 +02:00
hrxi
82e7cf4447 Add file receiving via Jingle
This currently follows the same rules as HTTP file download for
accepting files.
2019-07-09 11:21:40 +02:00
hrxi
877c46628f Implement file sending via Jingle
This is still disabled by default until prioritization is implemented;
otherwise this could be preferred to HTTP uploads.

File sending only works via Jingle In-Band-Bytestreams right now, more
transports are going to be implemented.

To test this, uncomment the line with `JingleFileTransfer` in
libdino/src/application.vala.
2019-07-09 11:21:39 +02:00
fiaxh
fa43581ad3 Fix runtime criticals 2019-06-22 00:56:50 +02:00
fiaxh
34f9677c4e
Merge pull request #570 from hrxi/pr_typos
Fix a couple of typos and one network typo
2019-06-06 15:33:35 +02:00
fiaxh
8120203d62 Don't set timeouts on registration connection attempts 2019-06-01 19:03:01 +02:00
fiaxh
dd6c860aed Don't change type of a conversation 2019-06-01 18:55:04 +02:00
fiaxh
5456a85777 Remove invalid MUC avatars 2019-06-01 18:55:04 +02:00
hrxi
c245f7e34a Fix a couple of typos and double imports 2019-06-01 17:13:33 +02:00
fiaxh
6a1f057de2 Fix date separators 2019-05-26 20:20:09 +02:00
fiaxh
e1e36fc98e Fix notifications for servers without MAM using StreamFlag as availability indicator 2019-05-26 20:20:09 +02:00
fiaxh
03f25e1f87 Remove Message.stanza field 2019-05-26 20:20:09 +02:00
fiaxh
32687d731f Revert "Fix notifications for servers without MAM"
This reverts commit 80b946c85c.
2019-05-21 22:10:05 +02:00
fiaxh
d3c6e5c62c Enable sending chat state notifications in private rooms 2019-05-16 11:12:14 -06:00
Rahix
7ff99104d2
Disable notification on file in "mention only" groupchat
Signed-off-by: Rahix <rahix@rahix.de>
2019-05-16 09:02:52 +02:00
Rahix
80b946c85c
Fix notifications for servers without MAM
This commit re-adds the change from 4ad07fe:

    Fix messages never being notified from servers without MAM (#432)

Signed-off-by: Rahix <rahix@rahix.de>
2019-05-16 09:02:37 +02:00
fiaxh
9d19cdbf4e Process read marker from other devices for MUCs to adjust read-up-to state 2019-05-11 20:01:20 +02:00
fiaxh
97c59cb8cd Fix compilation with older pixbuf vapi files 2019-04-27 23:05:27 +02:00
fiaxh
b6799e59bb Remove avatars with missmatch between supposed and actual sha1 hash on load, make loading async 2019-04-24 23:44:00 +02:00
fiaxh
cbe0ff2c1d Don't move opened conversation to the top of the list, scroll along with selected conversation
fixes #544
2019-04-24 23:44:00 +02:00
fiaxh
a960740c3e Ensure image data is kept until avatars are written to file 2019-04-24 23:38:07 +02:00
fiaxh
67dbfdd0b0 Fix received mark for own OMEMO encrypted MUC messages 2019-03-16 01:13:49 +01:00
fiaxh
6f6e4b97cb Use glib log functions 2019-03-15 22:01:34 +01:00
fiaxh
952ac95484 Use regex literals, fixes some compiler warnings 2019-03-14 17:39:31 +01:00
fiaxh
73cb6eaa49 Remove Slack message handling 2019-02-17 17:18:34 +01:00
fiaxh
d27fb963e7 Have ChatInteraction MessageListener (read-up-to) run only for non-empty messages 2019-02-17 17:18:34 +01:00
Thibaut Girka
6ffa82d622 Do not ignore encrypted messages without a body tag
Fixes #473
2019-02-17 16:44:17 +01:00
fiaxh
736522737f Make file read/write async 2019-02-14 00:04:01 +01:00
fiaxh
d668e0158d Fix runtime criticals (and compiler warnings)
fixes #520
2019-02-13 16:14:16 +01:00
fiaxh
5a7ffbc187 Move app menu into window, make conversation details dialog directly accessible, no-CSD option for main window 2019-02-05 11:50:23 -06:00
fiaxh
fc1a9a5712 Improve ping timeouts, add debug output for XmlErrors and ping timeouts 2019-01-02 15:59:56 +01:00
Daniel Gultsch
d8e0ab406c display groups w/o name by list of members
For members-only, non-anonymous groups that do not have a name set we now
show an automatically generated name that is generated from the list of members
(offline, and online). Only the first name (before the first space) is used
to keep the generated name short.

The term *private room* is coined as a short hand for members only&non-anon group
chats.

This commit also uses the offline members list instead of the online member list
to generate avatar tiles (also only in members-only, non-anon groups.)
2018-12-28 13:42:58 +01:00
fiaxh
d0d68f5878 (Partially) Fix messages being displayed wrongly sorted in ConversationSummary due to being compared->equal 2018-12-27 13:00:45 +01:00
fiaxh
7c1d580e17 Fix aesgcm http file up/download bugs 2018-11-27 18:28:28 +01:00
fiaxh
141db9e40a Implement aesgcm encrypted file upload 2018-11-27 15:02:18 +01:00
fiaxh
2208ff9799 Restructure (http) file provider flow: Separate download&get_info, download in provider, move XmppStreamModule into xmpp-vala 2018-11-27 03:38:42 +01:00
fiaxh
d9cbf571b0 Fix muc avatars sometimes not showing split tiles for occupants 2018-11-25 16:00:20 +01:00
fiaxh
22340cb88e Always use Account.hash(equals)_func for HashMap+ArrayList 2018-11-24 14:05:03 -06:00
fiaxh
45d89326b8 Fix TLS error notification wrongly appearing 2018-11-21 18:01:54 -06:00
fiaxh
fa731a4623 Split login jid/password into two steps with checks 2018-11-16 09:29:34 -06:00
Marvin W
214906e1a5
Hide OMEMO messages from untrusted sources 2018-11-10 08:05:54 -06:00
Marvin W
dfb75e2cda
Merge PR #413 "Improvements to the OMEMO plugin" 2018-11-10 08:05:14 -06:00
fiaxh
559bbc5ca3 Fix hide/show correct ContentItems 2018-11-09 17:30:15 +01:00
fiaxh
f60ebc2af6 Use ContentItems for NotificationEvents 2018-11-07 00:17:24 +01:00
fiaxh
3af9faac82 Use ContentItems in ConversationSelector, Chat/Groupchat(Pm)Row -> ConversationRow 2018-11-04 20:19:34 +01:00
codedust
1e54a442ba Display room name in conversation selector and conversation titlebar 2018-11-02 15:14:35 +01:00
PapsOu
4ad07fea47 Fix messages never being notified from servers without MAM (#432)
* Comment a return that stop every notifications to be trigger when an account is not synced

* Do a correct check if MAM capability is available for the message to notify
2018-10-24 17:48:29 +02:00
fiaxh
6b7ef800f5 Use Account's equals_func for Gee.List<Account>
fixes #407
2018-09-21 21:53:53 +02:00
fiaxh
85d194e349 Use Label instead of TextView for message display 2018-09-21 21:53:48 +02:00
fiaxh
9575b192e4 Fix runtime criticals 2018-09-16 14:04:36 +02:00
fiaxh
6d947c42b5 Notification on TLS error/wrong password, log TLS cert issues, don't make account with connection error appear disabled in accounts dialog 2018-09-15 16:19:47 +02:00
fiaxh
79e0aee5fd Fix property with custom get+set to not have a default value (compiler error with vala 0.41)
Fix encryption icon not being shown right away
2018-09-04 13:48:33 +02:00
fiaxh
0f57191bea Fix sent messages sometimes being displayed twice 2018-09-02 14:30:07 +02:00
Marvin W
baa3f99ed7 Initial implementation of SCRAM-SHA-1 2018-09-01 13:20:10 +02:00
fiaxh
0e41fb3294 Add hidden column to content_item table 2018-08-31 16:26:23 +02:00
fiaxh
ecb18afdb5
Merge pull request #415 from bobufa/message-search
Message search
2018-08-31 16:25:51 +02:00
fiaxh
7def6d7ec2 Fix display names for MUCs w/o localpart 2018-08-22 20:29:24 +02:00
fiaxh
4be8c92a2c In-Band Registration 2018-08-22 20:29:24 +02:00
bobufa
f5547076d2 rename content db table -> content_item 2018-08-13 23:48:15 +02:00
bobufa
1d9ce7f471 sort file transfers into correct conversation 2018-08-13 22:39:18 +02:00
bobufa
2992a12f9f fix non-adjacent messages being shown before/after hit 2018-08-13 22:39:18 +02:00
bobufa
c0844bdea4 add suggestions/auto-complete for search filters 2018-08-13 22:39:18 +02:00
bobufa
e376a577b6 improve sidebar UI
- only display messages that are content items
- only display messages for active accounts
- "fix" textview issue
- add empty states (no search, no results)
2018-08-13 22:39:18 +02:00
bobufa
4901b09670 add search filter expressions 2018-08-13 22:39:18 +02:00
bobufa
2e2a9a2390 accumulate conversation content in meta db table 2018-08-13 22:39:07 +02:00
bobufa
61915ca566 initial search logic / display 2018-08-13 22:31:22 +02:00
bobufa
760fd4cb26 load+display later messages when scrolling down 2018-08-13 22:05:04 +02:00
bobufa
443e7ee49d fix local_time field of message and file_transfer being loaded from time db column 2018-08-13 22:05:04 +02:00
bobufa
3ea00446fb refactor conversation item management (accumulate them in libdino) 2018-08-13 22:04:47 +02:00
bobufa
ab0bc7f04d enable fts for the body of messages 2018-08-13 21:55:48 +02:00
Samuel Hand
9d15c464c2 Merge branch 'master' into omemo-muc 2018-08-11 12:27:57 +01:00
Samuel Hand
8ebc2c5dd3 Fix mutual subscription detection 2018-08-10 01:40:20 +01:00
fiaxh
ee5c838a6b Fix MUC messages from others being marked as read 2018-08-06 00:53:59 +02:00
Samuel Hand
0bfab9d1d9 Fix bug where OMEMO not avaiable with a newly added contact 2018-08-05 01:26:36 +01:00
Samuel Hand
ed3b36d0de Merge branch 'master' into omemo-muc 2018-08-04 23:37:55 +01:00
fiaxh
a19f988301 Support MUC avatars 2018-07-31 17:49:10 +02:00
Samuel Hand
3edc72cf6b Merge branch 'master' into omemo-muc 2018-07-30 18:58:04 +01:00
fiaxh
2e5977df96 Fire signal on subscription approval 2018-07-30 00:00:56 +02:00
Marvin W
638d81d67e More cleanup and database modifications 2018-06-26 15:42:02 +01:00
Samuel Hand
40c6835600 Add trust management utilities to the omemo plugin 2018-06-11 07:11:22 +01:00
fiaxh
5425243203 Fix empty display names, fix update contact roster name 2018-05-10 22:17:19 +02:00
fiaxh
c656c7e9c2 small fixes 2018-04-17 22:13:05 +02:00
Thibaut Girka
c712e6ed4a Do not mark messages as read if they are only marked as received 2018-03-22 09:31:23 -06:00
fiaxh
4ccdc1d092 Small connection fixes 2018-03-10 20:01:22 +01:00
fiaxh
c6ff25cc7a Only assume UUID to be unique for one counterpart+account when deduplicating 2018-03-10 20:01:22 +01:00
fiaxh
c8f68678be Recognize own MUC messages from other device 2018-03-10 20:01:22 +01:00
fiaxh
81310dff2e Handle multiple chat state notifications per bare jid
fixes #117
2018-03-10 20:01:22 +01:00
fiaxh
0968da1ff7 Only notify on last MAM message, only if not read
fixes #293
2018-03-06 21:55:31 +01:00
fiaxh
a8ee61b34c Move notification sounds (canberra dependency) into plugin, introduce libdino/NotificationEvents 2018-03-05 15:43:02 +01:00
Rahix
08c8b9c6d6 Implement notification sounds
Add a new setting to toggle notification sounds on or off. Plays the
systems default instant messaging message sound (message-new-instant)
whenever a notification is shown if toggled on.
2018-02-17 21:51:02 +01:00