Commit graph

44 commits

Author SHA1 Message Date
pajlada 93e2bc18fa
refactor: move Network files from src/common/ to src/common/network/ (#5089) 2024-01-15 21:28:44 +01:00
pajlada 416806bb0a
refactor: Twitch PubSub client (#5059)
* Remove unused `setAccountData` function

* Move PubSub out of TwitchIrcServer and into Application

* Add changelog entry

* fix: assert feedback

* Add PubSub::unlistenPrefix as per review suggestion

* Fix tests

* quit pubsub on exit

might conflict with exit removal, so can be reverted but this shows it's possible

* Don't manually call stop on clients, it's called when the connection is closed

* nit: rename `mainThread` to `thread`

* Join in a thread!!!!!!!!
2024-01-06 13:18:37 +01:00
pajlada d085ab578f
refactor: Make Args less of a singleton (#5041)
This means it's no longer a singleton, and its lifetime is bound to our application.
This felt like a good small experiment to see how its changes would look
if we did this.
As a shortcut, `getApp` that is already a mega singleton keeps a
reference to Args, this means places that are a bit more difficult to
inject into call `getApp()->getArgs()` just like other things are
accessed.
2023-12-29 15:40:31 +01:00
nerix 25add89b14
feat: Add crash recovery on Windows (#5012) 2023-12-24 15:38:58 +01:00
nerix 66f4480371
fix: Fixed some compiler warnings (#5028)
* fix(C4101): unreferenced local variable

* fix(C4189): variable initialized but not referenced

* fix(C4305): narrowing from double to float

* fix(C4457): declaration hiding function parameter

* fix(C4456): shadowing declaration

* fix(C4996): remove deprecations

* chore: add changelog entry

* fix: Remove more unused variables

* fix: removed unused lambda captures

* Update changelog entry

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-12-16 11:24:28 +00:00
nerix b975900043
refactor: Toast (#4899)
* Fixes a bug where avatars weren't loaded on fresh installations of Chatterino.
* Avatars now update every two weeks.
* Removes misleading `DownlaodManager` (now part of `Toasts.cpp`).
* Refactors usage of WinToast to be easier to read.
* Added version to AUMI.
* Removes manual `QString` → `std::wstring` conversions.
* Removes uses of implicit ASCII casts in `Toasts.cpp`, meaning it can be compiled with `QT_NO_CAST_FROM_ASCII`.
2023-10-17 01:50:18 +00:00
Mm2PL 0e83367a2b
Force shortcuts to show in context menus on macOS (#4722)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-07-22 11:36:52 +00:00
CycloneTM caaa0d91f6
Update macOS icon for Ventura styling (#4577)
or something, idk macos terms

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-04-29 17:45:08 +02:00
nerix 08ae43e88e
Add Placeholder Color in Palette (#4477)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-03-29 08:21:35 +00:00
nerix c74b14a93a
Delete all but the last 5 crash dumps on startup (#4392)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-02-19 22:20:41 +00:00
nerix e377c30192
Add Crashpad Support on Windows (#4351)
* feat: crashpad on windows

* feat: inline it

* feat: more crashpad

* chore: remove qBreakpad

* fix: add mention to crashpad

* refactor: version string

* feat: add crashpad module

* refactor: build crashpad from source

* fix: minor adjustments

* chore: add changelog entry

* fix: formatting and include

* fix: format

* build: use flags similar to release profile

* ci: build with crashpad on windows

* ci: recurse submodules

* ci: always include crashpad

* fix: try 7z

for some reason zstd just doesn't run

* fix: wrong path for symbols

* fix: copy

pls don't build

* ci: use new cache key

* fix: missing pragma

* ci: add workflow without crashpad

* docs: elevate changelog entry

* fix: add link to cmake issue

* fix: windows include issue

Someone (crashpad) includes Windows.h before winsock2.h

* fix: working directory

* fix: another working directory
2023-02-12 20:36:58 +01:00
pajlada 032f290767
Sort and force grouping of includes (#4172)
This change enforces strict include grouping using IncludeCategories

In addition to adding this to the .clang-format file and applying it in the tests/src and src directories, I also did the following small changes:

    In ChatterSet.hpp, I changed lrucache to a <>include
    In Irc2.hpp, I change common/SignalVector.hpp to a "project-include"
    In AttachedWindow.cpp, NativeMessaging.cpp, WindowsHelper.hpp, BaseWindow.cpp, and StreamerMode.cpp, I disabled clang-format for the windows-includes
    In WindowDescriptors.hpp, I added the missing vector include. It was previously not needed because the include was handled by another file that was previously included first.
    clang-format minimum version has been bumped, so Ubuntu version used in the check-formatting job has been bumped to 22.04 (which is the latest LTS)
2022-11-27 19:32:53 +01:00
pajlada 6ef8e482c3
Set window icon in the whole application instead of in BaseWindow (#3554)
This makes icon visible on Ubuntu 20.04 while using AppImage build (and possibly some other setups as well).
2022-01-30 16:08:02 +01:00
LosFarmosCTL f787e31f8a
Add -n option to the open command (#3291) 2021-10-20 08:34:19 +02:00
Felanbird be3609a927
Capitalize mentions of Twitch, Chatterino, and IRC in comments and text/settings (#3274) 2021-10-17 15:06:58 +02:00
LosFarmosCTL acc573a8c5
Restart the application bundle instead of the underlying executable when crashing on macOS (#3268)
On macOS, programs are contained in ".app" application bundles. When chatterino restarts on a crash, it currently just looks for the executable path obtained via QApplication::applicationFilePath() and starts that again, which for macOS is the underlying unix executable inside of the application bundle. Unfortunately, for macOS those 2 are absolutely different, resulting in i.e. a second chatterino icon being added to the dock, due to the OS not recognizing that it is the same application.
2021-10-02 10:58:28 +00:00
Tal Neoran 6830e8b01b
Readd removing of unmodified cache files (#2947)
Co-authored-by: Mm2PL <mm2pl+gh@kotmisia.pl>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-07-03 11:40:24 +00:00
pajlada ddba279ff7
Deprecate C_DEBUG definition in favour of standard NDEBUG (#2783) 2021-05-20 12:21:41 +00: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
Leon Richardt 0eed45ae67
Chore: Proper Lambda Formatting (#2167)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-11-08 12:02:19 +01: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
Leon Richardt 17aa3f71cd
Remove Debug Output In Many Different Places (#1607)
* Application.cpp: Remove whisper debug output

* TwitchAccount.cpp: Remove AutoMod debug output

* BaseWindow.cpp: Remove mouse tracking debug output

* RunGui.cpp: Remove debug output for cleared cache items

* Notebook.cpp: Remove debug output for selected widgets

* LimitedQueue.hpp: Remove commented debug output

* IrcMessageHandler.cpp: Remove debug output when receiving whispers

* UserInfoPopup.cpp: Remove user name debug output

* ChannelView.cpp: Remove debug output when clicking a message

* Image.cpp: Remove commented debug output

* AttachedWindow.cpp: Remove commented debug output

* SplitOverlay.cpp: Remove commented debug output

* TwitchMessageBuilder.cpp: Remove debug output for highlights

* TwitchMessageBuilder.cpp: Remove debug output for blocked messages

* PubsubClient.cpp: Remove debug output on PubSub::listen

* PubsubClient.cpp: Remove debug output on PubSub::tryListen

* IncognitoBrowser.cpp: Remove debug output of browser command

* NativeMessaging.cpp: Remove debug output of message
2020-03-19 18:06:21 +01:00
fourtf 6f710823ed renamed getInstance() -> instance() for singletons 2019-10-07 22:42:34 +02:00
fourtf bc55a05480 clears cache files > 14 days 1 min after start 2019-10-07 22:14:00 +02:00
fourtf b64e2e9b70 Revert "Revert "added error message if settings initalizion failed""
This reverts commit f3ff40385d.
2019-10-05 16:40:04 +02:00
fourtf 9d1213ecad Revert "test #4"
This reverts commit a08ca1333f.
2019-10-03 22:17:57 +02:00
fourtf 34749c9d3d Revert "test #5"
This reverts commit 5aff7b0b40.
2019-10-03 22:17:54 +02:00
fourtf f3ff40385d Revert "added error message if settings initalizion failed"
This reverts commit 2b9b96abb5.
2019-10-03 22:12:22 +02:00
fourtf 5aff7b0b40 test #5 2019-10-03 21:52:10 +02:00
fourtf a08ca1333f test #4 2019-10-03 21:40:59 +02:00
fourtf 2b9b96abb5 added error message if settings initalizion failed 2019-10-03 18:05:56 +02:00
fourtf f27c8eb1b4 fixed crash restart conditions 2019-09-22 16:14:16 +02:00
fourtf 431d35e528 added setting to restart on SIGSEGV 2019-09-22 15:32:36 +02:00
fourtf 456065f508 moved resources out of Application 2019-09-22 10:54:32 +02:00
fourtf 6cb82307e6 switched std::optional to boost::optional 2019-08-25 22:58:19 +02:00
fourtf 23f1dd4646 update 2.1.0 2019-08-18 21:21:48 +02:00
fourtf e259b9e39f added brace wrapping after if and for 2018-10-21 13:43:02 +02:00
Marco Schmid 770e36c10c added winapi-call to flush clipboard (#778) 2018-10-09 18:37:51 +02:00
fourtf af7b742a23 changed .clang-format 2018-08-15 22:46:20 +02:00
fourtf f6414c9d7e remove settings and paths from Application 2018-08-12 12:56:28 +02:00
fourtf cf9560508c improving code quality 2018-08-10 20:53:13 +02:00
fourtf 0682214ba7 fixed settings background color 2018-08-07 08:12:44 +02:00
fourtf f71ff08e68 changed to 80 max column 2018-08-06 21:17:03 +02:00
fourtf c2e2dfb577 this commit is too big 2018-08-02 14:23:27 +02:00