Changelog for
dino-0.4.1~git91.20240509.8be4f02-927.16.x86_64.rpm :
* Thu May 09 2024 pkgsAATTdino.im- Update to version 0.4.1~git91.20240509.8be4f02:
* AppData/DOAP: Use sentence case for summary.
* Flatpak: Bump runtime version to 46
* AppData: Add brand color
* Add WeakTimeout Pattern to Prevent Leaks
* Calls: Correctly display information in partially encrypted calls
* Annotating with array_null_terminated doesn\'t imply a missing array_length
* Fix message stanza with body changing MUC subject (#1569)
* Remove conversation closing via hover button
* Introduce conversation menu, add close option
* Conversation details dialog: Fix runtime critical
* configure: fix typo (VALACFLAGS) (#1550)
* Fix poor contrast of highlight in search results with dark theme (#1557)
* Add unread indicator
* Enable hyperlinks in topic text to be clicked (#1523)
* Change select contact dialog container to AdwClamp (#1533)
* Fix crash on removing conference not in roster (#1516)
* Conversation details dialog: Fix notification+block icons
* Fix segfault opening conversation details when no XEP-0191 support (#1513)
* Fix http upload for servers without file size limit (#1512)
* main/meson.build:121: fix typo
* rtp plugin doesn\'t depend on GnuTLS
* Start conversation if closed when receiving an audio or video call (#1485)
* Fix crash due to gpg binding issue
* Fix some compiler warnings
* Fix implicit-function-declaration compiler warnings
* meson: Add version detection for some dependencies
* meson: Add RTP options that are also present in the CMakeLists.txt
* meson: Allow enabling/disabling plugins
* meson: Add rtp plugin
* meson: Add omemo plugin
* meson: Add ice plugin
* meson: Add crypto-vala library
* meson: Add notification-sound plugin
* meson: Add openpgp plugin
* meson: Add http-files plugin
* meson: Install more stuff
* Merge `signal-protocol` into `omemo` plugin
* Merge `gpgme-vala` into `openpgp` plugin
* Fix every inclusion of `gpgme_fix.h` getting their own mutex
* conversation details: Fix for libadwaita < 1.4
* Rewrite contact details dialog
* Fix build on some Vala compiler versions
* Fix subscription notification clearing
* fix: Add x node to MUC PM stanza (#1462)
* Fix showing the kick option to owners
* Fix potential crash in video calls
* Fix certificate start time
* Do not send DTLS datagrams to RTP even after handshake
* Ignore non-DTLS data before handshake is complete
* data: Set X-Purism-FormFactor in .desktop file
* Cleanup automatically loaded help overlay
* application: Load help overlay automatically
* main_window: Use AdwApplicationWindow
* Add a keyboard shortcut to show keyboard shortcuts (#1432)
* icons: Refresh some symbolic icons (#1444)
* Fix reactions being made to the wrong message
* Fix chat input for IME
* Fix chat input status having a fixed width requirement
* Fix xml output intendation
* Fix character counting for fallbacks
* Focus ChatInput textbox after selecting emoji
* Code cleanup: Remove left-over usages of mam_earliest_synced
* Fix crash on NS_URI call when own server has no MAM; drop broken mam:1 \"support\"
* Fix empty alias being handled different than none
* Fix call window styling
* Fix Flatpak pipewire socket access
* Fix call window controlls hiding
* Fix video for cameras with rotated image
* Build: Adjust to never build with libsignal-protocol-c
* Fix GitHub CI build-flatpak
* Add Github CI job for Flatpak
* Add Flatpak manifest
* Always export symbols to fix startup on BSDs
* Add CI for the meson build
* First steps of meson support
* Make members of `Plugins.Registry` public instead of internal
* Fix images from another client in our account not being displayed right away
* Check sender of bookmark:1 updates
* Bind soup session lifetime to File provider/sender lifetime
* Fix a crash if a message subnode is not found in a carbon
* FreeDesktopNotifier: Set notification categories
* Remove gspell
* data: Set StartupNotify to true in .desktop file
* Improve database performance while reconnecting and syncing
* Improve history sync
* Fix C binding for gst_video_frame_get_data
* Add missing since to DOAP
* DOAP: Add first supported version for more XEPs
* Update XEPs in DOAP
* New Avatar UI
* Implement XEP-0392: Consistent Color Generation
* Consider stream readable when EOS is reached.
* Fix critical warnings after DTLS-SRTP calls without OMEMO verification
* Fix typing notifications in groupchats
* Fix some memory leaks
* Stop regenerating message menu buttons
* Clear chat input after /command
* Remove spell check setting
* Make the symbolic app icon square
* Settings: Connect to Switch.notify-active instead of to activate
* menu_app: Move preferences to last group
* menu_app: Rename Settings to Preferences
* settings_dialog: Use AdwPreferencesWindow and AdwActionRow
* Prepare for 0.4 release
* Update translations
* Don\'t accept corrections from MUC MAM
* Fix various date/time stamps not updated or wrong time zone
* Fix some form entries not updating properly
* Show \"Me\" instead of bare jid when no local alias is set
* Improve history sync under load
* Fix label attributes updated with delay
* Deduplicate messages before storing in database
* Add priority for and allow cancellation of outgoing stanzas
* Collapse most stream releated errors into IOError
* OMEMO: Make device list public
* Fix placeholder being shown on startup, fix missing vertical line in no-conversations placeholder
* New Date Separator
* Fix reaction display in private MUCs
* Fix critical warning due to tooltip issue
* Fix reading reactions in private groups w/o occupant ids
* Add tooltips to the delivered and read icons (#1341)
* Always display reaction+reply buttons, disable if not possible
* Fix build
* Remove nl_BE from LINGUAS files and appdata file (fixup d0a00e1)
* Remove Dutch (Belgium) translation, fallback to Dutch
* Update translations
* Update appdata file with content_rating, releases, update image tags
* Fix QR code being displayed way too small
* Reactions: Fix fallback bodies being displayed as messages
* Fix reactions from MAM getting attributed to the wrong message
* Fix UI for libadwaita
* Fix scaling image for GTK4
* Small UI fixes for libAdwaita
* Only use Adw.AboutWindow for Adwaita >= 1.2
* Add libadwaita dependency to gitlab CI
* Use Adw.StatusPage instead of custom placeholders
* Improve libadwaita integration
* Change Gtk.Paned to Adw.Leaflet in MainWindow
* Add back button to ConversationTitlebar
* Remove set_window_buttons() from MainWindow
* Use Adw.HeaderBar for CSD header bars
* Convert main window layout to 2 vertical boxes
* Use Adw.Application, make about dialog an Adw.AboutWindow
* Add libadwaita to build system
* MAM: Fix latest range not being stored in db if it contained a duplicate
* Fix pin setting switch displaying
* Fix reply cancelling
* Add debug outputs to summarize_whitespaces_to_space and don\'t assert_not_reached
* Fix crash when removing jid from roster
* Support pinning of conversations (locally)
* Support replies and reactions to files
* Replies: Fix fallback bodies with multi-line quotes
* Reactions: Fix wrong time being stored for outgoing reactions (micro sec teated as milli sec)
* Replies: Fix quoted message not being reset after sending
* Add support for XEP-0461 replies (with fallback)
* Fix compiler warnings
* MAM: Fix processing after range was fetched completely, fix merging of ranges
* Fix connecting to jingle file provider multiple times
* Fix some MAM issues
* Reactions: Fix reactions being differentiated by resource on first displaying
* Fix build with Vala < 0.52
* Parse conference.password from XEP-0402 bookmarks (#1310)
* Clean up log outputs
* HTTP: Make LimitInputStream pollable for better async compatibility
* Automatically select appropriate libsoup version
* Don\'t use splice when handling input streams from libsoup-3
* DTLS: Use ECDSA key
* Fix segfault if reaction message has type normal
* Reactions: Fix xml attribute name
* Reactions: Improve style
* Fix message server_id getting overwritten with null on reconnect
* Don\'t require use of MenuButton.set_child introduced with GTK 4.6
* Add support for reactions
* Rewrite MAM logic and add MUC MAM
* Fix regression with channel join button not getting sensitive
* Small fixes
* Add account dialog: Reenable Next-button activation on enter
* Fix drag and drop uploading
* Fix channel join button not getting sensitive
* Move icons out of scalable/ui/ since it\'s not allowed by icon naming spec
* OMEMO QR code: Switch to paintable, fix css
* Fix crash when calling contact from Conversations (#1259)
* Fix crashes and warning in Join Conference dialog
* Fix crash on call window closing
* RTP: Use gstreamers new VideoFrame.map
* RTP: Use latest gstreamer vapi if vala version older than 0.56.1
* Fix encryption button update and reduce its required GTK version
* GTK4: Don\'t require use of MenuButton.set_child introduced with 4.6
* CMake: Fix version checks
* Move all icons in respective paths
* Disable tooltips for GTK 4.6.4 - 4.6.6
* GTK4: Fix theme blue highlight
* Switch CI to GTK4 dependencies
* Gtk4 bug fixes and improvements
* Improve Gtk4 port
* Video for GTK4
* Port from GTK3 to GTK4
* Support devices with multiple framerate options in get_max_fps (#1224)
* Fix calculation of best camera framerate
* Inhibit idle and suspend during calls (#1233)
* Prepare http-files plugin for libsoup-3 support
* Fix build of tests
* Allow cancellation of file transfers
* Fix Version handling, add function to retrieve short version without git commit
* set a generic MIME type for encrypted file (#1213)
* Fix build on Vala < 0.50 and pre-release Vala versions
* Add XEP implementation status to DOAP
* QR-code: Actually use Uri.join if glib version supports it
* OMEMO QR code: URI-escape the JID
* OMEMO: Make QR code \"scalable\" in accordance with GDK_SCALE
* Qrencode: Break out upsampling into a separate function
* OMEMO: Make QR code fixed-resolution and the quiet zone ISO-conformant
* Fix quote formating to not (partially) expect a space after >
* Update DOAP file
* RTP: clarify codec support warning
* Prepare for 0.3 release
* Update translations
* Fix call participant widget
* Remove call notification if other device accepted/denied
* CIM: Announce accepted method
* Fix build on Debian 10
* Calls: Show invite button quicker
* Calls: Fix OMEMO in group calls
* Calls: Only show invite button when it\'s supported
* Calls: Fix device selector for multi-party calls, allow picking device before call started
* Calls: Use GtkHeaderBar for each participant
* Various call fixes
* RTP: Only display SSRC mismatch warning for GLib versions supporting warning_once
* RTP: Make codec and hardware support compile-time configurable
* Various call fixes
* DTLS: Handle DTLS fingerprint in transport-info before session-accept
* Wording: Use singular in \'No camera/microphone/speaker found\'
* Update translations
* Call Invite Message: Send \'finished\' messages, include reasons
* Calls: Device picker
* Update translations
* Let call notification say if it\'s a group call
* Various call fixes
* Fix quote styling occurring in the middle of a line
* Support direct jingle call invites with call invite messages
* Add support for call invite messages
* Various call UI/UX improvements
* RTP: Use two channels for Opus
* RTP: Add support for G.722
* Use uppercase hex for DTLS fingerprints
* RTP: Restrict number of recaps to save resources
* Revert \"Prevent ChatTextView from increasing in height after text was entered\"
* Apply message quote style prior to urls
* Update translations
* Initialize and use dbus interfaces async
* Update license text (#1186)
* update copyright text to 2022 (#1187)
* RTP: Workaround drawing issues on resolution change
* Remove color from /me name, remove use_markup from sender label
* Small cleanup
* Stop using opacity for text due to side-effects
* RTP: VAAPI seems to not support VBR and low-power mode at the same time
* RTP: Use VP8 wait-for-keyframe only for GStreamer 1.18+
* Prevent ChatTextView from increasing in height after text was entered
* Apply message quote style prior to bold/italic style
* Update PEP native bookmarks to :1 version, fixes
* Only process PEP messages from bare JIDs
* Remove GStreamer dependencies from main
* Imrove file widget menu (fixup 25db512)
* Introduce file widget menu with \"Save as...\" and \"Open\" actions (#1080)
* Stop making superfluous requests when joining a MUC
* Fix circular buttons to actually be round
* Actually return the new list in Presence.Flag.get_resources; fixup c702010
* Display message sender in bold+text color instead of small+colored
* Allow spaces in nick for affiliate command (#1170)
* Replace invalid UTF-8 with U+FFFD
* Create a new list to return in Presence.Flag.get_resources
* Add \'unknown\' encryption state for establishing calls
* Use opacity for \"pending\" and \"edited\" hints
* Escape occupant name and JID in occupants view
* Fix runtime critical on incoming read marker
* Fix delivery error displaying for MUC PMs
* Collect previous counter from failed stream resumption
* Forget previous session on failed stream resumption (#1164)
* Format quotes as preformatted text (#1111)
* Fixes for older valac versions
* Remove unnecessary override from interface method implementation
* Fix build with older Vala compilers
* UI + libdino: Improve MUJI calls from MUC
* xmpp-vala: Fix muji issues when waiting for peer to prepare
* Fix unread counting in new conversations w/o read_up_to_item
* RTP: Disable VP9
* RTP: Improve screen resolution update logic
* DTLS: Use own thread for connection establishment
* Update translations
* RTP: Less log spam
* SRTP: Do not continue processing data after encrypt/decrypt failed RTP: Copy less
* RTP: Correctly handle timestamp after re-enabling a stream
* ICE: Use non-blocking send
* ICE: Run receiver in own thread
* SRTP: Drop unnecessary buffer copy
* Add calls in private MUCs via a MUJI MUC
* fix screenshot dimensions (#1163)
* fix for \"retracted\" call from remote side. (#1160)
* Remove ContentFilters
* Reject non-TLS URLs in HTTP File Upload (#1098)
* Fix auto download if public MUC JID is in roster (#1137)
* Improve call details dialog + small multi-party call fixes
* Optimize encoder for low cpu usage
* Add maximum bitrate and adjust video resolution based on bitrate
* Log probe for decode QOS
* Limit REMB target bitrate to 2x maximum actually seen value
* Display target bitrates in connection details UI
* Fix REMB calculation
* Make elements sync to get proper qos data
* Register local ip address handler for raw udp
* Log when DTLS-SRTP has errors
* ICE: Report transferred bytes for UI
* RTP: Make opus mono-channel
* DTLS: throw exceptions from SRTP
* RTP: Only start gstreamer pipeline once needed
* RTP: Encode with device
* Split payloader off encoder chain
* Improve codec support
* Crop video to match widget ratio
* Fix usage of libsrtp2
* Add (disabled) multi-party call UI
* Add multiparty call support to libdino and xmpp-vala
* Add Jingle Raw UDP Transport Method to xmpp-vala
* Add initial COIN (XEP-0298) implementation to xmpp-vala
* Add MUJI (XEP-0272) implementation to xmpp-vala
* Fix crash when using direct TLS + ALPN
* Update translations
* Display corrected messages with original message time
* Fix compiler warnings (\'passing argument .. from incompatible pointer type\') by passing (non)const argument
* Fix compiler warnings (\'Type `uint8[]\' can not be used for a GLib.Object property\')
* Fix compiler warnings (\'Switch does not handle .. of enum ..\')
* Fix misc compiler warnings
* Fix compiler warnings (\'cast between incompatible function types\') by not connecting closures
* Fix compiler warnings (\'assignment .. from incompatible pointer type\') by returning non-const after_actions in OrderListener
* Fix compiler warnings (\'[GtkChild] fields must be declared as `unowned\'\')
* FileWidgets: Improve mouse enter/leave identification
* Send SOCKS error and close connection when SOCKS5 handshake fails
* Update translations
* Improve call related wording
* Update translations
* Small notification fixes (#1077)
* Fixed name change (#1076)
* Improve logging on jingle file transfer failure
* Fix avatars not changing to greyscale when contact goes offline
* Display message delivery error, color text using theme colors
* Use opacity instead of hard coded color for formatting chars (#1000)
* Unify connection debug messages
* Use own STUN fallback server
* Fix custom emoji picker for gtk >= 3.24.30
* Don\'t keep own reference to GspellTextView/Buffer
* Update DOAP file with A/V related XEPs (#1074)
* Don\'t remove characters after \'#\' in filename
* Fix file traversal issue on incoming file transfers
* Send \'initiator\' in jingle node, send \'creator\' in content node
* RTP: Handle missing rtp pay/depay elements
* Move crypto-vala to shared library
* RTP: Fix GStreamer version check
* Calls: Use vp8depay.wait-for-keyframe only with GStreamer 1.16+
* Calls: Indicate whether OMEMO key is verified
* Support voice processing on GStreamer 0.14
* Use the same DTLS fingerprint in all contents. Display audio+video enc keys in UI if they differ.
* Improve call wording, cleanup
* Fix webcam framerate selection
* Correctly handle missing webrtc-audio-processing
* Echo Cancellation
* Use drop index if exists to help database up-down-grading
* Adjust JMI vs direct calling order
* Improve JMI handling (type=chat, filter message sender)
* Add support for OMEMO call encryption
* Handle non-existant call support
* Video optimizations
* Fix bad syntax in gnutls vapi, add libsrtp2 dependency to CI builds
* ICE: Require libnice 0.1.15 or newer
* Handle DTLS edge-cases
* Handle broken VAPI in older vala
* Update translations
* Fix processing of XEP-0184 delivery receipts
* Fix custom vapi integration
* Fix usage of old libnice versions
* Send JMI retract
* Improve automatic call window resizing
* Improve encryption displaying in calls
* Fix warnings
* GStreamer compat
* Fix dtls pull_timeout_function, fix cyclic references
* Accept additional jingle contents with senders=both (but modify to senders=peer)
* DTLS-SRTP: Wait for setup finish and handle setup=passive
* Display+store call encryption info
* StreamManagement: Fix HashMap potentially being altered while being itterated
* Fix segfault on bad certificate with multiple xmpp records
* Let freedesktop notifications expire
* Set omemo+openpgp database properties to be the same as main db
* Use outgoing JMI if contact has supporting device
* Store limited history of contact resources
* Fix bug in legacy SRTP decryption
* Remove unnecessary debug code
* Migrate to libsrtp2
* Make RTCP-MUX a stream property
* Don\'t reuse PTs for different media types
* Fix cyclic reference in DTLS
* Fix device manager usage for GStreamer 1.16
* Add initial support for DTLS-SRTP
* Fix accounts panel width (#1017)
* Move SRTP implementation into crypto library for reuse
* Mark ICE component as ready even without the event
* Resample audio data for common 48k sample rate
* Make foundation a string
* Add support for SRTP
* Fix regression in FileItem generation
* Don\'t wait for reply on XEP-0199 pongs.
* RTP: Backport gst_caps_copy_nth from GStreamer 1.16
* Adapt github actions for libnice & libgstreamer dependency
* Add UI for audio/video calls
* Add support for unencrypted RTP calls to libdino
* Add RTP implementation as plugin
* Add gstreamer .cmake instructions
* Add initial Jingle Message Initiation (XEP-0353) support
* Add support for Jingle RTP sessions (XEP-0167) to xmpp-vala
* Add libnice-based ICE-UDP implementation as plugin
* Add External Service Discovery (XEP-0215) support
* Add ICE-UDP Jingle transport (XEP-0176) to xmpp-vala
* Improve & refactor Jingle base implementation
* Add libnice and listen for direct connections in Jingle SOCKS5 (#608)
* Make \'Close\' button close AboutDialog (#1018)
* Fix some typos in variable names (#1016)
* CMake: Make STATIC explict where needed
* QLite: Adjust Real for latest vala version
* Adjust ShortcutsWindow + AboutDialog for non-CSD mode
* Escape pango markup in names in GlobalSearch
* Add \'--version\' flag (#1014)
* Switch from travis to github actions
* Update translations
* Add different formating with less contrast for markup strings like
*,_,~ and `. (#883)
* Improve IBR form handling (#990)
* Fix cyclic reference
* Add cache for file transfers
* Reduce use of Widget.destroy()
* Remove unnecessary Soup dependency from OMEMO plugin
* Make spell checking a setting, store language per conversation
* Add libgspell build dependency to travis\' configuration
* Add spell-checking using Gspell
* Ellipsize long titles
* Ignore unrecognized options in ./configure
* Update DOAP file, use BCP 47 language format
* Add support for Direct MUC Invitations (XEP-0249)
* Update translations + DOAP
* More XEPs in the DOAP file (#974)
* Add logo and screenshots to the DOAP file
* Fix segfault on accept_certificate signal (fixup 81a5505)
* Show invalid certificate screen also when registering account
* Allow certificates from unknown CAs from .onion domains
* Set window urgency hint independent of notification setting
* Make db version 18 downgradable
* Use advertized/server/live time for sorting instead of arrival time
* Improve contact description in OMEMO warnings
* Update date separator at midnight
* Handle xmpp URIs opened within Dino with Dino
* Fix notification fallback, fix fdo markup escaping
* Fix wrong actions for MUCs in Freedesktop notifier (#950)
* Refactor Notifications, add freedesktop backend
* Refactor XmppStream, TLS and connection method logic
* Improve entity identity getter
* Fix compiler warnings in WeakMap
* Use WeakMap for message caching
* Add a WeakMap implementation + tests
* Prepare for 0.2.0 release
* Update translations
* Fix incoming muc voice request notification
* Make some strings translatable, update translations
* Improve content_item db table index
* Update translations
* Swedish translations (#936)
* Fix runtime critical when room has no name
* Fix GTK warning when closing Dino
* Fix for older glib versions
* Fix some compiler warnings
* Don\'t crash on MAM id-time hickup
* Fix own message marker marking conversations as read
* Include 128x128 Dino icon as resource
* Service Discovery Module: Clear cached disco info requests when detaching from stream
* Remove code block formating
* Unregister handlers related to displaying messages as pending
* Fix compilation for older vala compilers
* Update translations
* service/database: use WAL mode + safe PRAGMA synchronous setting
* Fix runtime critical
* Fix runtime criticals related to jingle file transfer
* Compatibility with Vala 0.50.0
* Set key size for omemo http file transfers to 256 bits
* Send OMEMO-encrypted messages and files using 12 byte IV
* Fix avatar display in private group chats
* Fix loading more results when scrolling through search results
* Make compatible with older vala compilers
* Display placeholder avatar while loading
* Update translations
* Fix warning when clicking to correct a message
* OMEMO: Don\'t trigger \"Not encrypted to this device\" warning for messages w/o payload
* Improve message resending
* Fix new compiler error (don\'t reference private variable from public one)
* Fix message duplication in MUC PMs
* Cleanup
* Fix initial file encryption displaying
* Don\'t clear MAM id times on stream negotiated
* Implement MUC self ping
* Update translations
* Lazy generate occupant menu list
* Don\'t create a second message object for each typing notification
* Improve stream management queue
* Visually highlight pending messages, improve resending
* Only query entity caps when we need them
* Add queue and resending to stream management
* Fix unread bubbles having wrong color on startup
* dino: Center phone/laptop icon in tooltip (#878)
* Some locales need more than 2 chars for AM/PM, make the buffer a bit larger
* Use strftime() instead DateTime.format(), fixes #875
* Show dark unread counts for notifying conversations, light ones otherwise
* Show bubble containing the number of unread messages in the conversation list (#764)
* Fix messages mistakenly treated as /me command (#872)
* Change test code for older vala compat
* Clean up some image rendering code
* Fix rare 1 byte buffer over-read
* Don\'t strip() at XML layer
* Fix async tests
* Make Travis CI use debian stable in docker
* Do not use GNOME specific setting for 24 hours
* Focus textinput after closing file send dialog
* fixup Fetch avatars only when they are used
* Don\'t offer encryption in MUC PMs
* Recreate avatar database table, fixes unique constraint
* Use sqlite UPSERT
* Fetch avatars only when they are used
* Fix voice request notification
* Show unencryptable/untrusted OMEMO warnings also in MUCs
* Only consider first file if multiple ones are drag and droped
* Fix runtime critical in entity capabilities hashing
* Add image sending via clipboard paste
* Add shortcuts for search (CTRL+F) and file upload (CTRL+U)
* Fix runtime critical
* Fix runtime critical
* Fix cyclic references => let objects be freed
* Code cleanup
* Fix compiler warnings
* Store last read content item for conversations
* Check if server supports uid
* Add missing ellipsis, in line with similar strings (#862)
* Update Catalan translation. (#861)
* Store current resource for sent message (if server didn\'t give us the resource we asked for)
* Fix crash in clear_all_chat_states (it removed an entry from a HashMap while iterating over it)
* Global search: Display dates in local timezone (#855)
* Update translations
* Update translations
* Convert \'<\' back to \'<\' in factors of the XEP-0115 verification string
* Handle incoming own read marker in private MUCs
* ConversationSummaryView: Fix crash when accessing content_item\'s first() or last() if the TreeSet is empty
* Fix nick change in MUC, update bookmark accordingly; remove unused code
* Handle if Items/InfoResult are null
* Prevent dino from sending whitespace only messages (#821)
* xmpp-vala: Use more async
* Fix runtime critical from read marker sending (fixup 3a8fef7)
* Handle entity hash in server features node, make ServiceDiscovery request_info/items async, add caching has_entity_feature
* Remove unused file (fixup 51a2372)
* Exclude valac versions affected by #816 from using fast vapi
* Fix rare issue with incorrect link parsing
* Small fixes to moderation
* Fix mouse hover highlighting the wrong message
* Improve message highlighting logic
* Fix late highlighting of conversation items
* voice handling in moderated groups (#788)
* Add file upload preview
* Remove features from service discovery module when detaching module from stream
* Improve message read markers for MUCs
* Update last_activity before received_file signal to keep UI in sync (#811)
* HTTP-Upload: parsing max-file-size attribute (#809)
* Handle unknown own MUC jid better
* Bump libsignal-protocol-c version to 2.3.3
* Fix FileWidget sometimes showing two states
* Update translations
* Update README.md (#767)
* Shortened sentence, \"use the %s account\" (#807)
* Update translations
* Clean up file widget code
* Fix runtime criticals when showing resource identites on conversation row hover
* Last message correction fixes
* Add keyboard shortcut (up key) to activate last message correction
* Fix unencrypted message warning when switching between encryptions
* Add support for last message correction
* Fix message markup parsing for single characters
* Work-around use after free
* Fix issue rendering messages outside reachable scroll area
* Store entity identity info, use it in conversation list tooltips
* Visually mark unencrypted messages if conversation is encrypted
* Visually mark OMEMO messages from a trusted device as trusted
* Warn about undecrypted and untrusted messages
* Add alternative character sequence for kiss emoji (#784)
* Update time labels in conversation view at the moment they actually change
* Change UI messages for more clarity
* Only create ItemMetaDataHeader and AvatarImage once it is actually displayed
* Move message hover effect into converstion view
* Scale files and images to the available space
* Properly handle variation selector after emoji (even if useless)
* Fix+optimize contact-to-avatar storage and loading
* Fix messages to self being duplicated
* Ellipsize long display names
* Update live whether encryption is possible in MUC (lock icon visible)
* Fix menu button alignment (#765)
* Make message sending async and set unsent on error
* Improve MUC message resending
* Copyright date updated (#759)
* Add smiley translation <3 (#723)
* Add smiley translations for :-
* (#724)
* Move widget insertion logic from ConversationTitlebar to controller
* Rename UnifiedWindow -> MainWindow
* Move UnifiedWindow stack state update logic into controller
* Rename folders/files conversation_summary -> conversation_content_view
* Move ConversationTitlebar into ConversationViewController responsibility
* Move ConversationContentView+ChatInput into ConversationView, handle drag\'n\'drop on ConversationView level
* Allow switching conversations when dragging and dropping
* Basic drag\'n\'drop support on main conversation view (fixes #175)
* Enable secure_delete PRAGMA on SQLite databases (#370)
* Improve code block regex
* Add support for strikethrough styling
* Format fenced code blocks
* Add a tooltip when messages are in WONTSEND state (#550)
* Show /me commands appropriately in last message view (#699)
* Preserve unchanged conference data (name) in bookmarks
* Only distinguish between typing or not (incoming)
* Correctly set direction in file transfers in MUCs
* Update translations
* Don\'t assume Jingle to be available in MUCs
* Update README
* Rename zh_Hans -> zh_CN and zh_Hant -> zh_TW
* Update translations
* Don\'t process message markers on MUC messages
* Fix invalid header creation for date separators
* Fix some compiler warnings
* Have travis use in-tree libsignal (Ubuntu 18.04 is incompatible)
* Enabling display of more compiler warnings and fix some of them
* Use system provided libsignal-protocol-c by default
* Deactivate MUC conversations with non-autojoin bookmarks
* Fix ConversationRow closing if animations are disabled
* Improve log messages for OMEMO sending issues
* Initialize GCrypt on libsignal setup
* Add more non-trailing chars for urls
* Show default file widget if Pixbuf can\'t display Image inline
* Correctly display names in groupchat pms
* Another set of changes to URL detection
* Fix various typing issues in signal bindings
* Don\'t use GObject/properties for JoinResult
* Fix file receival in groupchat pmsx
* Fix auto-joining bookmark without nick
* Fix starting private conversations with MUC members (#690)
* Support smiley->emoji conversion in the middle of the text
* URL linker: count open/close parens, simplify regex
* Don\'t allow newlines in URLs, also clean up on http file transfer detection
* Add --release to ./configure, test via travis
* Improve on URI detection
* Fix issues in ICU usage
* Complete Swedish translation
* Store MUC passwords in bookmark
* Update translations
* Update Catalan translation.
* Only cache fully normalized Jids for reverse lookup
* Don\'t show own typing notifications (other devices)
* Also display groupchat file authorship correctly in sidebar
* Display correct name on outgoing file transfers in groups
* Fix small focus bugs in account wizard
* Use UTS46 instead of IDNA2003
* Properly check Jids everywhere
* Improve account setup success screen
* Don\'t go through ConnectionManager for initial connection attempt
* OMEMO: Improve handling of newly added devices
* Add timing to logs, fix issue of silently ignored I/O errors
* Fix+improve conversation selection when joining channel or starting MUC PM
* !fixup Allow inserting messages into ConversationView with same sort_time as the latest
* Trim ms from local_time when creating messages
* Update translations
* Refactor MAM catchup. Fetch from latest to earliest message.
* Add (partial) support for unique stanza ids (XEP-0359)
* Sync git version generation
* Ensure compatibility with older CMake
* Fixup CMake
* Add version and adjust some cmake
* Use transaction for database migration
* Add shortcuts window
* Update translations
* Fix chat marker sending
* Only send new room config if something was changed
* Omemo contact details dialog: Only show inactive keys Expander if there are any
* Set ALPN info on XMPP connections if GIO >= 2.60
* Don\'t continue reading after stream was disconnected, make disconnecting async
* Don\'t require window object in notifications
* Check window width and hight before (re)storing them
* Could not connect to %s (#605)
* Fix join dialog when having been invited to a MUC
* Remove background transparency of text field (#660)
* Small changes to \"Add support for HTTP Upload headers\"
* Add support for HTTP Upload headers
* Don\'t select all text in entry of message search when opening
* Don\'t display labels of hidden DataForm fields
* Don\'t attempt DNS SRV lookups in connection fallback
* Open new connection to send filled-in registration form
* Parse presence delivery errors when joining MUC
* Parse offline member info from MUC presence
* Fix messages being displayed for the wrong sender: Show avatar on lower message when inserting message between two others
* Don\'t attempt jingle file transfers in MUCs
* Disable fast vapi generation for vala 0.44.10, 0.46.4 and 0.47.1
* Update translations
* Update Catalan translation. (#647)
* Fix reporting failed HTTP upload
* OMEMO: Don\'t set publish options, configure only bundle node instead
* Fix OMEMO file transfer GCM tag
* Fix accept/reject new OMEMO key buttons in current Adwaita theme versions
* Fix segfault in groupchat name generation
* Colapse inactive keys in OMEMO keys dialog
* Don\'t send delivery recipts or chat states for own messages
* Fix wrong size being reported for OMEMO encrypted HTTP file transfers
* Base avatars and names on conversation, not JID.
* Fix some incorrect handling of message styling
* Use log during IBR
* Fix critical warning in roster manager when account gets offline
* Allow to run Dino as background service
* Fix slash commands
* Plugins: Set UI texts in code instead of .ui files to fix translations
* Fix pubsub item listener notifying
* Rework no-open-conversation placeholder
* Fix Jingle transport error
* Add Bookmarks2 implementation, introduce bookmarks interfaces
* Improve conversation unread status detection
* Fix compilation with older gcrypt
* Fix warnings and compilation with older valac
* Add support for JET-OMEMO
* Add JET support
* Add basic crypto-vala
* Distribute window buttons (minimize,maximize,close) after realize and update live
* Deactivate emoji button for gtk < 3.24
* Deactivate spinner in file widget as soon as its not displayed anymore (CPU usage)
* Fix typo alledged -> alleged
* Load images in conversation summary in different thread
* Remove some use_markup usages, put skeleton header into .ui file
* Make TestCase protected for newer vala
* Check roster push authorization
* Fix check of source of MAM message
* Fix check of source of a carbons message
* fixup Fix some warnings
* Fix some warnings
* Add emoji button to chat input
* Include data forms in entity capabilities hash computation
* Do not mark abstract class contstuctors public
* Fix message type of chat state notification
* Update translations
* Don\'t show conversations from account after it was disabled
* Don\'t error on Jingle file transfer hash session-info
* Fix runtime critical
* Add missing \'to\' attribute when sending service-unavailable for an unknown IG get/set NS
* Fix candidate selection for equal priority
* Add and enable newly created (first) account
* Add incoming mediated invitation support (#162)
* Fix specified size for encrypted file uploads
* Fix Jingle connection code when `cancellable` is `null`
* Set OMEMO devicelist + bundle node access model to public
* Update README
* Fix race condition involving `session-terminate`
* Fix compilation
* Fall back to IBB if S5B does not work out
* Send Jingle errors to the right JID
* Fix destination address of IBB error codes
* Use own file type icons
* Forgot to add outgoing Jingle SOCKS5 transfer
* Implement detach
* Factor out the session-terminate handler
* Add support for Jingle SOCKS5 bytestreams (XEP-0260)
* Fix a warning
* Terminate the Jingle session after the file transfer is complete
* Close files involved in file transfers explicitly
* Finish file transfer after receiving enough data
* Fix human_readable in stanza errors
* Fix a couple of delegate copy warnigs
* Add jingle connection for better interfacing with jingle (terminate etc.)
* Rework encryption enabling logic + UI
* Optimizations: Database indices, cache id-Jid instead of id-jid_string, join real_jid on get messages
* Add Travis
* Fix Manage Key dialog string for verified keys (#588)
* Remove broken translations from dino.doap
* Update dino.doap file
* Update the DOAP file to the latest specification
* Fix compilation with older valac versions
* Refactor file receive/send interfaces and UI
* Update DOAP and appdata
* Unroll some async methods in stanza reader
* Do not log long bodies
* Add EmojiChooser (derived from GTK source)
* Address pull requests comments, fix a few TODOs
* qlite: use critical() instead of error() for failed transactions
* Handle ill-prepared avatar image
* Ensure avatars are not loaded multiple times
* Add file receiving via Jingle
* Implement file sending via Jingle
* OMEMO: Add debug logs for incoming bundles
* OMEMO: Rename variables, refactor can_encrypt
* OMEMO code cleanup: Move TrustLevel out of Database
* OMEMO: Move files to fitting subdirectory
* Update translations
* mirror node value on disco request. fixes #258
* Don\'t set urgency hint on new messages on GNOME
* Fix runtime criticals
* Add non-CSD alternative for add chat + join channel
* Hide encryption icon in public MUCs
* Fix time in conversation row
* Send bad-request error for unknown IQ set/gets
* Add a couple of error primitives for easier error handling
* Fix ANSI color removal for XMPP log on non-tty stderrs
* Don\'t set timeouts on registration connection attempts
* Add hover effect on conversation content
* Don\'t change type of a conversation
* Remove invalid MUC avatars
* Fix a typo in the `
` iq answer
* Fix a couple of typos and double imports
* Fix date separators
* signal-protocol: Fix incorrect free()
* Fix notifications for servers without MAM using StreamFlag as availability indicator
* Remove Message.stanza field
* Revert \"Fix notifications for servers without MAM\"
* Check presence for empty show node, assume as online
* Enable sending chat state notifications in private rooms
* Disable notification on file in \"mention only\" groupchat
* Fix notifications for servers without MAM
* Process read marker from other devices for MUCs to adjust read-up-to state
* Fix when /affiliate cmd doesn\'t get enough args (#557)
* Fix compilation with older pixbuf vapi files
* Remove avatars with missmatch between supposed and actual sha1 hash on load, make loading async
* Don\'t move opened conversation to the top of the list, scroll along with selected conversation
* Ensure image data is kept until avatars are written to file
* Order MUC occupants tab completion by most recent message sent
* Forward KeyEvent (and change focus) on key press in conversation view (not chat input)
* Fix segfault in nick completion for non-connected MUCs
* Clean up ConversationTitlebar
* Only use UI data for active converations cycling, clean up ConversationSelector
* Allow to cycle active conversations with Ctrl+(Shift)+Tab Closes #400, Closes #142, related to #145
* Update Polish translation (#542)
* Add headerbar button tooltips, don\'t remove relief
* Update translations
* Fix received mark for own OMEMO encrypted MUC messages
* Use glib log functions
* Fix OMEMO new device notifications appearing in wrong context
* Use regex literals, fixes some compiler warnings
* Entity capabilities: Check c node for ver attribute
* Fix topic displaying issues
* Slight conversation selector design changes
* Wait for account to be persisted before creating omemo_db.identity entry
* Add non-CSD alternative for more windows
* Move GCM tag into per-device-encrypted area to be compatible with current OMEMO version, fixes #514
* Remove deprecated --thread valac option
* Check for eme tag before adding fallback text for empty-body OMEMO messages
* Remove Slack message handling
* Have ChatInteraction MessageListener (read-up-to) run only for non-empty messages
* Add fallback text when a known to be OMEMO-encrypted message failed to decrypt
* Do not ignore encrypted messages without a body tag
* Update Translations
* Make file read/write async
* Fix runtime criticals (and compiler warnings)
* Respect EXIF orientation tag
* Do not use signal_protocol_internal.h
* Add keyboard shortcuts: CTRL+T (Start Conversation), CTRL+G (Join Channel)
* Move app menu into window, make conversation details dialog directly accessible, no-CSD option for main window
* Fix compiler error (From using uint8[].copy())
* Improve FileFilter for avatar selection
* Rewrite OMEMO crypt buffer logic to fix #474
* Spelling: Set up account
* Fix OMEMO decryption if MUC real_jid is not known (because sender is offline)
* Improve ping timeouts, add debug output for XmlErrors and ping timeouts
* Find libqrencode using cmake/pkg-config logic
* Bump libsignal-protocol-c dependency to 2.3.2
* Update Translations
* Check FileTransfer\'s mime_type for null (unknown) when handeling it
* Fix display name: Check localpart (return) for null
* ConversationSelector: Display time \"Yesterday\" after date change
* Improve message markup parsing
* Fix compilation with older versions of valac
* Private MUCs w/o name: Display localparts instead of barejids if name is not known
* display groups w/o name by list of members
* Detect emoji-only messages and display them larger
* (Partially) Fix messages being displayed wrongly sorted in ConversationSummary due to being compared->equal
* Check content_length for null before parsing in http HEAD message response
* support jpeg pep avatars + actually check hash
* only parse vcard hashes from available presence
* Fix aesgcm http file up/download bugs
* Implement aesgcm encrypted file upload
* FileProvider for aesgcm links
* Restructure (http) file provider flow: Separate download&get_info, download in provider, move XmppStreamModule into xmpp-vala
* Fix muc avatars sometimes not showing split tiles for occupants
* Always use Account.hash(equals)_func for HashMap+ArrayList
* ConversationRow: Update nick_label in case of FileItems
* Fix TLS error notification wrongly appearing
* Allow 12 for the size of the IV
* Fix typo in unified window string
* Add a white border around QR-codes
* Split login jid/password into two steps with checks
* Update translations
* Fix Typo
* Spelling, added comma and ending dot.
* Update translations
* Use QR-code icon for OMEMO QR-code button
* Hide OMEMO messages from untrusted sources
* Fix hide/show correct ContentItems
* Use ContentItems for NotificationEvents
* Use ContentItems in ConversationSelector, Chat/Groupchat(Pm)Row -> ConversationRow
* fixup 1e54a44
* Display room name in conversation selector and conversation titlebar
* Fix messages never being notified from servers without MAM (#432)
* Update translations
* Display bold/italic/monospace message formating, improve message-to-markup parsing
* Use Account\'s equals_func for Gee.List
* Use Label instead of TextView for message display
* Fix runtime criticals
* Notification on TLS error/wrong password, log TLS cert issues, don\'t make account with connection error appear disabled in accounts dialog
* Fix presence subscription notification displaying
* Remove newlines from displayed MUC topics
* Update translations
* 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
* Fix parsing of multiple --(enable|disable)-plugin options (#350)
* Fix sent messages sometimes being displayed twice
* Render avatar to image surface
* Initial implementation of SCRAM-SHA-1
* Add `hidden` column to content_item table
* Fix indentation in ./configure script (#351)
* Remove bashisms from ./configure (#353)
* Fix display names for MUCs w/o localpart
* In-Band Registration
* Solve a few compiler warnings
* Properly decrypt messages from MUCs
* rename content db table -> content_item
* sort file transfers into correct conversation
* fix non-adjacent messages being shown before/after hit
* add suggestions/auto-complete for search filters
* fix closing sidebar on click outside
* add button that scrolls to the bottom of the conversation
* fix wrong conversation being prefilled
* fix message filter in conversation view for first message
* filter out messages outside the range of displayed messages
* hide search bar when clicking outside of it, only reset search entry on conversation change
* 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)
* add search filter expressions
* accumulate conversation content in meta db table
* initial search logic / display
* ui: search sidebar initial
* qlite: add basic (outer) join functionality
* load+display later messages when scrolling down
* fix local_time field of message and file_transfer being loaded from time db column
* refactor conversation item management (accumulate them in libdino)
* enable fts for the body of messages
* add support for fts tables to qlite
* Move formatting out of translatable strings in manage_key_dialog
* Change own-notifcation wording and add a default action
* Make the key lists scrollable
* Index consistently with the identity id
* Actually perform the database update when changing blind trust
* Un-dim fingerprint when accepting keys
* Fix OMEMO not working when the database is re-created for an existing account
* Make strings translatable
* Fix mutual subscription detection
* Code cleanup - move long database queries to their own functions and improve variable names
* Make constructors the first function
* Indentation fixes
* Add dependencies to readme
* Show a verification QR code for an accounts own key
* Only send messages to active devices
* Minor UI improvements: use a stack for the key management dialog
* Fix MUC messages from others being marked as read
* pgp: Fix checking wrong variable for null
* Fix bug where OMEMO not avaiable with a newly added contact
* UI update: make the trust management interface more user friendly
* Support MUC avatars
* Fire signal on subscription approval
* Mark messages from rejected and unknown devices
* Fix omemo not being available on first startup
* Code cleanup: create new trust management class
* only allow OMEMO in members only MUCs
* Send OMEMO messages in MUCs to offline members
* Properly check if a MUC is viable for sending OMEMO messages
* QLite: Add OFFSET statement
* Enable encryption in MUCs
* Notify on a new own device
* QLite: Allow to easily fetch a single row from table
* Enable key management for own keys
* More database migration, update defaults and indexes
* Update translations Basque: Aitor Beriain Dutch: Nathan Follens Finnish: mjlapin Flemish: Nathan Follens Italian: Valerio Baldisserotto Luxembourgish: Dennis Fink Norwegian Bokmål: Allan Nordhøy Portugese (Brazil): 5lm31d5 Romanian: Licaon Kter Russian: nvlgit , Alexander Spanish: mgueji
* Add a toggle switch for key management
* Fix a bug where notifications wouldn\'t display upon a new device being added
* More cleanup and database modifications
* Database migration and code cleanup
* Properly handle the case where the recipients device list hasn\'t been fetched
* Don\'t handle error message stanzas as normal messages
* Disable debug mode for the omemo plugin
* Add trust management utilities to the omemo plugin
* Properly handle the case where the recipients device list hasn\'t been fetched
* remove bundle requests so session creation doesn\'t fail
* remove bundle requests so session creation doesn\'t fail
* Update Catalan translation.
* Implement XEP-0380 for the OMEMO and OpenPGP plugins (#359)
* Fix empty display names, fix update contact roster name
* Move chat input to .ui file, fix smiley conversion on enter
* Update translations
* Redesign chat input + move file upload there
* Rename \'start chat\' into \'start conversation\'
* Add an appdata file
* Add image preview to file choosers
* openpgp: Fix invalid iter in key selection dialog
* small fixes
* Find libraries with pkgconfig
* Prefill nick with local alias when joining a non-bookmarked MUC fixes #223
* Update translations
* Do not mark messages as read if they are only marked as received
* Small connection fixes
* Only assume UUID to be unique for one counterpart+account when deduplicating
* Recognize own MUC messages from other device
* Handle multiple chat state notifications per bare jid fixes #117
* Only notify on last MAM message, only if not read fixes #293
* Move notification sounds (canberra dependency) into plugin, introduce libdino/NotificationEvents
* Implement notification sounds
* Use correct host name for TLS when using xmpps
* Add forgotten strings to translations (#282)
* Small fixes
* http-files: Report correct file size for encrypted files (slot request)
* Make slack workarounds use in-pipeline
* Only display transferred images, display file names, open in system viewer, include and use pgp embedded file names
* Visually highlight mentions in MUCs fixes #267
* Pipeline for incoming messages in libdino
* Render avatar on demand
* Small fixes to MucManager
* Fix certain Slack specific issues (using host-based workarounds)
* Move Jid class to xmpp-vala, partially refactor namespace
* Update translations
* Initial Catalan translation. (#279)
* Fix typos in comments and variable names (#269)
* Move to GNetworkMonitor (#236)
* Add support for setting a new Affiliation in a muc (#266)
* Tab completion: Case insensitive, handle spaces
* Show error on invalid TLS certificate
* Small fixes to signal-protocol-c helper functions
* Update translations
* Restore window state (size, maximized, position)
* Place time+encryption+read directly right of name
* Clear chat states on own/contact disconnect fixes #197
* Show subscription request in conversation summary
* Fallback display for all file types
* Load messages for conversation view from cache
* Match message with previously arrived marker
* Repopulate message TextView context menu, include \"Copy URL\" (#219)
* Rename resources to have a reverse DNS prefix
* Use reverse DNS naming for icon, desktop file, DBus service, app ID (#221)
* ConversationView: Date separator
* http-files: async file download
* Update translations
* Reword some strings (#215)
* Fix memory leak
* Async service lookup, connect and write
* Disconnect stanza listeners from pipeline
* ConversationView: Split merged messages when an in-between one is added
* Update translations
* Fix unit tests using async + read message marker
* fixup 3f531d6
* Read+(write) stream async
* Replace deprecated function usages
* small fixes
* small fixes
* Go offline before quiting application fixes #141
* Fix warnings
* Move DatabaseError handling into Qlite
* Keep MUC join dialog open until joined, show errors
* Blocking setting in Contact Details
* xmpp-vala: Add support for XEP-0191: Blocking Command
* fixup 8c0a44e (Added a confirmation dialog before removing an account)
* Added a confirmation dialog before removing an account. Fixes #51
* Added luxembourgish translation
* Remove new from struct initialisation, as it is deprecated (#180)
* Update translations
* Add oob tag to http-upload messages fixes #166
* Directly start chat from xmpp uri if only one account is active fixes #160
* Offline messages for MUCs fixes #187
* Only match full words as mentions for notifications fixes #185
* PGP encrypted file transfers
* Handle file uploading in libdino & main, have http upload as provider
* http-files: max-file-size handling
* small fixes
* Change conversation (un)read marking
* Use GNotification instead of libnotify
* fixup 8944029 (PGP support for MUCs)
* Move encryption menu into ChatInput, PGP support for MUCs
* http files: Accept url put/get urls in both attributes and string content
* Show last message sender in conversation list
* cmake: set _FILE_OFFSET_BITS=64 if required for platform
* Focus selected widgets in the accounts dialog
* small fixes
* Use utc time everywhere
* Download & inline display images
* configure: ignore flags used by dh_make
* main: extend theming capabilities
* support platforms without UTF-8 and use native file picker
* libdino: try to load all plugins found in the respective folders
* xmpp-vala: use encoded value when formatting stanza attributes
* Plugins providing conversation items for ConversationView
* small fixes
* omemo: store and display identity keys of all devices
* qlite: add upsert support
* Handle xmpp ?join and ?message uris
* Improve undo/redo
* Use single process, accept xmpp:-URIs as program argument
* connection: keep-alive pings, act upon connection change (VPN)
* \"Default\" per-contact settings (change UI)
* Show nicks in MUCs, real jid in individual occupant menu
* omemo: handle broken incoming key bundles
* fixup 4a4b595
* xmpp-vala: Improve time parsing
* Move settings from GSettings to own db
* README: Discussion MUC, change url
* Fix some UI issues
* 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
* xmpp-vala: Connection fallback without SRV records