Commit graph

292 commits

Author SHA1 Message Date
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
fiaxh
ef40b61734 Small fixes 2018-01-30 17:29:54 +01:00
fiaxh
78de584ad0 Make slack workarounds use in-pipeline 2018-01-28 22:27:50 +01:00
fiaxh
f6db249c92 Only display transferred images, display file names, open in system viewer, include and use pgp embedded file names 2018-01-28 22:00:22 +01:00
fiaxh
bec810e234 Visually highlight mentions in MUCs
fixes #267
2018-01-28 20:32:54 +01:00
fiaxh
57c72d2818 Pipeline for incoming messages in libdino 2018-01-28 13:37:53 +01:00
Marvin W
03a349bfaf Small fixes to MucManager 2018-01-28 00:38:47 +01:00
Marvin W
bbfac91155 Fix certain Slack specific issues (using host-based workarounds) 2018-01-28 00:38:47 +01:00
Marvin W
782ae4c049 Move Jid class to xmpp-vala, partially refactor namespace 2018-01-28 00:38:47 +01:00
linkmauve
0ce28c0b0d Fix typos in comments and variable names (#269)
Thanks `codespell`!
2018-01-10 15:12:54 +01:00
Mathieu Bridon
5557c03be8 Move to GNetworkMonitor (#236)
* Move to GNetworkMonitor

Dino currently talks to NetworkManager over DBus to know the state of
the network.

That doesn't work in a Flatpak sandbox by default though, because
Flatpak filters DBus communications and only allows a very small set of
things to pass (which are known to be safe).

Gio provides an API to know the state of the network (and be notified of
changes via a signal): GNetworkMonitor.

And GNetworkMonitor works both inside a Flatpak sandbox, and in
traditional builds. (in Flatpak it uses what we call a "portal", which
are the clean, safe way to let apps exit their sandbox)

Fixes #235

* Don't check for network connectivity for now

The connectivity check really is the correct thing to do:

* network_available means that the computer has network routes to
  "somewhere". That is, it is connected to a router.
* connectivity.FULL means that the computer can access "the
  Internet". That is, if it is behind a router, that router is
  connected.

As a result, only checking for network_available is not correct.

Unfortunately, NetworkManager tends to wait a long time before checking
for connectivity. As a result, it is possible that a transient network
error leaves NetworkManager thinking that network_available is true but
connectivity!=FULL, and it will wait several minutes before realizing
that the Internet connexion did come back.

During that time, apps checking for connectivity (e.g the whole GNOME
desktop) will think they don't have access to the Internet, while apps
that don't (e.g Firefox) will access the Internet just fine. Users are
understandably confused when that happens.

Removing the check for connectivity is an acceptable trade-off in the
short-term, until this situation is improved on the NetworkManager side.

https://bugzilla.gnome.org/show_bug.cgi?id=792240
2018-01-09 20:39:45 +01:00
David Plassmann
5d6cf9d8d5 Add support for setting a new Affiliation in a muc (#266)
* Added support for setting a new Affiliation in a muc

* small changes

* fix parameter order
2018-01-09 01:06:32 +01:00
fiaxh
a8cc94c188 Show error on invalid TLS certificate 2018-01-04 21:17:56 +01:00
fiaxh
c7c1fb5124 Restore window state (size, maximized, position) 2017-12-31 22:48:14 +01:00
fiaxh
119e7cce4f Place time+encryption+read directly right of name 2017-12-31 22:48:14 +01:00
fiaxh
8cbc4e7f89 Clear chat states on own/contact disconnect
fixes #197
2017-12-30 13:10:06 +01:00
fiaxh
b4bb0912fc Show subscription request in conversation summary 2017-12-30 13:10:06 +01:00
fiaxh
fc0d7feb5a Load messages for conversation view from cache 2017-12-13 21:11:33 +01:00
fiaxh
bbbfdf0551 Match message with previously arrived marker 2017-12-05 15:07:15 +01:00
fiaxh
cee39b0117 Rename resources to have a reverse DNS prefix 2017-12-03 21:43:19 +01:00
fiaxh
f3ca14f2d6 ConversationView: Date separator 2017-12-01 02:28:51 +01:00
fiaxh
9165c4db27 Async service lookup, connect and write 2017-11-23 01:28:29 +01:00
fiaxh
f3063f56b7 ConversationView: Split merged messages when an in-between one is added 2017-11-22 00:32:11 +01:00
Translations
ebf8d7ab01 Update translations 2017-11-18 19:43:59 +01:00
fiaxh
2a514d0969 Fix unit tests using async + read message marker 2017-11-17 17:24:03 +01:00
fiaxh
3f531d6b91 Read+(write) stream async 2017-11-16 17:43:00 +01:00
fiaxh
1d0745177e Replace deprecated function usages 2017-11-16 14:09:30 +01:00
fiaxh
d82194af58 Go offline before quiting application
fixes #141
2017-10-31 17:32:48 +01:00
fiaxh
0102abeec1 Fix warnings 2017-10-31 15:41:45 +01:00
fiaxh
b9df78e449 Move DatabaseError handling into Qlite 2017-10-31 15:41:45 +01:00
fiaxh
d9b91206c0 Keep MUC join dialog open until joined, show errors 2017-10-31 15:41:45 +01:00
fiaxh
7e83529afc Blocking setting in Contact Details 2017-10-31 15:40:42 +01:00
Emmanuel Gil Peyrot
a8d06e634b xmpp-vala: Add support for XEP-0191: Blocking Command 2017-10-31 15:40:42 +01:00
linkmauve
1e1aa704a2 Remove new from struct initialisation, as it is deprecated (#180)
* Remove new from struct initialisation, as it is deprecated.

* Use Map.has_key instead of Map.contains, as it is deprecated.
2017-10-23 16:10:15 +02:00
fiaxh
749edd21b9 Add oob tag to http-upload messages
fixes #166
2017-10-22 18:26:31 +02:00
fiaxh
555187deb9 Offline messages for MUCs
fixes #187
2017-10-22 18:26:31 +02:00
fiaxh
9ea16b6d85 PGP encrypted file transfers 2017-10-22 18:26:31 +02:00
fiaxh
8b43df8ec3 Handle file uploading in libdino & main, have http upload as provider 2017-10-21 23:31:05 +02:00
fiaxh
9d8e1e88ec http-files: max-file-size handling 2017-09-26 17:01:06 +02:00
fiaxh
7430efee57 Change conversation (un)read marking 2017-09-19 23:39:17 +02:00
fiaxh
8fdb38b99b Use GNotification instead of libnotify 2017-09-19 23:39:17 +02:00
fiaxh
d0e86d0a8e small fixes 2017-08-31 23:52:15 +02:00
fiaxh
d2a5287eff Use utc time everywhere 2017-08-31 18:54:38 +02:00
fiaxh
a257b16337 Download & inline display images 2017-08-31 18:54:38 +02:00
Marvin W
7c2023803e
libdino: try to load all plugins found in the respective folders 2017-08-29 22:08:31 +02:00
fiaxh
8bc0d107e7 Plugins providing conversation items for ConversationView 2017-08-28 00:02:59 +02:00
fiaxh
8533ba6450 Handle xmpp ?join and ?message uris 2017-08-25 22:30:03 +02:00
Marvin W
b672df94e8 Use single process, accept xmpp:-URIs as program argument 2017-08-25 22:30:03 +02:00
fiaxh
f9436b63f1 connection: keep-alive pings, act upon connection change (VPN) 2017-08-25 22:30:03 +02:00
fiaxh
a8ba4a3974 "Default" per-contact settings (change UI) 2017-08-25 22:30:03 +02:00
fiaxh
5fcf8e73ef Show nicks in MUCs, real jid in individual occupant menu 2017-08-25 22:29:40 +02:00
fiaxh
51b4f9b204 fixup 4a4b595 2017-08-22 16:36:37 +02:00
fiaxh
4a4b5956c9 Move settings from GSettings to own db 2017-08-22 16:22:56 +02:00
fiaxh
a8aceb1e39 README: Discussion MUC, change url 2017-08-22 16:04:41 +02:00
fiaxh
dff8e08669 MAM fixes
- don't send first request for timestamp -60
- only open conversation for messages within last 24h
- always show latest message in conversation tabs
2017-08-19 00:31:44 +02:00
Marvin W
781d241b93
add plugin api for text commands 2017-08-17 19:56:10 +02:00
Marvin W
5dc460fc1a
libdino: remove dependency to GTK+ (all GTK+ code is in main+plugins) 2017-08-17 19:53:34 +02:00
Marvin W
e44cad1b92
libdino: do not process message twice 2017-08-17 18:58:13 +02:00
fiaxh
bff6885a6b fixup 4aee957 (request history since last known messages) 2017-08-17 01:37:15 +02:00
fiaxh
fb36ea0553 Message Archive Management 2017-08-17 01:26:03 +02:00
fiaxh
a59f728bdd Stream Management 2017-08-14 22:38:12 +02:00
fiaxh
b29d52fdda SRV records for XMPP over TLS 2017-08-11 11:56:37 +02:00
Max Weller
4aee95703d request history since last known messages (#110)
request history since last known messages
when rejoining a room at startup
2017-08-05 12:56:32 +02:00
fiaxh
ea174ab632 Http file upload 2017-08-03 15:59:04 +02:00
fiaxh
3f0089db86 Session establishment 2017-06-21 01:58:09 +02:00
fiaxh
26973c89e3 Set jid handle in ContactDetails, use LabelHybrids more, remove edit from StartConversation 2017-06-17 16:13:23 +02:00
fiaxh
7bbbb738fd Get rid of manual storage objects for delegates 2017-06-13 20:12:40 +02:00
fiaxh
dabc2a8b1d MUC join behaviour + small MUC error changes 2017-06-13 19:51:24 +02:00
fiaxh
e63d59eb34 Muc Invite + Kick 2017-06-11 13:59:24 +02:00
fiaxh
5ba95ef6b7 Conversation details dialog 2017-05-30 22:51:58 +02:00
fiaxh
387433ebb9 Notifications + typing notifications + message marker settings per conversation 2017-05-30 22:33:33 +02:00
fiaxh
142257a544 fixup bcb9690 (Roster versioning) 2017-05-24 17:29:17 +02:00
fiaxh
bcb96909c9 Roster versioning 2017-05-22 01:02:09 +02:00
fiaxh
4247922e8c Member affiliation in occupant list 2017-05-18 23:14:44 +02:00
Marvin W
9728e832b1
qlite/libdino: optimize db access 2017-04-26 21:48:53 +02:00
Marvin W
eddf17c682
cmake/signal-protocol: shared lib, mark_as_advanced and others 2017-04-26 21:48:53 +02:00
fiaxh
3eb9aa0fa7 Sync MUC join/part behaviour with autojoin flag in bookmarks 2017-04-23 14:03:44 +02:00
Marvin W
f95b4f4e09
xmpp-vala/core+libdino: concurrency + nullity improvements 2017-04-18 20:20:41 +02:00
fiaxh
c6ff3387fa Handle conference bookmarks w/o nick 2017-04-17 22:48:43 +02:00
fiaxh
e3b69538ba gettext improvements (more strings, times, plural, de lang) 2017-04-13 14:13:57 +02:00
fiaxh
a37b5ac823 MUC improvements 2017-04-11 21:25:33 +02:00
fiaxh
9bc83539d1 Gettext support 2017-04-10 15:47:21 +02:00
fiaxh
d8881c4b16 Show account status (incl errors) in ManageAccounts.Dialog 2017-04-10 15:47:17 +02:00
fiaxh
d6e742eb61 Application menu fallback button 2017-04-04 19:55:24 +02:00
fiaxh
cb3c896bdb fixup 75e51b5 2017-04-04 16:33:51 +02:00