Anthony Bilinski
cd75618e38
refactor(history): rename pending message variables
...
"Sent" to "Delivered", since that's what we're tracking also rename "isOffline"
to "isPending", which is boolean the same, but "isOffline" was opposite of its
correct value before, so boolean reverse the assignment.
2019-10-20 02:34:47 -07:00
Anthony Bilinski
b28dc30061
fix(history): move stuck pending message into broken_messages table
...
Fix #5776
Due to a long standing bug, faux offline message have been able to become stuck
going back years. Because of recent fixes to history loading, faux offline
messages will correctly all be sent on connection, but this causes an issue of
long stuck messages suddenly being delivered to a friend, out of context,
creating a confusing interaction. To work around this, this upgrade moves any
faux offline messages in a chat that are older than the last successfully
delivered message, indicating they were stuck, to a new table,
`broken_messages`, preventing them from ever being sent in the future.
2019-10-20 02:34:47 -07:00
Anthony Bilinski
f72f3f714d
fix(history): handle errors during db upgrade
2019-10-20 02:34:47 -07:00
Anthony Bilinski
dacfcdadac
refactor(history): apply db schema upgrade one version at a time
...
This allows upgrade steps to query the db at the last version and run C++ code
on the results, then do a single transaction to make the upgrade, instead of
all actions of each upgrade step being required to be part of the overall
upgrade transaction.
2019-10-20 02:34:47 -07:00
Mick Sayson
dbef0b7508
fix(offlinemsg): fix offline message dispatching on history load
...
* Fix callback hookup order in ChatHistory
* Add correct call to SessionChatLog to insert an unfinished message
* Fix incorrect logic in parsing History database response
2019-10-20 02:34:47 -07:00
Anthony Bilinski
86b55a0fb0
fix(db): show full sqlite error message
2019-10-20 02:34:46 -07:00
Anthony Bilinski
d98fe85a58
fix(db): prepare and execute queued statements one at a time
...
* Allows for queued preparations to depend on the execution of previous statements
2019-10-20 02:34:46 -07:00
jenli669
b4bc09345c
fix(loginScreen): make loginScreen return values comply with Qt standards
...
This commit makes LoginScreen return QDialog::Rejected (0) and
QDialog::Accepted (1) instead of C standard return values. This should be more
robust with regards to special cases in Qt implementation.
Fixes #5781
2019-10-18 16:24:53 -07:00
Anthony Bilinski
e85d3f522a
fix(icon): use Qt tray icon in all cases, remove platform specific backends
...
qTox added specialized tray icon backends over time to work around bugs with
the default implementation, since then our GTK+2 backend has stopped working,
our appindicator backend was never selected by default by cmake, and
statusnotifier was never selected at SystemTrayIcon construction, leaving us
only ever using the broken GTK+2 backend, or theoretically the Unity backend,
which I didn't see selected on Ubuntu 16.04 Unity. In all other cases we would
fall back to the Qt backend.
Qt icon has improved over time, and our platform specific icons have become
stale, with GTK+2 becoming deprecated and GTK+3 not having a similar feature,
QSystemTrayIcon has been tested on a variety of DEs and works as well or better
in all cases, as shown in the table at
https://github.com/qTox/qTox/issues/5881#issuecomment-541892457
Fix #5881
Fix #5859
2019-10-16 13:27:29 -07:00
Jimi Huotari
c20e1c20e3
refactor(Qt): use 'storeRelaxed()' and 'loadRelaxed()'
...
This fixes build with Qt 5.14 by replacing the deprecated
QAtomic::load() and store() functions with the new ones.
- https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.14&id=79bdc7cf
2019-10-09 23:19:27 -07:00
Jimi Huotari
f9488bf966
refactor(Qt): use 'asprintf' instead of 'sprintf'
...
Deprecated since Qt 5.14.
- https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.14&id=f8f592d5
2019-10-09 23:19:26 -07:00
Jimi Huotari
7f74d41586
refactor(Qt): use 'QLatin1String' instead of 'QLatin1Literal'
...
This is an undocumented Qt 2/3/4 remnant, deprecated in Qt 5.14.
- https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.14&id=3e75c296
- https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.14&id=45373c19
2019-10-09 23:19:26 -07:00
Anthony Bilinski
731a49854a
fix(core): avoid logging which bootstrap node is being connected to
...
Errors are parsed and printed, but which specific node is being connected to
isn't very relevant to any errors that would occur, and the nodes list is
already updated to prune offline nodes based on nodes.tox.chat periodically.
This provides some extra privacy about which connections are being made,
even though the bootstrap nodes are already public.
2019-10-09 23:18:34 -07:00
Anthony Bilinski
b95bac238d
fix(chatlog): update precise selection when chatlog content changes
...
Fix #5769 . Precise selections (within one chatline) need to be invalidated when
the line they are apart of is removed from the chatlog.
2019-09-28 18:00:20 -07:00
Anthony Bilinski
08b2c848e2
refactor(chatlog): use enum class instead of enum to avoid implicit casts
2019-09-28 17:07:06 -07:00
Anthony Bilinski
e4f73011f9
fix(core): don't log critical on every group join
...
It's expected behaviour that the peer is unknown when first joining a group.
Fix #5118
2019-09-17 00:45:17 -07:00
Anthony Bilinski
3d7a872f1a
fix(core): save tox profile when updating group or friend states
...
Makes sure persistent groups are stored in the case of a qTox crash.
2019-09-15 19:04:02 -07:00
Anthony Bilinski
f7a2a7d648
fix(widget): only change group title once
...
Before we were connecting the same signal to the same slot for each group we created.
2019-09-15 19:04:02 -07:00
Anthony Bilinski
602671c9dc
fix(core): don't set core status on connect, just update UI
2019-09-15 19:04:02 -07:00
TriKriSta
bbbbc6aade
fix: hide current date at the top of the chat
2019-09-15 17:31:45 -07:00
Mick Sayson
74d0b47ceb
fix(chatlog): Prepare geometry changes on chatline proxy
...
Closes #5818 . If output of boundingRect() changes for a QGraphicsItem
prepareGeomeotryChange() must be called.
2019-09-13 14:41:10 -07:00
jenli669
bd034e130d
docs(usermanual): Add information about commandline options
2019-09-02 21:05:04 -07:00
jenli669
31fec7488f
feat(proxy): provide commandline tools for proxy settings
2019-09-02 21:05:01 -07:00
sudden6
2ea5030958
fix(widget): don't try to play audio if it's disable
2019-08-30 14:07:19 +02:00
Anthony Bilinski
2bba12175e
fix(chatlog): update multi line selection on chatlog change
...
Fixes crash due to out of bound access. Fixes selection box jumping on history load.
Fix #5769
2019-08-30 03:50:25 -07:00
Anthony Bilinski
badef48c3a
Merge pull request #5777
...
TriKriSta (2):
fix: scroll bar stuck to bottom (fix #5755 )
docs: add comments for functions that load history
2019-08-29 15:09:06 -07:00
Anthony Bilinski
9dd083978e
fix(ipc): handle ipc failure gracefully
...
Allows running qTox inside jails that block IPC.
Fix #5740
2019-08-29 13:55:54 -07:00
TriKriSta
5fc1afbab5
docs: add comments for functions that load history
2019-08-29 21:34:03 +03:00
Anthony Bilinski
64aa3eae4d
fix(history): select only pending history for the requested friend
2019-08-29 10:39:06 -07:00
TriKriSta
38df897e02
fix: scroll bar stuck to bottom ( fix #5755 )
2019-08-28 18:07:55 -07:00
sudden6
909deb0feb
fix: remove reconnect button
...
The button didn't work that well and caused all kinds of issues inside
the code, so I replaced it by a notice that changes to the Advanced
settings only apply after a restart of qTox.
In the process I also removed all code that was exclusively used for
that feature.
We may add it back later when qTox's internal architecture makes it less
cumbersome.
2019-08-28 16:36:09 -07:00
Anthony Bilinski
9819aefc44
fix(chatform): fix stuck spinner on messages not at end of chatform
...
Fix #5763
remove restriction to not update messages not in last slot in chatform,
allowing completed messages to be timestamped at any position. Fixes
stuck spinner in cases where a second message was sent quickly, or an
incoming message was received before the last send message was completed.
2019-08-28 14:46:44 -07:00
TriKriSta
177bf12f11
fix: update workerStb
2019-08-28 14:26:20 -07:00
TriKriSta
6de307e6b9
refactor: optimize load messages during the search
2019-08-28 14:26:14 -07:00
TriKriSta
dbf880078e
feat: save selected search text after scrolling up
2019-08-28 14:26:08 -07:00
TriKriSta
ce570927b1
feat: check chat status before start a search
2019-08-28 14:26:03 -07:00
TriKriSta
acb91ed731
fix: data validation during the search ( fix : #5791 , #5723 )
2019-08-28 14:25:57 -07:00
sudden6
0a30c1b1c0
fix(profile): load settings before starting Core
...
This is a quick fix to load settings before Core is started. Ideally
this would not need to be inside the Profile, but at the moment the
decryption key is not available before starting Core.
2019-08-28 14:25:06 -07:00
sudden6
db802822f3
fix: empty username causes mention on ever message
...
This fixes #2119 and additionally introduces the possibility to mention
users by their public key.
2019-08-26 23:22:17 -07:00
jenli669
74377430ce
feat(login): generate a GUI error when auto login fails
2019-08-26 23:21:40 -07:00
jenli669
e55e50d510
fix(login): show login screen when autologin fails
...
fixes #5781
2019-08-26 23:18:13 -07:00
sudden6
040c6b95ae
fix(chatform): fix a crash when there are no messages to load
2019-08-03 13:13:37 +02:00
jenli669
6c77d57da8
fix(groups): reduce group message size limit by 50
...
This commit fixes errors when sending large group messages stemming from inconsistencies in reported/true max message size in c-toxcore
Fixes #5760
2019-08-03 00:51:33 +02:00
jenli669
9099eea04f
fix(groups): remove logic that blocks parseConferenceSendMessageError
2019-08-03 00:09:05 +02:00
Anthony Bilinski
765fce94b7
fix(group): use valid pointer, allowing source invalidation
...
Fix #5681
2019-07-31 14:19:01 -07:00
bodwok
59a59fdc09
fix(chatform): crash after opening chat in new window
2019-07-29 15:51:45 +03:00
antony-jr
a9a953cf1c
fix(build): add required private slots
2019-07-27 16:49:21 +05:30
antony-jr
d23e4fd709
fix(build): fix ifdefs
2019-07-27 16:49:21 +05:30
antony-jr
f4d9cff7d4
chore(build): format code
2019-07-27 16:49:21 +05:30
antony-jr
5eea8ba27f
feat(build): add the delta updater
2019-07-27 16:49:20 +05:30
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