Commit graph

605 commits

Author SHA1 Message Date
8thony 570746a8bd
Hide inline whispers in streamer mode (#4076)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-22 10:04:51 +00:00
nerix 3e41b84ed7
feat: Add 7TV Emotes and Badges (#4002)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-10-16 11:22:17 +00:00
James Upjohn ceecc7ef91
chore: migrate /vips command to Helix call (#4053)
* feat(helix): create response model for VIP listing

* feat(helix): stub out channel/vips request + handler

* feat(helix): parse VIPs list from data and pass to callback

* feat(helix): handle errors when getting VIP list then pass to callback

* feat(command): add barebones handler for helix-based /vips

* feat(command): provide better /vips output when user is not broadcaster

* chore(format): bulk reformat with clang-format

* chore(changelog): add entry for /vips Helix migration

* fix(helix): use correct method when calling VIP list endpoint

* fix(helix): use correct VIP list endpoint

* chore(tidy): please clang-tidy by marking parameter as unused

* feat(command): display unsorted VIP list returned from Helix API

* feat(settings): clone raid timegate settings for /vips

* feat(command): check /vips timegate setting before execution

* feat(command): handle 0 VIPs from Helix response

* feat(command): sort users alphabetically from Helix VIPs response

* fix(command): highlight users in Helix /vips output to match IRC

* fix(command): replace dynamic /vips error message with hardcoded string

* chore(comment): remove TODO comment that was DONE

* chore(format): bulk reformat using clang-format

* fix(command): send 0 VIP message after creation

* chore: apply suggestions from Felanbird

* fix(helix): change mention of user ban to VIPs in VIP list error message

* feat(helix): distinguish non-broadcaster auth error when getting VIPs

* chore(command): move handling of non-broadcaster /vips usage to API response

* chore(format): re-indent multiline string to get away from 80 char limit

* reformat

* fix tests

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-10-10 12:56:55 +02:00
nerix 4e2da540d2
refactor: Remove Leading Mention in Replies and Highlight Participated Threads (#4047) 2022-10-08 16:25:32 +02:00
nerix 974a8f11b7
Migrate /w to Helix API (#4052) 2022-10-08 13:11:55 +02:00
Marko f8f9903892
Migrate /raid to Helix. (#4029)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-02 15:27:55 +02:00
Felanbird 0ab59d44f0
Add Basic Elevated Message support (#4016) 2022-09-30 23:23:31 +00:00
Felanbird 63119661aa
Fix windows toast notifications opening as http (#4005) 2022-09-23 20:26:23 +00:00
nerix be72d73c3d
feat: add Go to message action in various places (#3953)
* feat: add `Go to message` action in search popup

* chore: add changelog entry

* fix: only scroll if the scrollbar is shown

* fix: go to message when view isn't focused

* feat: animate highlighted message

* fix: missing includes

* fix: order of initialization

* fix: add `ChannelView::mayContainMessage` to filter messages

* feat: add `Go to message` action in `/mentions`

* fix: ignore any mentions channel when searching for split

* feat: add `Go to message` action in reply-threads

* fix: remove redundant `source` parameter

* feat: add `Go to message` action in user-cards

* feat: add link to deleted message

* fix: set current time to 0 when starting animation

* chore: update changelog

* fix: add default case (unreachable)

* chore: removed unused variable

* fix: search in mentions

* fix: always attempt to focus split

* fix: rename `Link::MessageId` to `Link::JumpToMessage`

* fix: rename `selectAndScrollToMessage` to `scrollToMessage`

* fix: rename internal `scrollToMessage` to `scrollToMessageLayout`

* fix: deleted message link in search popup

* chore: reword explanation

* fix: use for-loop instead of `std::find_if`

* refactor: define highlight colors in `BaseTheme`

* core: replace `iff` with `if`

* fix: only return if the message found

* Reword/phrase/dot changelog entries

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-09-11 16:37:13 +02:00
Felanbird 92301e7d72
Update gifFrameLength name as suggested by clang-tidy (#3947) 2022-09-04 17:25:34 +00:00
Troy bc38d696bc
Reduce GIF frame window from 30ms to 20ms (#3907) 2022-09-03 23:20:30 -04:00
nerix c1af2c3faa
feat: add settings to toggle BTTV/FFZ global/channel emotes (#3935)
* feat: add settings to disable BTTV/FFZ global/channel emotes

* docs: add changelog entry

* fix: capitalize `BTTV` and `FFZ`

* fix: rename and move settings
2022-08-28 12:20:47 +02:00
Rasmus Karlsson 76a891c5de Revert "Reduce GIF frame window from 30ms to 20ms (#3886)"
This reverts commit ebc7852f9f.
2022-08-06 19:29:08 +02:00
Troy ebc7852f9f
Reduce GIF frame window from 30ms to 20ms (#3886)
* fix frame timings

* add changelog
2022-08-01 00:15:12 +02:00
Daniel Sage 20c974fdab
Added support for Twitch's Chat Replies (#3722)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-07-31 10:45:25 +00:00
Daniel Sage c58552781d
Add option to display tabs on the right and bottom (#3847)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-07-23 14:09:12 +00:00
Leon Richardt e1b512a373
ref: unify Split popup logic (#3848)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-07-07 17:28:38 +00:00
Mm2PL bbadbc4b33
Add logging to experimental IRC (#2996)
Co-authored-by: xHeaveny <69117321+xHeaveny@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-07-02 09:42:28 +00:00
Leon Richardt 881986d86f
fix: make popup windows have a parent per default (#3836)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-06-25 12:45:56 +00:00
pajlada 6e0852fb49
Update WinToast to the latest version available at 2022-06-25 (#3834)
Closes #3817
2022-06-25 10:31:54 +00:00
badoge 57f92f5eaa
Added more streaming software to streamer mode binaries list (#3740)
Streamer mode now automatically detects if XSplit, PRISM Live Studio, Twitch Studio, or vMix are running

Co-authored-by: Kasia <zneix@zneix.eu>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-05-28 12:17:42 +00:00
Felanbird e41a2e8408
Add newline to dontSaveSettings error (#3635)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-03-31 11:35:52 +00:00
Infinitay 554313d645
Add the ability to lock NotebookTab layout (#3627)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-03-26 14:16:45 +01:00
James Upjohn 67c10fafc7
chore: replace usages of obsolete twitch struct with backing field (#3614)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2022-03-19 11:02:29 +00:00
Mm2PL b2fa7b1d94
Make Tab Layout setting only accept predefined values (#3564)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-02-12 13:27:25 +01:00
LosFarmosCTL b5b395f975
Colorize entire split input header instead of just the channel name (#3379)
Co-authored-by: Paweł <zneix@zneix.eu>
2022-01-22 16:23:02 +01:00
pajlada 51ece94f58
Update Settings and Signals version (#3398)
Co-authored-by: zneix <zneix@zneix.eu>
2021-12-19 14:57:56 +00:00
Felanbird ac2bb40eef
Move '/live' logs to its own subDirectory (#3394)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-12-12 11:35:00 +00:00
Felanbird 8116c30261
Add some commented First Message code for consistency (#3370) 2021-11-28 12:19:08 +01:00
Felanbird be3609a927
Capitalize mentions of Twitch, Chatterino, and IRC in comments and text/settings (#3274) 2021-10-17 15:06:58 +02:00
Ckat ab1211cbef
Ignore out of bounds check on tiling WMs (#3270) 2021-10-03 11:43:23 +02:00
gempir 0ba7c0f3c5
Add highlights for first messages (#3267)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-10-02 12:17:24 +00:00
Mm2PL d99fafaa99
Remove unused code for Tagged Users (#3208)
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-09-04 11:11:20 +00:00
Tal Neoran ad4a0c28d1
Add opening tab in popup (#3082)
Co-authored-by: zneix <zneix@zneix.eu>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-08-21 12:16:00 +00:00
ilyazzz a7ef7e6f7f
Use flatpak-spawn to run streamlink when running as a flatpak (#3178)
Co-authored-by: Leon Richardt <leon.richardt@gmail.com>
Co-authored-by: Paweł <zneix@zneix.eu>
2021-08-21 11:00:01 +00:00
Marko 113a7795f4
Hide similar messages by any user (#2716)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-08-14 14:28:08 +02:00
apa420 3cb1e5158a
Added the ability to add nicknames for users (#2981)
Co-authored-by: Mm2PL <mm2pl+gh@kotmisia.pl>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-07-31 16:15:43 +02:00
Matthew Marlow 6052a0ede6
Fixed zooming bug in native-host-ext [Chrome] (#1936)
Co-authored-by: alazymeme <jkeasley@icloud.com>
Co-authored-by: 23rd <23rd@vivaldi.net>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-07-25 13:13:21 +00:00
Mm2PL b352dea2dc
Make the copy button switch light/dark theme (#3057)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-07-25 11:15:38 +00:00
ilyazzz b8bd0a587d
Disable update checker on Flatpak (#3051)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-07-24 11:30:21 +00:00
Paweł 7e13564c24
Fixed newly uploaded subscriber emotes not being available (#2992)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-07-17 15:18:17 +00:00
Tal Neoran f605221042
Add username autocompletion popup menu (#2866) 2021-06-19 16:29:17 +00:00
Mm2PL eb8ddfc1d3
Add setting for username display style (#2891) 2021-06-13 12:13:19 +00:00
Mm2PL f1e843a672
Make deletions show like timeouts/bans. (#2841)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-06-06 17:51:57 +02:00
Paweł 57354283ec
Added ability to toggle visibility of tabs (#2600)
This can be done by right-clicking the tab area or pressing the keyboard shortcut (default: Ctrl+U).

Co-authored-by: Leon Richardt <leon.richardt@gmail.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-05-30 11:39:34 +00:00
Tal Neoran 2db50f1c41
Add setting to disable custom ffz mod/VIP badges (#2759)
Co-authored-by: Paweł <zneix@zneix.eu>
2021-05-16 22:07:12 +02:00
fourtf 6ae8427fc6
added try catch in nm (#2785)
* added try catch in nm

* changelog

* asdf

* gh action
2021-05-16 16:51:25 +00:00
apa420 dcd65b5978
/live split for channels going live (#1998)
Co-authored-by: 23rd <23rd@vivaldi.net>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-05-09 14:17:04 +00:00
pajlada 2f49b23875
Add ability to disable precompiled headers with CMake (#2727) 2021-05-08 15:57:00 +02:00
Daniel f6d9fb2aac
Add ability to highlight messages based on user badges (#1704)
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: 23rd <23rd@vivaldi.net>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-05-02 22:08:08 +00:00
pajlada d1f81ab50b
Add an option to remove spaces between emotes (#2684)
This feature is disabled by default and can be enabled in the settings.

Co-authored-by: Mm2PL <jakis128@gmail.com>
2021-04-25 22:25:23 +00:00
Paweł c3d61ad77b
Add ability to hide Twitch Prediction badges (#2668)
We now properly categorize the Twitch `predictions` badges since they take up their own slot in Twitch web chat
2021-04-25 14:37:19 +02:00
fourtf 2db140d5af
Added x-attach-split-to-window command line arg (#2411)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-17 14:15:23 +00:00
fourtf 58017a7546
fix size of splits not loading properly (#2554) 2021-04-17 13:16:14 +00:00
Yoitsu 00ccdbc781
clang-tidy: use std::move where applicable (#2605)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-10 12:34:40 +00:00
fourtf 81ce8dcc08 moved last message line in settings and changed defaults 2021-03-13 12:33:54 +01:00
fourtf 5a3577317d show messagebox if settings cannot be edited 2021-03-13 11:36:09 +01:00
Felanbird 032a791ec1
Fixed spelling of Suppress (#2472) 2021-02-21 16:42:59 +01:00
Paweł 7d9f4c2b0c
Migrated block, unblock and get user block list methods to Helix (#2370)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-02-14 14:01:13 +01:00
pajlada 6b0ce396d6
Update to Emoji v13 (2020) (#1555) 2021-02-13 19:17:22 +01:00
Leon Richardt 1b75dc1e2c
fix: properly handle CLI arguments (#2368)
Fix CLI arguments not being respected. This happened due to the addition of category-based logging (--help, --version) and changes to the window loading ( --channels), respectively.

When handling --channels, I took the liberty to refactor the previous version of window description (which relied on generating JSON) to directly building the WindowLayout.
2021-01-23 16:26:42 +01:00
apa420 f19cc60a5b
Setting for disabling /mentions tab highlight (#1994)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-01-16 14:27:19 +01:00
Paweł acbabd2664
Added Live Notification suppression to Streamer Mode (#2342) 2021-01-10 15:01:38 +01:00
Wolf Clément fea52faa66
Color mentions to match the mentioned users color (#2284)
You can disable this by unchecking "Color @usernames" under `Settings -> General -> Advanced (misc.)`

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2020-12-19 14:42:20 +01:00
pajlada 4436109a2f
Add setting to limit number of historical messages to load on connect (#2252) 2020-12-06 13:04:49 +01:00
Steve Wills df722a72c1
Switch to QT Category logging (#2206)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2020-11-21 16:20:10 +01:00
Steve Wills 529f19a2de
check path is not empty (#2203)
* check path is not empty

* fix formatting

* use isEmpty() to check path
2020-11-17 19:59:49 +01:00
Leon Richardt 0eed45ae67
Chore: Proper Lambda Formatting (#2167)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-11-08 12:02:19 +01:00
pajlada 29d0ef6923
Apply nightly update logic to macOS and Linux too (#2164) 2020-11-08 10:32:55 +01:00
pajlada 1ee1e8837f
Use Qt's dialog where applicable (#1843) 2020-10-31 16:42:48 +01:00
Mm2PL 3ee08b9ffd
Add support FrankerFaceZ badges. (#2101)
On startup, we poll https://api.frankerfacez.com/v1/badges/ids and store the mappings of user IDs to badges for the remainder of the applications lifetime.
2020-10-25 10:36:00 +01:00
Leon Richardt ec94869480
Allow highlights to be excluded from /mentions (#2036) 2020-10-24 14:33:15 +02:00
dnsge 4199a01b96 Advanced channel filters (#1748)
Adds custom channel filters complete with their own mini-language. Filters can be created in settings, and applied by clicking the three dots to open the Split menu and selecting "Set filters".
2020-10-18 15:18:20 +02:00
Paweł 2232c6d925
Changed Streamer Mode settings (#2001)
There's now a new (yet another, sigh) section in Settings -> General, which lets you set streamer mode to 'enable/disable/detect obs' and there are also separate settings for each of the things that streamer mode covers. I just have to add ping sounds and PR is ready to be merged :)

* Show "Streamer Mode" image as link thumbnails if applicable

* Moved hideViewerCountAndDuration to streamerMode settings

Set it to false by default (just how it used to be under /misc settings, also reworked live tooltip to be a bit prettier and say "<Streamer Mode>" in gray instead of "Live with <hidden> for <hidden> viewers"
2020-10-11 13:52:14 +02:00
apa420 35816c5d8a
Add settings for last message line style (#2019) 2020-10-04 18:26:46 +02:00
apa420 a2e12a56e3
Changed some default settings (#2024)
Colorized nicknames now enabled by default
Show channels live now enabled by default
Bold usernames enabled by default
2020-10-04 12:59:31 +02:00
Paweł d314566ab6
Argument parsing rework (#1940)
* Experimental argument handling

* Restored browser extension launch functionality

Also moved check from BrowerExtension.cpp to Args.cpp as it is more relevant there and doesn't require passing arguments to a function in another file

* Fixed formatting

* Simplified Args.cpp code, added changelog entry

* Hid crash-recovery from help

* Dont save settings if launched with --channels

* Changed parsing method to t:channel

* Code cleanup

* Changed plaform delimeter to :, platform defaults to Twitch

Co-authored-by: fourtf <tf.four@gmail.com>
2020-09-26 16:03:51 +02:00
fourtf d13b7d9768 fixed formatting in Settings.hpp 2020-09-26 15:18:48 +02:00
fourtf db3402a18e Merge branch 'Ch2Usercard' 2020-09-26 14:54:44 +02:00
pajlada 913193f8b5
Split up Window Layout loading into a loading and application stage (#1964)
* Split up Window Layout loading into a loading and application stage

Previously, we were creating UI elements at while we were reading the window-layout.json file.
We now read the window-layout.json file fully first, which results in a
WindowLayout struct which is built up of a list of windows with a list
of tabs with a root node which contains containers and splits.
This WindowLayout can then be applied.

This will enable PRs like #1940 to start Chatterino with Window Layouts
that aren't defined in a json file.

This commit has deprecated loading of v1 window layouts (we're now on v2). If a v1 window layout is there, it will just be ignored and Chatterino will boot up as if it did not have a window layout at all, and on save that old window layout will be gone.

* Fix compile error for mac
2020-09-19 17:14:10 +02:00
Nico Sonack 930351779c
(#1874) Disable updates on non-Windows, Linux or macOS platforms (#1914)
* (#1874) Disable update checking for unsupported platforms

As described #1874, only Windows, macOS and GNU/Linux are officially
supplied with builds. Thus checking for updates is unnecessary if we
are e.g. on FreeBSD, OpenBSD, illumos distros and possibly other
Operating Systems.

This fixes #1874 by ifdef-ing the 3 officially supported platforms
when checking for updates. Otherwise a debug warning will be emitted
and in the settings the checkbox for beta-updates is hidden and
replaced by a message, explaining the reason for why there are no beta
updates.

* Update CHANGELOG

In accordance with #1874

* (#1874) Move platform check into checkForUpdates

As discussed in #1914

* (#1874) Move check for supported OS to a seperate function.

As requested in #1914
2020-08-24 12:02:56 +02:00
fourtf 1501da7e72 reverted update code to old state 2020-08-24 09:52:24 +02:00
fourtf df2cfa73f0 maybe fixed updates on macos 2020-08-24 09:42:59 +02:00
fourtf 50da694fff
Stable (#1905)
* fixed SearchWindow memory leak

* Update CHANGELOG.md

* added DebugCount for BaseWindow

* [Bug Fix] Color of second user highlight cannot be set (#1898)

* Highlighting: Fix bug preventing user highlight from being set

Before this commit, only the row of a clicked cell was checked, but not
the tab it was clicked in.

Since the "Whispers" row is the second row in the "Messages" tab on the
highlighting page, the color picker was not opened for the second entry
in the "Users" tab either. This commit fixes the bug by also checking
tab the cell was clicked in.

* Update CHANGELOG.md

* Emote Popup Improvements (#1895)

* Put exact matching emotes first

* Close GenericListView on Escape press

* smol fix

* fixed emote input when not in the first char

* fixes #1902

* closes #1904

Co-authored-by: Leon Richardt <leon.richardt@gmail.com>
Co-authored-by: Daniel <24928223+dnsge@users.noreply.github.com>
2020-08-23 11:28:22 +02:00
fourtf a8c61980ac removed default image uploader 2020-08-22 18:33:37 +02:00
fourtf 83b6fad8e6 fixed some concurrency issues 2020-08-22 11:45:18 +02:00
fourtf 1d1fd4d7c0 reordered settings 2020-08-13 18:56:40 +02:00
Daniel 0e6ca6b097
Vertical tabs (#1815)
* Vertical tabs

* Vertical tab wrapping

* Fix formatting

* Cleanup code

* Updated changelog

* Hide button row if no buttons exist

* Fix tab width expansion

Co-authored-by: fourtf <tf.four@gmail.com>
2020-08-13 15:43:08 +02:00
Jonas Schmitt 11b8948290
Add support for non-highlight channel point rewards (#1809) 2020-08-08 15:37:22 +02:00
mmb L 208f9b093c
Added setting to auto close user popup (#1833)
* Set autoclose as true by default to match stable version (2.1.7) behavior
2020-08-08 14:43:26 +02:00
Matthew Marlow e5f3bc9f3f
Improve Chatterino extension positioning (#1825)
This adds support for left-side chat
2020-08-01 15:42:56 +02:00
Daniel ba06b10135
Open usercard on mention click (#1674) 2020-07-18 16:03:51 +02:00
Paweł 682caf6b69
Add support for more image uploader services (#1741)
The list of links that have been uploaded is now also stored in the json format instead of csv
2020-07-05 14:32:10 +02:00
alazymeme f3f8b2d024
Fix popout player url (#1730)
* Update TwitchChannel.cpp

* Reformatting forsenY

* fixed other things

* xd

* Update TwitchChannel.cpp
2020-06-12 19:44:05 +02:00
apa420 6d5ba0c442
Show thumbnails for live streams inside of the split header tooltip (#1702)
This feature is enabled by default and can be disabled in the Settings dialog with the "Show stream thumbnail" setting
2020-05-24 11:57:15 +02:00
Daniel 680b500993
Fix update checker not working on macOS (#1642)
* Prevent update dialog from going off screen

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-05-10 13:13:47 +02:00
Daniel Pasch 8532c6d3bc
Add thumbnails to link tooltips if available (#1664)
This feature is off by default and can be enabled in the settings with the "Show link thumbnail" setting. This feature also requires the "Show link info when hovering" setting to be enabled.

thumbnails support is only there for direct image links, twitch clips, and youtube links. can be expanded in the future in the /api repo

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2020-05-10 12:11:10 +02:00
Mm2PL 2b1c9794b7
Add confirmation box for uploads. 2020-05-09 13:14:41 +02:00
fourtf 120f73db13 added additional checkbox for highlighted bits messages, fixes #1637 2020-04-18 20:05:05 +02:00
fourtf 097f4ccb3a refined highlight and added bits highlights 2020-04-15 23:15:45 +02:00