1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
Commit Graph

3843 Commits

Author SHA1 Message Date
TriKriSta
5aeac56b76 feat: prohibition to remove messages in group chat 2019-07-22 21:16:26 +03:00
TriKriSta
0a9e72020e refactor: edit load history when scrolling 2019-07-22 21:16:26 +03:00
TriKriSta
b807998fe9 refactor: simple edit code 2019-07-22 21:16:26 +03:00
TriKriSta
4c7ecb6024 feat: remove part messages from chat 2019-07-22 21:16:26 +03:00
TriKriSta
c2d5b422b3 feat: edit position chat after load history 2019-07-22 21:16:26 +03:00
TriKriSta
2a9648d12c feat: add action "Go to current date" 2019-07-22 21:16:26 +03:00
TriKriSta
8c4b1e00a1 feat: edit load history in search 2019-07-22 21:16:26 +03:00
TriKriSta
6de1173c17 feat: edit function "Load chat history" 2019-07-22 21:16:26 +03:00
TriKriSta
b705ac8060 feat: load messages from the database after date 2019-07-22 21:16:26 +03:00
TriKriSta
fb2957c5ee feat: load messages from the database before date 2019-07-22 21:16:26 +03:00
jenli669
dbf56581bb
refactor(widget): replace byteCount() with sizeInBytes in Qt 5.13 2019-07-17 00:14:20 +02:00
jenli669
1c94f090c8
refactor(widget): replace qt_mac_set_dock_menu() in widget 2019-07-14 23:52:44 +02:00
jenli669
dfe75fb101
refactor(widget): replace screenGeometry() when using Qt 5.13 2019-07-14 20:10:00 +02:00
jenli669
0ac5386786
refactor(widget): use drawRoundedRect in callconfirmwidget 2019-07-14 12:08:37 +02:00
jenli669
b45ba34be2
refactor(widget): replace fontMetrics.width() when using Qt 5.13 2019-07-14 12:08:21 +02:00
jenli669
fb3f44721e
refactor(AVForm): replace QDesktopWidget::screenCountChanged 2019-07-13 10:27:02 +02:00
jenli669
16452eff0c
refactor(AVForm): replace QDesktopWidget::resized 2019-07-13 10:26:35 +02:00
jenli669
6e71ccfdad
refactor(widget): replace qSort with std::sort in groupchatform 2019-07-13 08:01:39 +02:00
jenli669
ba9d724a17
refactor(widget): make contentDialog use swapItemsAt in Qt 5.13 2019-07-12 19:31:10 +02:00
jenli669
24811d1042
refactor(offlinemsg): replace qSort with std::sort 2019-07-12 08:07:03 +02:00
jenli669
8373e3abf3
refactor(nexus): replace deprecated QSignalMapper with lambda 2019-07-11 23:45:42 +02:00
jenli669
8a0197b37f
refactor(filetransfer): switch to Qt 5.13 compliant methods for OSX 2019-07-11 09:13:42 +02:00
sudden6
033c49aac3
Merge pull request #5738
bodwok (1):
      fix(search): application crash when starting a search
2019-07-03 10:26:44 +02:00
bodwok
77d55d5d7d
fix(search): application crash when starting a search 2019-07-02 12:29:00 +03:00
jenli669
105f9ec401
refactor(widget): remove Widget::getInstance 2019-06-30 10:09:31 +02:00
jenli669
7fca93bde9
refactor(circlewidget): link CircleWidget ContentDialogs using signals 2019-06-30 10:09:30 +02:00
jenli669
adab063a49
refactor(widget): make PrivacyForm use signals for clearAllReceipts() 2019-06-30 10:09:30 +02:00
jenli669
20979744c9
refactor(chatform): make ChatForm use signals for updateFriendActivity 2019-06-30 10:09:30 +02:00
jenli669
cff845ffa7
refactor(widget): make AboutFriendForm use FriendWidget as parent 2019-06-30 10:09:30 +02:00
jenli669
09f37a97f9
refactor(widget): make searchWidget always use signals 2019-06-30 10:09:29 +02:00
jenli669
c28b2604cd
refactor(widget): remove Widget singleton access from GeneralForm 2019-06-30 10:09:29 +02:00
jenli669
e57693fa8f
refactor(widget): stop using getInstance in Widget 2019-06-30 10:09:29 +02:00
jenli669
6d0ae67c9d
refactor(widget): remove Widget singleton in ContentDialog 2019-06-30 10:09:28 +02:00
Anthony Bilinski
33d42c9766
fix(groups): enable AV groups after load
Fix #5509
2019-06-29 16:17:58 -07:00
Anthony Bilinski
e8d48e8788
fix(chatform): add hack to avoid Qt bug on chat show
Fix #5570
2019-06-28 09:42:50 -07:00
Anthony Bilinski
fae9066be6
fix(log): don't attempt to close log file if it failed to open on exit 2019-06-28 02:48:12 -07:00
sudden6
17083b50ba
Merge pull request #5721
jenli669 (1):
      fix(core): correctly relink ui/core when core is changed
2019-06-28 09:02:15 +02:00
sudden6
79c88f2154
Merge pull request #5722
jenli669 (2):
      docs(copyright): update and add copyright info
      docs(copyright): Added copyright to apparmor .qtox files
2019-06-28 09:00:13 +02:00
jenli669
04a9bc46f4
docs(copyright): update and add copyright info
zealously updates and adds qTox copyright information.

Fixes #5713
2019-06-28 01:18:26 +02:00
Anthony Bilinski
7e07025d3c
fix(db): preserve user_version when adding or removing database password 2019-06-27 02:40:40 -07:00
Anthony Bilinski
dafb17b5fa
fix(db): support databases with either SQLCipher 3.x or 4.x defaults
Fix #5451
2019-06-27 02:40:40 -07:00
jenli669
17d5d55259
fix(core): correctly relink ui/core when core is changed
Widget was only connecting the Core to itself during initialization, but the Core instance could change during a restartCore call. This commit will make Widget link the Core to itself when it changes rather than only on initialization.

Fixes #5710
2019-06-26 11:14:20 +02:00
sudden6
a5754ab0bb
Merge pull request #5715
TriKriSta (1):
      fix: check time for get num messages for friend (fix #5714)
2019-06-26 08:57:17 +02:00
TriKriSta
b0f32379d0 fix: check time for get num messages for friend (fix #5714) 2019-06-25 20:44:21 +03:00
jenli669
f1b6df400f
refactor(startup): return early in makeToxPortable logic 2019-06-25 10:18:22 +02:00
jenli669
72b39adb75
refactor(startup): clang-format changes to edited files 2019-06-25 10:18:22 +02:00
jenli669
3ebea3cd4b
refactor(startup): use instance during profile import 2019-06-25 10:18:22 +02:00
jenli669
a7b4a09ccb
refactor(startup): handle autoLogin checkbox with signals 2019-06-25 10:18:20 +02:00
jenli669
8bc6fc9fd8
refactor(startup): condense and rename scanProfiles 2019-06-25 10:17:56 +02:00
jenli669
ac640bb4bd
refactor(startup): extract startup makeToxPortable logic
This facilitates later use without instantiating Settings object during startup
2019-06-25 10:17:53 +02:00
jenli669
68d24eec64
refactor(startup): remove unnecessary arg. passing in loadDatabase 2019-06-25 10:17:14 +02:00
jenli669
a7df4bfddb
refactor(startup): display last used profile when logging out 2019-06-25 10:17:14 +02:00
jenli669
b9876f3342
refactor(startup): check parser args with empty(), not size() 2019-06-25 10:17:14 +02:00
jenli669
ea2510157c
refactor(startup): decouple loginscreen from model 2019-06-25 10:17:07 +02:00
Mick Sayson
ed514d7166 refactor(chatform): Remove message handling logic from gui path
Functional changes
* Offline messages are still sent when the chat log is cleared
* Spinner now does not wait for history to be complete, just a receipt
  from our friend
* Export chat and load chat history are now available in group chats
* Merged save chat log and export chat log
  * Note that we lost the info messages in the process

NonFunctional Changes
* FileTransferWidget slots only called for correct file
* Settings::getEnableGroupChatsColor now embedded in
GenericChatForm::colorizeNames
  * Settings::setEnableGroupChatscolor now emits signal connected to
GenericChatForm::setColorizedNames to keep state in sync
* Chatlog history not reloaded on setPassword()
  * I am pretty sure this had no purpose
* Removed a lot of responsibility from ChatForm
  * History moved to ChatHistory implementation of IChatLog
  * OfflineMsgEngine moved to FriendMessageDispatcher
  * Export chat and load chat history moved to GenericChatLog
    * Backed by IChatLog so can be used generically
  * Message processing moved to FriendMessageDispatcher
  * The action of sending files to coreFile is still handled by
  ChatForm, but displaying of the sent messages is done through IChatLog
  -> GenericChatForm
  * Search moved to ChatHistory/SessionChatLog
  * All insertion of chat log elements should be handled by
  GenericChatForm now
* Removed overlapping responsibilities from GroupChatForm
  * Search and message sending goes through ichatlog/messagedispatcher
  too
  * Lots of search functionality pushed down into IChatLog
* Some of the file logic was moved into Widget. This is mostly to avoid
  scope increase of this PR even further.
* History APIs removed that were no longer used
2019-06-21 11:01:35 -07:00
Mick Sayson
e607e6ecb4 refactor(chatlog): Add a class to manage history through the IChatLog interface 2019-06-21 11:01:35 -07:00
Mick Sayson
71f8220925 refactor(chatlog): Add class to manage underlying chatlog state 2019-06-21 11:01:35 -07:00
Mick Sayson
c779d52aef refactor(messages): Replace QRegExp with QRegularExpression 2019-06-21 11:01:10 -07:00
Mick Sayson
fef89d70f9 fix(messages): Fix broken sanitized name for notifications/alert messages
* Note that this fix will not take effect until the message processor is
hooked up to widget and chatform
2019-06-21 11:01:10 -07:00
Mick Sayson
f0d840002a refactor(messages): Create class to manage sending/receiving group messages from core 2019-06-21 11:01:10 -07:00
Mick Sayson
3fd4ce5952 refactor(core): Remove length parameter from splitMessages
* From the archeology I managed, MAX_GROUP_MESSAGE_LEN was a workaround
for an old toxcore bug. Testing removal of this parameter and replacing it
with tox_max_message_length() seems to work fine.
2019-06-21 11:01:10 -07:00
Mick Sayson
22a4c38bfd refactor(messages): Create class to manage sending/receiving friend messages from core 2019-06-21 11:01:10 -07:00
Diadlo
678fc51c1b refactor: Use model in chatroom widgets 2019-06-19 12:34:08 +03:00
Diadlo
0b9b538601 refactor: Inject DialogsManager in chatrooms 2019-06-19 12:34:06 +03:00
Diadlo
ac36ed8180 refactor: Create interfaces for ContentDialog and ContenDialogManager 2019-06-19 12:34:03 +03:00
Mick Sayson
15b9f9ff54 refactor(strongtype): Add property types to strong types 2019-06-18 13:38:02 -07:00
sudden6
63e903f950
Merge pull request #5695
jenli669 (2):
      fix(group): set default group chat title when provided title is invalid
      fix(group): Condense invalid title handling logic, clang-format
2019-06-18 21:32:14 +02:00
sudden6
0a95f9fc1d
Merge pull request #5698
jenli669 (2):
      fix(group): always retain own name when updating group peer list
      fix(group): fix logic oversight and code style
2019-06-17 23:37:40 +02:00
jenli669
aeddf4822a
fix(group): Condense invalid title handling logic, clang-format
This commit ignores the possibility of invalid length error being thrown
by a title after we've already checked its size the first time. We also
assume that a group chat cannot cease existing while we iterate over the
retrieved groups.
2019-06-15 00:37:02 +02:00
jenli669
a1a3749700
fix(group): fix logic oversight and code style 2019-06-15 00:34:02 +02:00
jenli669
f77a062120
fix(group): set default group chat title when provided title is invalid
Add handling logic for when a group exists but has an invalid title.
Title is created using the first 8 hexadecimals of the group chat id.
2019-06-15 00:15:48 +02:00
jenli669
c772db3baa
fix(group): always retain own name when updating group peer list
Adds special case for updating our own PK in regeneratePeerList
Format according to format-code.sh

Fixes #5686
2019-06-14 23:46:41 +02:00
jenli669
85f90ab221
fix(audio): correctly loop incoming call sound
Reordered audioNotification play/loop calls.
Fixes #5680
2019-06-12 22:59:04 +02:00
Anthony Bilinski
8568a14c93
Merge pull request #5688
Mick Sayson (3):
      feat(offlinemsg): Force offline messages to always be enabled
      refactor(offlinemsg): Decouple OfflineMsgEngine from other components
      feat(offlinemsg): Enable offline messages with no history
2019-06-09 01:37:26 -07:00
sudden6
01a53789be
Merge pull request #5674
Monsterovich (8):
      fix(ui): Improved notifications
      fix(ui): Added option to hide message sender and contents
      fix(ui): minor fix
      fix(ui): don't forget to update UI
      fix(ui): apply requested changes
      fix(ui): revert CMakeLists.txt
      fix(ui): minor fix
      fix(ui): fix 2
2019-05-27 23:46:54 +02:00
Mick Sayson
2283d0c1b0 feat(offlinemsg): Enable offline messages with no history 2019-05-26 15:33:51 -07:00
Mick Sayson
e5016337bb refactor(offlinemsg): Decouple OfflineMsgEngine from other components 2019-05-26 15:33:51 -07:00
Mick Sayson
d934cf372b feat(offlinemsg): Force offline messages to always be enabled 2019-05-26 08:45:42 -07:00
Anthony Bilinski
74828c92e5
fix(settings): apply toxcore settings for encrypted profiles
Fix #5682
2019-05-24 14:37:45 -07:00
Monsterovich
1c02dc2d6b fix(ui): fix 2 2019-05-23 19:49:42 +02:00
Monsterovich
161a773dbb fix(ui): minor fix 2019-05-23 19:42:09 +02:00
Monsterovich
f8b54b39f3 fix(ui): apply requested changes 2019-05-23 15:30:31 +02:00
Monsterovich
84e41303ce fix(ui): don't forget to update UI 2019-05-23 01:42:20 +02:00
Monsterovich
4a6ebff63a fix(ui): minor fix 2019-05-23 00:50:04 +02:00
Monsterovich
3b305dd05a fix(ui): Added option to hide message sender and contents 2019-05-23 00:44:26 +02:00
Monsterovich
1bbe210c25 fix(ui): Improved notifications 2019-05-22 19:48:23 +02:00
sudden6
22362d2940
refactor(audio): Remove Audio singleton
This commit finally removes the Audio singleton and allocates the audio
backend in main.cpp.
2019-05-21 21:05:27 +02:00
Anthony Bilinski
17048c9cc4
feat(ui): add event icons for all statuses
Before we would alternate between status icon and online event icon.
Now each status has its own event version, so status doesn't appear to
alternate between online and the correct status.
2019-05-20 15:45:48 -07:00
Anthony Bilinski
c8b156b3a1
feat(settings): save friend list sorting mode 2019-05-17 10:33:47 -07:00
Anthony Bilinski
08a646e456
refactor(friendlist): deduplicate time category widget logic 2019-05-17 09:09:51 -07:00
Anthony Bilinski
d55332ee0a
fix(activity): change last activity time from QDate to QDateTime
* Allows for strict sorting based on last activity in the future
2019-05-17 09:09:51 -07:00
Anthony Bilinski
ca397aebbf
fix(chatlog): update timestamp when db is slower than ack
* cannot invoke non-slot function
2019-05-17 03:42:01 -07:00
Anthony Bilinski
5f40ed8d8c
fix(friendlist): don't update friend's last activity on every start
Fix #5035
2019-05-16 22:49:49 -07:00
Anthony Bilinski
3f922100af
fix(friendlist): don't skip half of friends when sorting by activity 2019-05-16 17:20:50 -07:00
Anthony Bilinski
316893ace9
test(db): add db schema upgrade test 2019-05-15 13:26:21 -07:00
Anthony Bilinski
87a53fad96
fix(ui): don't duplicate group peer name in tooltip 2019-05-15 12:00:50 -07:00
Anthony Bilinski
b7bd7c6215
refactor(group): move peer tracking logic to Group from GroupChatForm
* increase signal granularity
* reduce state in GroupChatForm
* remove differentiation of "joined" and "online" peers, it doesn't exist in toxcore and can't be tracked reliably in qTox
* add system message when peer name changes, even if due to alias
* add system message when self name changes, for clarity
2019-05-15 12:00:44 -07:00
Anthony Bilinski
ef554496fa
refactor(group): rename class members 2019-05-15 11:54:10 -07:00
Anthony Bilinski
04f1ccda35
fix(group): treat empty peer names like empty friend names, by showing pk
Fix #5660
2019-05-15 11:52:27 -07:00
Anthony Bilinski
08839b7052
refactor(group): remove redundant updatePeer API 2019-05-15 00:13:55 -07:00
Anthony Bilinski
6801298e96
fix(groups): don't add friend alias to groups they aren't in
Fix #5657
2019-05-13 23:58:24 -07:00
Anthony Bilinski
6522988e8c
fix(corefile): cancel file transfer when peer goes offline 2019-05-09 21:42:47 -07:00
Anthony Bilinski
1628d495d1
fix(corefile): handle empty avatar transfer in core 2019-05-09 14:43:30 -07:00
Anthony Bilinski
b1eefc3f23
fix(corefile): include file id in map when sending empty avatar 2019-05-09 14:43:29 -07:00
sudden6
cef773c4f6
fix(AVForm): don't load gain when device not ready
This fixes a problem when the audio backend is not yet ready, but we try
to access it's volume.
2019-05-09 12:39:50 +02:00
Anthony Bilinski
c12605db6d
fix(history): create file_transfers table in upgrade
* bug introduced in refactor 329172321d
2019-05-09 00:19:46 -07:00
Anthony Bilinski
e9f8795197
fix(ui): show empty status as placeholder instead of as status 2019-05-07 14:34:08 -07:00
Anthony Bilinski
329172321d
refactor(history): create db as part of schema upgrade
* update user_version as part of transaction, so that we rollback if update fails and don't increment version
* differentiate between two user_version 0 versions, to avoid the SQL error on new profile creation
* make table creation dependent on user_version, instead of creating tables if not exists every start
2019-05-05 14:52:32 -07:00
sudden6
e7e35642d7
refactor(audio): introduce IAudioSource interface and use it 2019-05-05 12:49:56 +02:00
Anthony Bilinski
2ccb1ec150
fix(history): save name to history for friend invite message
This avoids an extra alias table entry for the empty name. It is not possible to safely heal existing databases, since friend invite message is a normal action message making it hard to change the alias ID used by it, and the alias in the alias table could be used by any other messages if the user's name has ever truely been blank. Just avoid the incorrect alias entry for new chats.
2019-05-01 02:35:32 -07:00
sudden6
a8546fe8cb
refactor: use smart pointer instead of raw pointer 2019-04-26 16:26:57 +02:00
sudden6
47402fae90
refactor: run formatting script 2019-04-25 21:30:19 +02:00
sudden6
5b908184fc
refactor(audio): move audio output to new IAudioSink interface 2019-04-25 21:30:19 +02:00
sudden6
c61fcd1f2b
refactor(audio): create interface for audio sinks and sources 2019-04-25 21:30:19 +02:00
Anthony Bilinski
881aa3083a
fix(status): use enum as UI property instead of untranslated string
Translation of getStatusTitle introduced in 15d72a9610, breaking asset path from string.
2019-04-24 10:35:17 -07:00
Anthony Bilinski
e1876a2691
refactor(status): remove Status::getFromString and Status::getIconPixmap
getFromString is unused and incompatible with translated UI names, getIconPixmap is unused and completely generic.
2019-04-24 10:35:16 -07:00
Anthony Bilinski
dd007877a9
refactor(status): move Status out of Widget 2019-04-24 10:35:15 -07:00
Anthony Bilinski
e1f7edd298
chore(i18n): add pt_BR translation 2019-04-24 09:01:32 -07:00
Anthony Bilinski
0dc46cdc81
fix(ui): fix typo, add plural to translation 2019-04-21 20:06:34 -07:00
Diadlo
15d72a9610
fix: Call 'tr' in place, where text is accessible 2019-04-21 14:42:44 +03:00
sudden6
8e13d96aa6
Merge pull request #5627
TriKriSta (2):
      style: edit styles
      style: edit style for QSplitter
2019-04-20 23:31:03 +02:00
TriKriSta
504b9b2014 style: edit style for QSplitter 2019-04-19 02:04:41 +03:00
TriKriSta
00aac5f152 style: edit styles
add custom themes in AboutFriendForm
edit style for QSpinBox disable
edit palette color for dark theme and etc
2019-04-17 20:31:42 +03:00
Anthony Bilinski
c0fdc42e33
refactor(mime): store ToxPk and GroupId as mimedata 2019-04-16 00:51:35 -07:00
Anthony Bilinski
f7603c294b
refactor(id): use toxPk and groupId instead of core numbers
Allows creating classes for blocked friends which have toxPks but no
core number.
2019-04-16 00:44:16 -07:00
Anthony Bilinski
ec500b6673
refactor(status): add Blocked status, deduplicate status parsing
Blocked status will represent friends who are removed from Toxcore, but who still exist in UI and can be readded to Toxcore at a future time using their public key. Blocked friends are similar to offline friends, but have a different status icon and will be seperated in the friends list.
2019-04-14 13:35:46 -07:00
Anthony Bilinski
0f5ad725d7
fix(groups): fix assert on group invite accept 2019-04-14 05:01:00 -07:00
Anthony Bilinski
df62463e27
fix(widget): fix freeze on showMainGui
Don't use copied uninitialized shadowing Core* in Widget
2019-04-13 20:04:24 -07:00
Anthony Bilinski
97d05f9d67
refactor(id): make ContactId interface, implement GroupId
Precursor for group history, friend blocking
2019-04-13 12:58:25 -07:00
sudden6
229ca307cf
refactor: remove unused functions detected by cppcheck
Note: Some more functions were detected, but this are the ones I'm
pretty sure we don't need.
2019-04-13 11:48:16 +02:00
sudden6
0da72e22d3
refactor: remove dead code 2019-04-13 11:48:12 +02:00
Anthony Bilinski
9b6019390b
refactor(groups): create Group on group join, assert Group exists on callbacks 2019-04-12 09:13:14 -07:00
Anthony Bilinski
63ef6e3ff4
Merge pull request #5613
TriKriSta (1):
      feat: add border for qrcode
2019-04-12 01:49:09 -07:00
TriKriSta
191f89ffa4 feat: add border for qrcode 2019-04-10 23:26:48 +03:00
sudden6
a4ad8c71b8
refactor(core): make CoreFile its own independent class
This paves the way for better testability of Core as well as CoreFile.
2019-04-10 10:28:13 +02:00
sudden6
f03262e98b
refactor(core): remove duplicate code and checks 2019-04-10 10:28:13 +02:00
sudden6
b033b5095b
refactor(core): use mutable keyword instead of smart pointer 2019-04-10 10:28:13 +02:00
sudden6
66f72ee863
refactor(core): remove unused function
This function would always return true for any non destroyed Core
object.
2019-04-10 10:28:12 +02:00
sudden6
93a7fdfe03
refactor(core): cleanup Core public functions 2019-04-10 10:28:09 +02:00
Anthony Bilinski
216766061c
refactor(avatar): split up setAvatar function
Don't convert to QPixMap before saving. Allow for use of file without re-encoding once metadata stripping is available for PNGs.
2019-04-08 23:45:47 -07:00
Anthony Bilinski
dfec934ff0
fix(alias): allow clearing alias from chatformheader
Now has the same logic as FriendWidget. Before clearing the field would result in no change being made, instead of clearing the alias.
2019-04-08 04:42:14 -07:00
TriKriSta
db962690bd style: edit styles for myltiple windows 2019-03-31 19:54:12 +03:00
TriKriSta
d1715500f7 style: use css files for toxId 2019-03-31 17:57:17 +03:00
Anthony Bilinski
bef9d4b773
fix(settings): load personal settings before constructing core
Fix proxy settings not being passed to toxcore, bug present since
8574162949. Not present in any releases.
2019-03-30 02:40:51 -07:00
Anthony Bilinski
e7f523bc9a
refactor(messages): don't use receipt 0 as unsent, simplify class state 2019-03-26 19:28:29 -07:00
Anthony Bilinski
477950737f
fix(UI): update peer label's style after setting audio playing property 2019-03-24 17:41:28 -07:00
Anthony Bilinski
7f802f593e
fix(ui): update UI when leaving group call due to being last member 2019-03-24 17:39:55 -07:00
Anthony Bilinski
ca02dcefaa
Merge pull request #5584
TriKriSta (2):
      style: edit colors for transfer widget
      refactor: delete unused files
2019-03-24 15:14:51 -07:00
sudden6
cd50376c2f
fix(notification): implement review comments 2019-03-24 11:58:10 +01:00
sudden6
4cb00957f3
feat(notify): integrate desktop notifications into settings 2019-03-24 11:58:10 +01:00