Marcus Hoffmann
9c5a7c4075
MessageView: Add ToolTip to status message
...
Show the user that this is a status text on hover.
We need to change the status text label width to be it's implicitWidth
(or the maximum width as specified before), otherwise the tooltip is
wildly off-centered.
Signed-off-by: Marcus Hoffmann <bubu@bubu1.eu>
2023-02-21 12:39:43 +01:00
Marcus Hoffmann
6c37f219ba
MessageView: improve styling of presence status
...
Significantly reduce the font size as to visually indicate this is
additional information and not part of the username or message
text. Align the text with the username field besides it.
Signed-off-by: Marcus Hoffmann <bubu@bubu1.eu>
2023-02-21 12:39:43 +01:00
Loren Burkholder
2b8cadaac8
Properly handle images without blurhashes
2023-02-20 19:59:06 -05:00
Loren Burkholder
179c16fd08
Use a single, reversible privacy screen transition
2023-02-20 19:18:05 -05:00
Loren Burkholder
c9e3ad1850
Animate transition to blurhash
2023-02-20 16:35:00 -05:00
Loren Burkholder
66d8a38c80
Blurhash images when the privacy screen is active
2023-02-20 16:35:00 -05:00
Nicolas Werner
5457d67c98
Explicitly set parent for scrollbars to prevent them from showing on some platforms
2023-02-16 00:39:47 +01:00
Nicolas Werner
58f5ba5023
Make scrollbars optional and disabled by default
...
Also add them to the communities sidebar
2023-02-14 22:01:00 +01:00
Alexander Bantyev
ac19c6c92b
Room list: add scrollbar when not collapsed
2023-02-14 22:01:00 +01:00
Loren Burkholder
9297035ba8
Focus text input when quick switcher is closed
...
Fixes #1065
2023-02-14 12:58:28 -05:00
DeepBlueV7.X
009d1a8e2d
Merge pull request #1359 from Nheko-Reborn/encryption_delegate
...
Add a fancy delegate when encryption is enabled
2023-02-14 18:54:43 +01:00
Loren Burkholder
92d9539824
Update resources/qml/delegates/EncryptionEnabled.qml
...
Co-authored-by: DeepBlueV7.X <nicolas.werner@hotmail.de>
2023-02-14 12:44:26 -05:00
Loren Burkholder
905b127a73
Add a generic video icon when there is no thumbnail
2023-02-14 09:16:00 -05:00
Loren Burkholder
1f8777178e
Limit max width of blurb
2023-02-13 20:46:53 -05:00
Loren Burkholder
707af2c11d
Update message
2023-02-13 20:46:53 -05:00
Loren Burkholder
902d4a7eb2
Add a fancy delegate when encryption is enabled
2023-02-13 20:46:53 -05:00
Thulinma
7ffae002a5
Make ImageOverlay set appropriate windowRole again
2023-02-10 18:01:47 +01:00
Nicolas Werner
a0fe13127d
Update translations
2023-02-08 22:45:09 +01:00
Joseph Donofry
720e7fceec
Fix empty list freeze in Completer
2023-02-08 14:19:35 -05:00
Nicolas Werner
ad4ea02547
Add a reduced motion option
...
fixes #1350
2023-02-06 13:56:23 +01:00
q234rty
fa3ea18dcd
Fix some leftover menus from #1319
2023-02-01 02:34:26 +08:00
Malte E
5ed3bfc8f8
add user search to invite dialog ( #1253 )
2023-01-31 16:59:49 +00:00
DeepBlueV7.X
3abb49c4a2
Merge pull request #1319 from Decodetalkers/menuhideonwayland
...
feat: hide all popup menus when press leftbutton on somewhere else
2023-01-28 12:15:54 +01:00
ShootingStarDragons
7d95ac23ce
feat: hide all popup menus when press leftbutton on somewhere else
...
Log: according to the bug on https://bugreports.qt.io/browse/QTBUG-83972 , The menu will always stay if not click one of the item. So I try to make a hack for it, wait qt solve it someday
2023-01-23 20:15:43 +08:00
Nicolas Werner
15d7a2f021
Make code tags preserve whitespace
2023-01-22 17:36:23 +01:00
DeepBlueV7.X
2157ebb614
Merge pull request #1304 from Decodetalkers/imagesave
...
chore: when save file, hide ImageOverlay window
2023-01-22 00:54:44 +01:00
Nicolas Werner
47da48f6f2
Fix creating DMs from pasting an mxid
2023-01-21 21:02:46 +01:00
ShootingStarDragons
abe4f8eb3c
chore: when save file, hide ImageOverlay window
...
Log: on wm like sway, it will cover the whole screen, and I cannot get
the file save dialog, then the program will stay there, I must kill it,
so I think hide it is better, because after, it will be closed
2023-01-20 22:10:22 +08:00
Nicolas Werner
c98231bac1
Make it more obvious that the add reaction button is not an emoji
...
fixes #1301
2023-01-19 06:51:51 +01:00
Nicolas Werner
33e9c80c1b
Fix html in sidebar again
2023-01-18 19:20:32 +01:00
Joseph Donofry
8835040db6
Pause ParticleEmitter when not in use ( #1284 )
...
* Pause ParticleEmitter when not in use
* Use timer instead to pause particle system
2023-01-14 02:23:07 +01:00
Nicolas Werner
0c6a2fb706
Fix white bar above sticker picker
2023-01-12 22:06:30 +01:00
Nicolas Werner
239cfd6735
Fix weirdly big spinner
2023-01-12 20:26:35 +01:00
Nicolas Werner
9b8eb0a412
Fix white bar above emoji picker
2023-01-12 20:13:08 +01:00
Nicolas Werner
2345faf630
Try to fix binding loop in emoji picker
2023-01-12 07:34:17 +01:00
Nicolas Werner
82e5fa1b45
Fix clear button styling
2023-01-07 03:43:39 +01:00
Nicolas Werner
7f6c1136ff
Fix html in usernames
2023-01-07 02:03:04 +01:00
Nicolas Werner
b2ccf766ba
Navigate to space when room is selected
...
fixes #1260
2023-01-07 01:39:08 +01:00
Nicolas Werner
77d2e31ace
Maybe fix text selection in raw message dialog
2023-01-02 18:46:29 +01:00
Nicolas Werner
3a6a905429
A whole new year full of excitement and possibilities!
2023-01-02 04:25:33 +01:00
Joseph Donofry
69c11d4533
Fix send message logic bug introduced with shift+enter setting
2022-12-28 18:51:30 -05:00
Nicolas Werner
f98b289ba2
Show invite reason in the UI (hidden by default)
2022-12-27 01:40:25 +01:00
Joseph Donofry
a2e120a8a3
Add 'clear' button to search bar and implement search indicator via spinner
2022-12-20 16:34:55 -05:00
Nicolas Werner
2a4eac04b9
Fix unread bar size
2022-12-18 05:57:40 +01:00
Nicolas Werner
2ac3be1a18
Fix weird QQC2 crash in alias dialog
...
Backtrace:
Thread 1 "nheko" received signal SIGSEGV, Segmentation fault.
containerWidget (w=w@entry=0x0) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/styles/qstylesheetstyle.cpp:2467
2467 if (const QAbstractScrollArea *sa = qobject_cast<const QAbstractScrollArea *>(w->parentWidget())) {
(gdb) bt
#0 containerWidget(QWidget const*) (w=w@entry=0x0) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/styles/qstylesheetstyle.cpp:2467
#1 0x00007ffff4aa0ad6 in QStyleSheetStyle::drawPrimitive(QStyle::PrimitiveElement, QStyleOption const*, QPainter*, QWidget const*) const (this=0x555559917900, pe=<optimized out>, opt=0x55555ea4b5c0, p=0x7fffffffcfd0, w=0x0) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/styles/qstylesheetstyle.cpp:4452
#2 0x00007fff61d4a86b in KQuickStyleItem::paint(QPainter*) (this=this@entry=0x55555ea4a1e0, painter=painter@entry=0x7fffffffcfd0) at /usr/src/debug/kde-frameworks/qqc2-desktop-style-5.101.0/qqc2-desktop-style-5.101.0/plugin/kquickstyleitem.cpp:1667
#3 0x00007fff61d4b22a in KQuickStyleItem::updatePolish() (this=0x55555ea4a1e0) at /usr/src/debug/kde-frameworks/qqc2-desktop-style-5.101.0/qqc2-desktop-style-5.101.0/plugin/kquickstyleitem.cpp:1928
#4 0x00007ffff57717c2 in QQuickWindowPrivate::polishItems() (this=0x55555ea2e760) at /usr/src/debug/dev-qt/qtdeclarative-5.15.7-r1/qtdeclarative-everywhere-src-5.15.7/src/quick/items/qquickwindow.cpp:393
#5 0x00007ffff570f4ef in QSGThreadedRenderLoop::polishAndSync(QSGThreadedRenderLoop::Window*, bool) (this=this@entry=0x5555598eb770, w=w@entry=0x7fffe000aef0, inExpose=inExpose@entry=true) at /usr/src/debug/dev-qt/qtdeclarative-5.15.7-r1/qtdeclarative-everywhere-src-5.15.7/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1576
#6 0x00007ffff5710a8e in QSGThreadedRenderLoop::handleExposure(QQuickWindow*) (this=0x5555598eb770, window=<optimized out>) at /usr/src/debug/dev-qt/qtdeclarative-5.15.7-r1/qtdeclarative-everywhere-src-5.15.7/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1374
#7 0x00007ffff43d2b45 in QWindow::event(QEvent*) (this=0x7fffe0006eb0, ev=<optimized out>) at /usr/src/debug/dev-qt/qtgui-5.15.7-r1/qtbase-everywhere-src-5.15.7/src/gui/kernel/qwindow.cpp:2450
#8 0x00007ffff49ee481 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x7fffe0006eb0, e=0x7fffffffd460) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qapplication.cpp:3637
#9 0x00007ffff3e2d618 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7fffe0006eb0, event=0x7fffffffd460) at /usr/src/debug/dev-qt/qtcore-5.15.7/qtbase-everywhere-src-5.15.7/src/corelib/kernel/qcoreapplication.cpp:1064
#10 0x00007ffff43c8368 in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) (e=0x55555f648b30) at /usr/src/debug/dev-qt/qtgui-5.15.7-r1/qtbase-everywhere-src-5.15.7/src/gui/kernel/qguiapplication.cpp:3261
#11 0x00007ffff43a55ab in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=flags@entry=...) at /usr/src/debug/dev-qt/qtgui-5.15.7-r1/qtbase-everywhere-src-5.15.7/src/gui/kernel/qwindowsysteminterface.cpp:1169
#12 0x00007fffef102622 in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at /usr/src/debug/dev-qt/qtgui-5.15.7-r1/qtbase-everywhere-src-5.15.7/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:105
#13 0x00007ffff386d030 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#14 0x00007ffff386d2d8 in () at /usr/lib64/libglib-2.0.so.0
#15 0x00007ffff386d36f in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#16 0x00007ffff3e80e55 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5555596a4770, flags=...) at /usr/src/debug/dev-qt/qtcore-5.15.7/qtbase-everywhere-src-5.15.7/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#17 0x00007ffff3e2c00b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffd700, flags=..., flags@entry=...) at /usr/src/debug/dev-qt/qtcore-5.15.7/qtbase-everywhere-src-5.15.7/include/QtCore/../../src/corelib/global/qflags.h:69
#18 0x00007ffff3e344ea in QCoreApplication::exec() () at /usr/src/debug/dev-qt/qtcore-5.15.7/qtbase-everywhere-src-5.15.7/include/QtCore/../../src/corelib/global/qflags.h:121
#19 0x00005555594a5c43 in main(int, char**) (argc=2, argv=0x7fffffffdab8) at /home/nicolas/Dokumente/devel/open-source/nheko/src/main.cpp:401
(gdb) p w
$1 = (const QWidget *) 0x0
2022-12-17 05:50:44 +01:00
Nicolas Werner
6762032c53
Fix copy and paste again
2022-12-14 19:04:08 +01:00
Nicolas Werner
8730586cfd
Focus text field on key press (swallows first though...)
2022-12-13 18:09:34 +01:00
Nicolas Werner
593d08fd2e
Revert "Disable keyboard selection for text by default"
...
This reverts commit 0035c359ce
.
2022-12-13 17:53:48 +01:00
Nicolas Werner
952827d629
Add a button to room the upgraded room in the timeline
2022-12-13 05:08:22 +01:00
Nicolas Werner
0035c359ce
Disable keyboard selection for text by default
2022-12-13 05:08:21 +01:00
Loren Burkholder
fa0c14b846
confetti ( #1243 )
...
* 🎉 (confetti) message support. Thanks @LorenDB !
2022-12-10 10:17:15 -05:00
Nicolas Werner
40a7d58ce1
fix squish
2022-12-07 13:09:41 +01:00
q234rty
93291abfdf
Fix downscale
2022-12-06 01:49:42 +08:00
q234rty
4b8709598b
Fix people icon blurriness
2022-12-06 01:48:06 +08:00
Nicolas Werner
ed889c32fc
Change margins because people nagged me
2022-11-10 00:43:05 +01:00
Nicolas Werner
485babba14
Implement a completer for commands
...
fixes #429
2022-11-09 04:59:06 +01:00
Loren Burkholder
fe02e0dd91
Add room settings in room list
2022-11-07 19:26:42 -05:00
LordMZTE
80270e1f01
Add invert enter key setting
2022-11-04 23:42:35 +01:00
Nicolas Werner
56a4e97296
Make the higlight ring a bit less in your face
2022-11-03 14:45:00 +01:00
Nicolas Werner
40ac55ddd9
Highlight higlight tweaks in the timeline
...
fixes #400
fixes #1136
2022-11-01 23:26:21 +01:00
Nicolas Werner
ee1a219661
Fix search rooms button
2022-11-01 15:11:58 +01:00
foxb612
f3ecef5cd7
Fix UploadBox thumbnail size
2022-10-25 03:22:12 +08:00
Rohit Sutradhar
ac48c33286
VoIP v1 implementation ( #1161 )
...
* Initial commit for VoIP v1 implementation
* Added draft of event handlers for voip methods
* Added event handlers for VoIP events, added rejectCall, added version tracking for call version for V0 and V1 compatibility
* Added call events to the general message pipeline. Modified Call Reject mechanism
* Added message delegates for new events. Modified hidden events. Updated handle events.
* Updated implementation to keep track of calls on other devices
* Fixed linting
* Fixed code warnings
* Fixed minor bugs
* fixed ci
* Added acceptNegotiation method definition when missing gstreamer
* Fixed warnings
* Fixed linting
2022-10-14 13:49:05 +00:00
Nicolas Werner
a4524cd9af
Fix date separator
2022-10-07 11:11:07 +02:00
Nicolas Werner
f2f9359f7f
Add a shortcut for search
2022-10-07 10:04:08 +02:00
Nicolas Werner
f1c1f18f81
Add a slow way to search a room
2022-10-06 22:02:26 +02:00
Nicolas Werner
857d9cf2b6
Basic thread filtering
...
The reply pagination logic is a bit weird rn though.
2022-10-06 16:16:24 +02:00
Nicolas Werner
d70a344a4d
Fix userprofile on roomlist
2022-10-05 17:25:01 +02:00
Nicolas Werner
b205819ba6
Swap thread and edit button
2022-10-04 00:38:59 +02:00
Nicolas Werner
d8993c14e1
Fix raw message dialog
2022-10-04 00:36:57 +02:00
DeepBlueV7.X
5e9eb845ab
Merge pull request #1202 from Nheko-Reborn/grammar
...
Grammar
2022-10-03 21:37:01 +00:00
Nicolas Werner
09babc91d2
Green is not Svg::green
...
fixes #1203
2022-10-01 23:57:44 +02:00
DeepBlueV7.X
f8724fdea8
Merge pull request #1198 from rnhmjoj/pr-green
...
Add green theme color, make "error" configurable
2022-10-01 13:45:26 +00:00
Nicolas Werner
7ec842ba51
Replace some user visible mentions of spaces
2022-10-01 15:20:38 +02:00
Nicolas Werner
30882d4aa9
Fix wrong file urls
2022-10-01 14:47:42 +02:00
rnhmjoj
f5d5bea840
Add green theme color, make "error" configurable
2022-10-01 10:59:17 +02:00
Nicolas Werner
2a7c6f2d86
Load components on demand
2022-10-01 02:28:02 +02:00
Nicolas Werner
570d7b8b30
Prepare for adding proxy before chat.model
2022-10-01 01:53:12 +02:00
Loren Burkholder
df834ffc48
Various grammar fixes (mostly removing commas)
2022-09-30 00:23:39 -04:00
Nicolas Werner
88cbac1695
Basic threading support
2022-09-30 03:27:05 +02:00
Nicolas Werner
051c25d5b8
Allow editing permissions in spaces recursively
2022-09-28 02:09:04 +02:00
Nicolas Werner
ed15d73d36
Allow adding non-existing userids to power levels
2022-09-22 21:24:41 +02:00
Nicolas Werner
421b15c05c
Show the community of a room
2022-09-20 21:26:46 +02:00
Nicolas Werner
fe403ddc70
Rework how access rules for rooms are modified completely
2022-09-19 21:39:37 +02:00
q234rty
15b9dbe98d
Fix "Send by enter" on Windows
...
Apparently on windows `Qt.inputMethod.visible` is always true when an input method is installed. Also on windows even after removing the check enter is still consumed by the input method, not nheko.
2022-09-16 22:41:11 +08:00
Hiers
8071b192b8
Line to indicate first unread message ( #1147 )
...
* First draft of unread line feature.
* Minor visual fix.
* Removed unnecessary ternary operator.
* Extended unread line functionality to work on minimised window or focusing another window.
* Fix for unread line not showing when last read message is hidden.
* Minor performance improvement. Fix for misbehaving event2order DB at application start.
* Fix for possible performance issues when user has joined a large number of rooms.
* Fix for breaking macos and clazy builds.
* Changed on windows focus function to refresh unread line if room is unread.
* Unread line is removed when user sends a message.
* Linting.
* Fixed unread line to work in standalone room windows.
* Switch isRoomUnread for index 0.
* Merged try/catch blocks.
* Fix for crash on opening a room invite.
* Call fullyReadEventId function when used instead of storing it and passing it through.
* Function that was meant to sync the unread line was relying on an async function, oops.
* Linting again.
* More linting...
* Minor changes.
2022-09-11 23:05:20 +00:00
Nicolas Werner
12da7bd08c
Enable spoilers in replies
2022-09-11 00:29:23 +02:00
Nicolas Werner
1d7575036e
Allow creating spaces
2022-09-05 02:00:20 +02:00
Nicolas Werner
e144c5741f
Implement space stickers & emoji
2022-09-01 13:25:11 +02:00
Nicolas Werner
01fd5e6b61
Unset the transient parent on separate chat windows
...
relates to #1168
2022-08-31 20:44:21 +02:00
Hiers
b94689c4d1
Added discrete edit button to room profiles.
2022-08-22 00:01:20 +01:00
DeepBlueV7.X
63339ad632
Merge pull request #1156 from foresto/patch-1
...
Focus message input box when pressing Esc
2022-08-20 21:50:55 +00:00
Forest
f66ed4bea5
Reactions: avoid highlight color misuse, subdue border color
...
This addresses a few problems with reaction colors:
- The state-checking conditionals for reaction text, background, and border
were inconsistent, making it difficult to choose colors for each state
(normal, hovered, and self reactions) that worked well in all themes.
- The QPalette::Highlight color was being misused as a text/foreground color.
This color role is intended for background areas. It has little contrast
against the background in themes like KDE Plasma's Breeze High Contrast,
so using it for text and icons makes those things difficult to read.
https://doc.qt.io/qt-5/qpalette.html#ColorRole-enum
- The reaction border was drawn in the same color as normal text, making it
so bright in some dark themes that it distracted from reading nearby text.
Fixes Nheko-Reborn/nheko#1159
2022-08-19 21:14:58 -07:00
Forest
4d1a01c829
Focus message input box when pressing Esc
...
This helps with #1065 , although I think making sure the message input box gets focus by default would be worthwhile.
2022-08-19 07:41:22 +00:00
Nicolas Werner
08b304eccf
Break http images and implement barebones spoiler support when not in mobile mode
...
see #1042
see #483
2022-08-17 01:35:40 +02:00
Nicolas Werner
376612e4eb
Support editing space children
2022-08-10 00:20:44 +02:00
Nicolas Werner
68c02da6c8
Change preview title for spaces
2022-08-08 22:55:23 +02:00
Nicolas Werner
9d8d6b4bca
Show a room preview in the join confirmation dialog
...
Requires MSC3266
Fixes #1129
2022-08-05 21:57:54 +02:00
Nicolas Werner
18f4f4351a
Fix room members dialog opening room member dialog of the wrong room
2022-07-30 16:47:56 +02:00
Nicolas Werner
8f49ad9490
Fix window decorations on macos for room dir dialog
...
fixes #1114
2022-07-18 23:28:27 +02:00
Nicolas Werner
c57948993e
Update translations
2022-07-16 13:04:35 +02:00
Nicolas Werner
f261bbb32d
Fix weird spacing and hidden encryption indicator in top bar
2022-07-16 12:58:17 +02:00
Nicolas Werner
7b33d14277
Make notification count calculation more efficient
2022-07-16 03:07:00 +02:00
Nicolas Werner
aa63e50cea
Merge remote-tracking branch 'origin/perSpaceNotifs' into perSpaceNotifs
2022-07-14 01:26:48 +02:00
Nicolas Werner
af03138527
Try to fix titlebar on room dir
2022-07-09 16:05:18 +02:00
Nicolas Werner
11fa4821aa
Support rendering policy rules
2022-07-09 15:36:28 +02:00
Nicolas Werner
931855441a
Allow editing aliases
2022-07-08 17:28:28 +02:00
Nicolas Werner
f099ec63d1
Warn about emojis looking different in different clients
...
fixes #919
2022-07-03 03:46:47 +02:00
Nicolas Werner
f387e3b033
Fix emoji verification clipped on sway
...
fixes #917
2022-07-03 03:39:10 +02:00
Nicolas Werner
7ebf43ce38
Fix crash when closing room directory window
2022-07-01 00:41:50 +02:00
q234rty
fd87dc615c
Fix emoji picker
2022-06-30 11:39:19 +08:00
q234rty
bda88a0379
Fix room member list
2022-06-30 11:38:22 +08:00
Loren Burkholder
885a790b1f
Simplify space notification options
2022-06-29 22:04:37 -04:00
Loren Burkholder
f264941615
make license
2022-06-29 22:04:37 -04:00
Loren Burkholder
7cbde0712f
Allow muting spaces; other general improvements
2022-06-29 22:04:37 -04:00
Loren Burkholder
863eaa1910
Add space notification configuration
2022-06-29 22:04:37 -04:00
Loren Burkholder
c2b6728955
Add space notifs to room list
2022-06-29 22:04:19 -04:00
Loren Burkholder
8ec0577807
Make the notification bubble its own component
2022-06-29 22:04:19 -04:00
Loren Burkholder
e446e3d679
Add loud notifications for spaces
2022-06-29 22:04:17 -04:00
Loren Burkholder
169384f0fa
Add space notifications to room list
2022-06-29 22:02:20 -04:00
Loren Burkholder
2df2046d1d
Display unread notifications for spaces
2022-06-29 22:00:09 -04:00
q234rty
7a29531739
Fix blurriness of svg icons ( #1108 )
2022-06-28 12:14:23 +00:00
Nicolas Werner
dc4a06517c
Add an option to define new power levels
2022-06-26 00:09:00 +02:00
Nicolas Werner
5772447874
Require matrix v1.1 or greater
2022-06-25 16:16:54 +02:00
brausepulver
09c646d3fa
Add copy link to room context menu ( #1101 )
2022-06-23 23:44:50 +00:00
Nicolas Werner
07228d336a
Support the knock_restricted rule
2022-06-18 00:17:24 +02:00
Rohit Sutradhar
b0e3c6d65a
Added escape handler for uploads ( #1100 )
...
* Added escape handler for uploads
* Update MessageView.qml
Changed if-else conditions to handle only one escape at a time
2022-06-17 20:08:29 +00:00
Nicolas Werner
4ec92e0244
Remove confusing log message
2022-06-15 22:18:35 +02:00
Nicolas Werner
6afe3fa39d
Close image viewer when clicking on the background
...
fixes #1088
2022-06-15 20:55:51 +02:00
DeepBlueV7.X
835fcf6325
Merge pull request #1095 from syldrathecat/subtle-paste-fixes
...
Subtle corrections to paste behaviors
2022-06-15 14:31:46 +00:00
Nicolas Werner
3eafd4396e
Fix pins not refreshing after being loaded
2022-06-15 15:36:58 +02:00
SyldraTheCat
8a6acd1d86
Subtle corrections to paste behaviors
2022-06-14 12:04:34 +00:00
SyldraTheCat
ffa4dca8b3
Make cursoring up/down more consistent on some setups
2022-06-13 07:22:09 +00:00
Nicolas Werner
051545a851
Fix crash on some systems because of reuseItems in completer
2022-06-12 17:49:20 +02:00
Nicolas Werner
74712ff6aa
Make settings menu a bit narrower
2022-06-11 10:05:36 +02:00
Nicolas Werner
7e0bc0658c
Fix editing topic
2022-06-02 21:57:46 +02:00
Loren Burkholder
cb4d7234c7
Indicate if no topic is set
2022-06-02 14:19:50 -04:00
Nicolas Werner
5450139a2e
Lots of new PL translations
2022-05-27 17:16:38 +02:00
Nicolas Werner
6c6d43691d
Add basic powerlevel editor
2022-05-27 17:01:58 +02:00
Joseph Donofry
7f2ae13c43
Make PrivacyScreen work on Popped-out Rooms
2022-05-12 14:56:22 -04:00
Joseph Donofry
d130c96160
Fix PrivacyScreen for MainWindow
2022-05-12 12:48:12 -04:00
Nicolas Werner
a6b2be112b
More image dialog fixes
2022-05-10 03:20:09 +02:00
Nicolas Werner
87070289fd
Activate window that already has the room open if possible
2022-05-07 19:12:30 +02:00
Nicolas Werner
62bf1b253e
Rework focus handling
2022-05-07 18:53:16 +02:00
Nicolas Werner
db1bcd7b5a
Show powerlevels in memberlist
2022-05-07 02:30:16 +02:00
Nicolas Werner
d4b7712a66
Merge branch 'master' of https://github.com/TheDrawingCoder-Gamer/nheko into TheDrawingCoder-Gamer-master
2022-05-06 15:41:51 +02:00
Nicolas Werner
b75ef07896
Add basic support for multiple windows
2022-05-06 00:36:53 +02:00
DeepBlueV7.X
5ceed8f519
Merge pull request #1056 from Nheko-Reborn/uiTweaks
...
UI tweaks
2022-04-27 01:15:25 +00:00
BulbyVR
64882fd6de
Unhardcode qml
2022-04-24 12:25:01 -04:00
BulbyVR
1eeee5f367
Curse you hardcoded qml!
2022-04-24 12:25:01 -04:00
Nicolas Werner
c21711830f
Fix pinned messages getting clipped
2022-04-24 16:37:35 +02:00
Loren Burkholder
f9b3690e87
Modifications to member list buttons
2022-04-23 19:03:01 -04:00
Loren Burkholder
c53b732452
Set default size for hidden events dialog
2022-04-23 18:47:18 -04:00
Loren Burkholder
24ec2181a3
Better handle pluralization
2022-04-23 18:47:17 -04:00
Loren Burkholder
3d60fadb39
Allow users to see through the spinner
2022-04-23 18:46:30 -04:00
Loren Burkholder
6672e765d7
Search room members ( #1049 )
2022-04-22 23:59:40 +00:00
Loren Burkholder
9cf0e3ca55
Add member list and settings buttons to spaces ( #1051 )
...
* Add member list and settings buttons to spaces
* Un-buttonify the member list button
* Properly button settings *and* members
2022-04-22 23:43:25 +00:00
Nicolas Werner
3b2f47c56f
Show changes in image packs in timeline
2022-04-19 22:33:53 +02:00
Loren Burkholder
5dc94447b9
Focus room search
2022-04-18 14:44:35 -04:00
Nicolas Werner
85f0ffb6bf
Remove boundary handling in image overlay
...
They hurt more than they are helping
2022-04-10 04:10:32 +02:00
Loren Burkholder
35e6cf003d
Close current room on Ctrl+W
2022-04-02 20:33:10 -04:00
Nicolas Werner
a59b3147a6
Add reasons to everything
...
fixes #1030
2022-03-30 23:40:12 +02:00
Nicolas Werner
cb76777fce
Add delay to showing scroll down button
2022-03-30 19:19:39 +02:00
Nicolas Werner
656fcac91c
Don't use a modal to edit room name and topic
2022-03-30 06:45:31 +02:00
Nicolas Werner
f9942494d6
Fix broken invite dialog
2022-03-30 04:30:09 +02:00
Nicolas Werner
3ded0d61ba
Merge branch 'fix-tapping-timeline'
2022-03-30 01:34:13 +02:00
Nicolas Werner
4783ce8c44
Add a background to scroll to bottom button
2022-03-30 01:23:23 +02:00
Nicolas Werner
a3ae90415c
Merge branch 'go_to_bottom' of https://github.com/maltee1/nheko into maltee1-go_to_bottom
2022-03-30 00:31:49 +02:00
Malte E
8c8305bf8a
add jump to end button
2022-03-29 23:11:25 +02:00
DeepBlueV7.X
f9e294ce0c
Merge pull request #1019 from maltee1/qml_createroom
...
CreateRoom dialog in QML
2022-03-29 20:54:45 +02:00
Nicolas Werner
6d1416fb6e
Add backend for new room creation dialogs
2022-03-29 20:51:18 +02:00
Malte E
d7cb2bd647
expose options better
2022-03-28 22:06:18 +02:00
Malte E
f66ec626f0
fix tapping messages, fix pressandhold/doubletap on touch
2022-03-28 20:22:58 +02:00
Malte E
5078bdd14f
drag to reply ( #1018 )
2022-03-27 19:23:40 +00:00
Malte E
838cf63578
direct chat creator can now create direct chats
2022-03-26 22:25:48 +01:00
Malte E
5384ab377c
initial direct chat creation dialog
2022-03-26 17:28:44 +01:00
Malte E
b8b31cb36d
CreateRoom dialog in QML
2022-03-25 22:30:19 +01:00
Malte E
13baf77435
Better touch scrolling ( #1012 )
2022-03-24 00:35:42 +00:00
Nicolas Werner
a23e2ba854
Make overlap of actionMenu a bit smaller again
2022-03-23 01:33:19 +01:00
Nicolas Werner
4495ad8e55
Properly enable hovering on message action menu
2022-03-22 19:59:22 +01:00
Nicolas Werner
b52fd8538d
Make hover menu inset slightly
2022-03-22 19:48:07 +01:00
DeepBlueV7.X
dfb34a6c96
Merge pull request #1005 from maltee1/fix_input_method
...
Fix input method
2022-03-22 03:56:01 +01:00
Nicolas Werner
a9486ec896
Fix thumbnails for encrypted files and factor upload box out
2022-03-21 05:49:12 +01:00
Nicolas Werner
dbd2bebe6c
Show some previews in upload window
2022-03-21 05:05:29 +01:00
Nicolas Werner
fd83858715
Add duration and resolution to files
2022-03-21 00:48:27 +01:00
Nicolas Werner
d3471a1097
Move uploads to InputBar
2022-03-20 22:49:33 +01:00
Malte E
f563098e9a
Don't send on Enter when inputMethod.visible ( == OSK active assumed)
2022-03-20 22:17:25 +01:00
Malte E
d58a483642
add preedit text to search
2022-03-20 21:57:16 +01:00
Malte E
0cb729cfc2
remove completer trigger characters
2022-03-20 21:34:41 +01:00
Malte E
548063d303
attempt to include preeditText in search string
2022-03-20 17:21:59 +01:00
Malte E
86a81307fb
make completer work with input method
2022-03-20 17:12:13 +01:00
Malte E
a42335aed2
elide usernames in timeline ( #997 )
...
* Use advanceWidth to get the with of the original text
Co-authored-by: Nicolas Werner <nicolas.werner@hotmail.de>
2022-03-20 04:12:41 +00:00
DeepBlueV7.X
dda1bcd3c1
Merge pull request #1001 from duarm/master
...
options to open images/videos with external program by default
2022-03-20 04:30:54 +01:00
Malte E
d765305595
properly commit preedit text
2022-03-19 22:30:35 +01:00
math
88d86405f8
add option to open video with external program by default
2022-03-19 02:31:43 -03:00
math
74a4e36f90
add option to open image with external program by default
2022-03-19 01:54:02 -03:00
DeepBlueV7.X
a35f5e81cd
Merge pull request #989 from maltee1/improve_reply_popup
...
small rework of the reply popup
2022-03-16 03:09:34 +01:00
Nicolas Werner
4f44b63a49
Fix screen share calls
2022-03-13 20:40:09 +01:00
Malte E
637abac334
add space between date bubble and own messages
2022-03-12 22:51:02 +01:00
Malte E
3e59b76b54
add space below datebubble and own message bubbles
2022-03-12 22:46:08 +01:00
Malte E
8a78920b88
allow bubbles to be not larger than necessary
2022-03-12 22:34:16 +01:00
Malte E
a76b50b48e
small rework of the reply popup
2022-03-11 21:32:32 +01:00
tastytea
a7388a70be
Use standard buttons where possible
...
Standard buttons are ordered in the right way and sometimes have an
icon.
Bug: https://matrix.to/#/%23nheko%3Anheko.im/%2476PZ2m6YftX8mqGIe9ettKbh_-pEYeVRQSJBfwFzWi0?via=pixie.town&via=matrix.org&via=matrix.flexinos.tech&via=half-shot.uk
2022-03-11 13:15:26 +01:00
Malte E
7ec0539476
reduce replied-to message to implicitWidth if non-bubble layout is used
2022-03-10 21:54:26 +01:00
Malte E
8fa912ed85
right-align reactions of right-aligned bubbles
2022-03-10 21:47:07 +01:00
Nicolas Werner
bf7b58c959
Don't destroy components in use
...
Add a delay to all destructions and move the call dialog stuff up a
level, so that we don't destroy the component when destroying the parent
dialog.
fixes #984
2022-03-10 20:43:42 +01:00
Nicolas Werner
7a11b69f99
Fix images being cropped instead of scaled
2022-03-09 20:15:37 +01:00
Nicolas Werner
fcfcf5573b
Fix a few alignment issues in the hover menu
2022-03-09 19:39:25 +01:00
DeepBlueV7.X
64a939481a
Merge pull request #982 from tastytea/reaction-tooltip
...
Show long reaction text in tooltip; Remove extra …
2022-03-09 17:54:13 +00:00
tastytea
ddf749d3a2
Remove extra … from reaction text if it is already there
...
elidedText should have … in it if the text doesn't fit, but it seems
that it is omitted if the emoji font doesn't have it. 🙄
See <https://github.com/Nheko-Reborn/nheko/pull/982 >.
2022-03-09 18:51:29 +01:00
tastytea
b82b724795
Show long reaction text in tooltip
...
If the reaction text is elided, it will be shown in the tooltip.
2022-03-09 18:42:57 +01:00
Nicolas Werner
5b09dd1a11
Fix a few alignment issues in the roomlist
2022-03-09 18:36:13 +01:00
tastytea
b75f7e564d
Make “show more” “show less” in room settings translatable
2022-03-08 11:31:54 +01:00
Nicolas Werner
ea6d50d114
Remove spurious log message
2022-03-07 23:19:56 +01:00
Nicolas Werner
9c622b60b9
Fix flickering in hover menu
2022-03-07 23:16:18 +01:00
Nicolas Werner
ac1d678254
Fix server switching to https after bootstrap
...
fixes #878
2022-03-07 05:27:06 +01:00
tastytea
e390c39862
Allow to specify reason for removed message
...
# Previous commits:
# 5949173b
Add function to force focus on InputDialog input field
# 9482ac4e
Allow explicit selection of SSO method
# ab05e2d8
Mobile message input (#962 )
# 12a6da01
If you replace the txn id, replace a string the length of the txn id...
2022-03-06 19:58:12 +01:00
tastytea
5949173ba2
Add function to force focus on InputDialog input field
...
# Previous commits:
# 9482ac4e
Allow explicit selection of SSO method
# ab05e2d8
Mobile message input (#962 )
# 12a6da01
If you replace the txn id, replace a string the length of the txn id...
# df6a5aab
Fix clicking on images in replies
2022-03-06 19:58:12 +01:00
Nicolas Werner
9482ac4e7a
Allow explicit selection of SSO method
...
fixes #975
2022-03-06 19:51:17 +01:00
Malte E
ab05e2d8dc
Mobile message input ( #962 )
...
* swap send and sticker icons based on text input
* collapse MessageInput options when window is narrow
* buttons disappear once you type/send partial text from input method
2022-03-05 22:10:08 +00:00
Nicolas Werner
df6a5aabb6
Fix clicking on images in replies
...
fixes #881
2022-03-05 03:45:45 +01:00
Nicolas Werner
7238ca3765
Open room members dialog when clicking the encryption indicator
...
fixes #937
2022-03-05 01:45:16 +01:00
DeepBlueV7.X
d0623131e5
Merge pull request #965 from maltee1/mobile_room_settings
...
Mobile room settings
2022-03-05 00:33:45 +00:00
Malte E
cb057b016a
rich text emoji
2022-03-04 23:11:47 +01:00
Malte E
864adaffca
wrap room name
2022-03-04 23:08:00 +01:00
Malte E
573933f239
cosmetics
2022-03-04 13:40:44 +01:00
Malte E
8658801839
hopfefully the button works now
2022-03-04 11:19:58 +01:00
Malte E
cf7353c1e9
fix text color and button, copy roomID on click
2022-03-03 21:51:26 +01:00
Eldred Habert
90e9df0ec9
Correct "be be"
...
This kind of duplicated short word is
is easy to have your brain "auto-correct" :D
2022-03-02 22:52:34 +01:00
Malte E
02da8e445a
make long topic collapsible
2022-03-02 10:02:01 +01:00
Nicolas Werner
89a8f7a3f1
Hide hover when leaving the timeline
2022-03-01 04:21:00 +01:00
Nicolas Werner
35a2b0e45a
Fix metadata not resizing properly
2022-03-01 03:12:57 +01:00
Nicolas Werner
23efa8f815
Fix a few small completer glitches
2022-03-01 02:33:22 +01:00
Nicolas Werner
d84502737b
Fix misalignment in room list tiles
2022-02-26 16:06:33 +01:00
Malte E
49aceefae3
Fix roomlist timestamp being off-screen ( #966 )
...
* fix timestamp disappearing off-screen
* remove mobileMode dependency of ScrollHelper
2022-02-25 21:57:13 +00:00
Malte E
22235defac
restore default width and height
2022-02-25 22:05:35 +01:00
Malte E
e59468f28c
clean up indentation
2022-02-25 21:59:01 +01:00
Malte E
fd3efdffcf
make RoomSettings mobile friendly and more like UserProfile
2022-02-25 21:57:19 +01:00
Nicolas Werner
2c5489468d
Fix mobile call screen
...
See #469
2022-02-25 17:24:00 +01:00
Malte E
5108955df2
making userName_ an AbstractButton should play nicely with ListView ( #961 )
...
* making userName_ an AbstractButton should make it play nicely with the ListView
* make Avatar an AbstractButton
* make userName_ in Reply.qml an AbstractButton
* use alias for avatar background color and fix margin of username in reply
2022-02-24 02:16:39 +00:00
DeepBlueV7.X
ebc0384ebb
Merge pull request #956 from maltee1/mobile_room_directory
...
Mobile room directory
2022-02-23 01:14:36 +00:00
Malte E
3d8e5c0028
make room directory fit mobile screens
2022-02-21 22:41:02 +01:00
Nicolas Werner
ff4334d59e
Don't leak dialogs
...
It seems that you need to manually destroy created objects... Great...
fixes #898
2022-02-21 05:01:01 +01:00
Nicolas Werner
609cd82dc0
Fix forward completer
2022-02-21 04:07:13 +01:00
Malte E
1c8a5c645d
Add sender names to state events ( #948 )
...
* add sendernames to state events
* Center state events and make them less tiny
2022-02-21 00:39:32 +00:00
DeepBlueV7.X
b3da8738bf
Merge pull request #951 from maltee1/fix_timeline_scrollbar
...
Fix timeline scrollbar
2022-02-21 00:31:09 +00:00
DeepBlueV7.X
8727b696fc
Merge pull request #946 from maltee1/mobile_usersettings
...
Make UserSettingsPage fit on a phone screen
2022-02-21 00:25:06 +00:00
Malte E
8b6d4a57e6
another shot in the dark
2022-02-20 13:51:07 +01:00
Malte E
8b75d86924
try to make scrollbar overlap content based on style
2022-02-20 11:18:39 +01:00
Malte E
ea7c8d1427
remove touchobserver
2022-02-20 10:09:22 +01:00
Malte E
4f8e6602c4
limit width of comboboxes and add bottomPadding
2022-02-20 09:45:37 +01:00
Nicolas Werner
d941974e35
Simplify logic to suppress wheel events
2022-02-20 03:03:11 +01:00
Malte E
af8fbb990b
remove reparenting
2022-02-19 21:47:19 +01:00
Nicolas Werner
46fbb0e749
Use ListView without scrollview for messages
...
That way we can autohide the scollbar if needed, it should fix some
jumping issues, it makes it possible to flick on mobile, etc.
Some related bugs:
https://bugreports.qt.io/browse/QTBUG-75223
https://bugreports.qt.io/browse/QTBUG-44902
2022-02-19 21:45:43 +01:00
Malte E
c405eddea6
actually fix awkward message spacing
2022-02-18 21:33:09 +01:00
Malte E
a3fcb4d990
fix awkward message spacing
2022-02-18 21:29:14 +01:00
Malte E
144e7cd038
make search usable on mobile
2022-02-18 21:06:28 +01:00
Malte E
8fede53c82
let labels wrap and collapse below the back button
2022-02-18 20:20:52 +01:00
tastytea
624da5e028
Make hover highlight fill the full width of the timeline
...
Rows in the message bubble design are only as wide as the bubbles. This
lead to invisible hover highlight. Now it's consistent.
2022-02-18 02:20:56 +01:00
Nicolas Werner
0629ea5932
Always enable hover for ItemDelegate
2022-02-17 15:32:25 +01:00
Nicolas Werner
c0f415238d
Fix images without size not showing (take5)
2022-02-17 00:42:57 +01:00
Nicolas Werner
c310e6f35c
Fix hover highlight when hovering hover menu
...
fixes #941
2022-02-16 23:25:19 +01:00
DeepBlueV7.X
6a47b47571
Merge pull request #939 from maltee1/better_bubbles
...
Place metadata next to content if there is space
2022-02-16 20:21:22 +00:00
Nicolas Werner
d330fdb61f
Fix hovering messages
2022-02-14 23:13:22 +01:00
Nicolas Werner
e077bdbdd5
Allow window sizes smaller than 400x400
2022-02-14 22:56:35 +01:00
Malte E
1cc4f76998
fix overlap in NoticeMessage
2022-02-14 21:59:35 +01:00
Malte E
e69f0fe960
don't mess up old layout
2022-02-14 21:15:16 +01:00
Malte E
6f3ed5b282
space-saving metadata placement
2022-02-14 21:07:03 +01:00
Nicolas Werner
1df1b5037e
Fix second codeblock not wrapping
2022-02-14 16:47:27 +01:00
Nicolas Werner
297c819bf0
Fix padding in redactions
2022-02-14 15:57:08 +01:00
Nicolas Werner
ddcd4850f1
Merge branch 'message-bubbles' of https://github.com/maltee1/nheko into maltee1-message-bubbles
2022-02-14 15:43:17 +01:00
Malte E
ddf11d9a8c
improve spacings
2022-02-14 14:50:37 +01:00
Malte E
ce13ccd677
fix redactions line-wrapping
2022-02-14 14:16:11 +01:00
Malte E
414257bf0e
fix bugs found by Nico
2022-02-14 14:03:17 +01:00
Nicolas Werner
6e1ac16f61
Fix overlapping offline indicator
2022-02-14 04:05:33 +01:00
Malte E
993b0ae721
fix vertical space for some state events
2022-02-13 13:27:31 +01:00
Malte E
987b9bed6b
add small avatars option and tweak colors and spacings
2022-02-13 13:12:51 +01:00
Nicolas Werner
47b822604d
Hidden events: Refactor slightly for reusability
2022-02-12 19:48:53 +01:00
Malte E
894438c6ce
place own bubbles on right and remove user info
2022-02-11 23:12:04 +01:00
Malte E
d0ac110cb7
Fix layout - no more binding loops (hopefully)
2022-02-11 22:02:30 +01:00
tastytea
72cfb06208
Hidden events: Some cleanup
2022-02-10 00:48:35 +01:00
tastytea
49b313e3b8
Hidden events: Make save-function reusable for global account data
2022-02-10 00:48:35 +01:00
tastytea
f7ca41bc49
Hidden events: Change title and prompt depending on isRoomSetting
...
We would have to set text and title separately otherwise.
2022-02-10 00:48:35 +01:00
tastytea
f0bb64030e
Hidden events: Incorporate suggestions from review
...
- Set TitleHint flag on dialog
- Store hidden events as QSet<QString> instead of std::vector<bool>
- Change wording in dialog (disable events instead of turning the hiding
on)
2022-02-10 00:48:35 +01:00
tastytea
d4cc3507f8
Hidden events: Enhance tooltips
...
Shorten tooltip for power levels, expand tooltip for user events.
2022-02-10 00:48:35 +01:00
tastytea
5cd3e61cb0
Add GUI to change hidden events per room
...
This adds a dialog to the room settings in which the user can choose
which of these three event types they want to hide (additionally to the
default):
- m.room.member
- m.room.power_levels
- m.sticker
The current state is read when room settings are opened and saved when
new settings are accepted.
2022-02-10 00:48:35 +01:00
Malte E
0e548b7d39
fixed most of the binding loops
2022-02-09 21:36:04 +01:00
Malte E
5db7ec7f03
Variable width bubbles (still has binding loop)
2022-02-09 17:53:02 +01:00
Malte E
e290f9938a
Update resources/qml/delegates/Reply.qml
...
Co-authored-by: DeepBlueV7.X <nicolas.werner@hotmail.de>
2022-02-07 22:04:49 +01:00
Malte E
12d600db97
add translations and actually add changes to TimelineModel
2022-02-07 21:53:37 +01:00
Malte E
384c9c91e3
print state events without bubbles, displaynames or avatars and in a smaller font
2022-02-07 21:00:51 +01:00
Malte E
9d194cc2e6
clean up margin setting
2022-02-05 21:53:21 +01:00
Malte E
f5a693ac03
place metadata below message when the Layout is narrow (<350)
2022-02-05 14:12:51 +01:00
tastytea
9836443d26
Add maximum width to room name in user profile
...
Layout is: spacing | text | spacing | button | spacing
Therefore we subtract 3x spacing and 1x button(16) from width.
2022-02-05 01:40:31 +01:00
tastytea
721c315be2
Add maximum width to user name in profile
...
Layout is: padding | text | margin | button | padding
Therefore we subtract 2x padding, 1x margin and 1x button from
width. And an extra button for some reason. 🤷
2022-02-05 01:38:03 +01:00
tastytea
2815ad0408
Fix width of room name to dialog width
2022-02-04 23:40:40 +01:00
Malte E
3f7c15c7af
Add message bubbles
2022-02-04 23:12:30 +01:00
Malte E
3c8c02e802
Revert removal of width and height in TextMessage and implicitWidth in MessageDelegate
2022-02-04 21:20:25 +01:00
Nicolas Werner
7b00411dc4
Show widgets as links
2022-02-04 20:48:14 +01:00
DeepBlueV7.X
00116e8128
Merge pull request #906 from LorenDB/offlineIndicator
...
Add offline indicator
2022-02-04 07:13:53 +01:00