Nerixyz and GitHub
45f98a71b0
refactor(window-layout): Build descriptor for serializing ( #7092 )
...
It's useful for other components to get a split descriptor from a split
(e.g. chatterino-embed). To avoid differences between the descriptor and
the JSON output (e.g. adding a field to the split data), this makes the
descriptor mandatory. Instead of going `SplitContainer* -> JSON`, we do
`SplitContainer* -> NodeDescriptor -> JSON`. In a followup, I'm going to
add `*Descriptor::toJSON`.
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-26 10:34:56 +00:00
Nerixyz and GitHub
8f84483330
feat: improve memory usage of FFZ badges ( #7126 )
...
FFZ badges consume a decent amount of memory in Chatterino. Before this
PR, they consumed 18.4 MiB.
We can do two cheap optimizations that cut the use in half:
- Use [`QVarLengthArray`](https://doc.qt.io/qt-6/qvarlengtharray.html )
to store the badges for a user instead of `std::set`. `std::set` always
allocates, even if there's only one badge. Since most users only have
one, we create many small allocations. With `QVarLengthArray<T, N>`, `N`
elements are stored inline. This reduced the memory usage to 11.9 MiB.
- Use `boost::unordered_flat_map` instead of `std::unordered_map`.
Because of relaxed requirements for the Boost map, it doesn't need to
store as much auxiliary data. This reduced the memory usage to 9.3 MiB.
A further optimization could be the use of a
`boost::container::flat_multimap<std::string, int>`. This gets us to 4.6
MiB. I haven't measured the performance of this. We'd have to assume
that FFZ returns us unique users per badge. The comparison with
`QString` for the lookup can be done by comparing `QString <
QLatin1StringView` (as we know badge IDs are latin1).
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-25 15:30:52 +00:00
5cee1b78d1
ci: bump Chatterino/msvc-dev-cmd from 2.0.5 to 2.0.7 ( #7101 )
...
Bumps
[Chatterino/msvc-dev-cmd](https://github.com/chatterino/msvc-dev-cmd )
from 2.0.5 to 2.0.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/chatterino/msvc-dev-cmd/releases ">Chatterino/msvc-dev-cmd's
releases</a>.</em></p>
<blockquote>
<h2>v2.0.6</h2>
<h2>What's Changed</h2>
<ul>
<li>Remove amd64_arm from build workflow by <a
href="https://github.com/Wissididom "><code>@Wissididom</code></a> in <a
href="https://redirect.github.com/Chatterino/msvc-dev-cmd/pull/3 ">Chatterino/msvc-dev-cmd#3</a></li>
<li>Update some ilammy's to Chatterino in README.md by <a
href="https://github.com/Wissididom "><code>@Wissididom</code></a> in <a
href="https://redirect.github.com/Chatterino/msvc-dev-cmd/pull/2 ">Chatterino/msvc-dev-cmd#2</a></li>
<li>Use a PowerShell composite action instead of NodeJS by <a
href="https://github.com/Wissididom "><code>@Wissididom</code></a> in <a
href="https://redirect.github.com/Chatterino/msvc-dev-cmd/pull/5 ">Chatterino/msvc-dev-cmd#5</a></li>
<li>Normalize indentations to 4 spaces by <a
href="https://github.com/Wissididom "><code>@Wissididom</code></a> in <a
href="https://redirect.github.com/Chatterino/msvc-dev-cmd/pull/6 ">Chatterino/msvc-dev-cmd#6</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Chatterino/msvc-dev-cmd/compare/v2.0.5...v2.0.6 ">https://github.com/Chatterino/msvc-dev-cmd/compare/v2.0.5...v2.0.6 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Chatterino/msvc-dev-cmd/commit/5e15a285487363708f5bc6a135fd434bd20d22a6 "><code>5e15a28</code></a>
Normalize indentations to 4 spaces (<a
href="https://redirect.github.com/chatterino/msvc-dev-cmd/issues/6 ">#6</a>)</li>
<li><a
href="https://github.com/Chatterino/msvc-dev-cmd/commit/7e0343fa431e4345b6215a4c2681980c3602f67f "><code>7e0343f</code></a>
Use a PowerShell composite action instead of NodeJS (<a
href="https://redirect.github.com/chatterino/msvc-dev-cmd/issues/5 ">#5</a>)</li>
<li><a
href="https://github.com/Chatterino/msvc-dev-cmd/commit/ca6e1c6fe2653f6fae90ebd04d38fced8b53259e "><code>ca6e1c6</code></a>
docs: update some ilammy's to Chatterino in README.md (<a
href="https://redirect.github.com/chatterino/msvc-dev-cmd/issues/2 ">#2</a>)</li>
<li><a
href="https://github.com/Chatterino/msvc-dev-cmd/commit/579e4881d4df6b285c4f683fc07fc8f19006977d "><code>579e488</code></a>
ci: remove amd64_arm from build workflow (<a
href="https://redirect.github.com/chatterino/msvc-dev-cmd/issues/3 ">#3</a>)</li>
<li>See full diff in <a
href="https://github.com/chatterino/msvc-dev-cmd/compare/v2.0.5...v2.0.6 ">compare
view</a></li>
</ul>
</details>
<br />
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com >
2026-07-25 14:40:14 +00:00
d64ad573d8
ci: bump actions/setup-python from 6 to 7 ( #7123 )
...
Bumps [actions/setup-python](https://github.com/actions/setup-python )
from 6 to 7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-python/releases ">actions/setup-python's
releases</a>.</em></p>
<blockquote>
<h2>v7.0.0</h2>
<h2>What's Changed</h2>
<h3>Enhancements</h3>
<ul>
<li>Migrate to ESM and upgrade dependencies by <a
href="https://github.com/priyagupta108 "><code>@priyagupta108</code></a>
in <a
href="https://redirect.github.com/actions/setup-python/pull/1330 ">actions/setup-python#1330</a></li>
<li>Pin SHA commits and update docs with latest versions by <a
href="https://github.com/HarithaVattikuti "><code>@HarithaVattikuti</code></a>
in <a
href="https://redirect.github.com/actions/setup-python/pull/1338 ">actions/setup-python#1338</a></li>
<li>Remove the pip-install input by <a
href="https://github.com/gowridurgad "><code>@gowridurgad</code></a> in
<a
href="https://redirect.github.com/actions/setup-python/pull/1336 ">actions/setup-python#1336</a></li>
</ul>
<h3>Bug Fix</h3>
<ul>
<li>Fix to Classify stderr warning messages as warnings instead of
errors in annotations by <a
href="https://github.com/lmvysakh "><code>@lmvysakh</code></a> in <a
href="https://redirect.github.com/actions/setup-python/pull/1335 ">actions/setup-python#1335</a></li>
<li>Validate and retry manifest fetch to prevent silent failures by <a
href="https://github.com/priyagupta108 "><code>@priyagupta108</code></a>
in <a
href="https://redirect.github.com/actions/setup-python/pull/1332 ">actions/setup-python#1332</a></li>
</ul>
<h3>Dependency Upgrade</h3>
<ul>
<li>Bump certifi from 2020.6.20 to 2024.7.4 in
/<strong>tests</strong>/data by <a
href="https://github.com/dependabot "><code>@dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-python/pull/1328 ">actions/setup-python#1328</a></li>
<li>Remove EOL Python versions and Bumps numpy text fixture by <a
href="https://github.com/priya-kinthali "><code>@priya-kinthali</code></a>
in <a
href="https://redirect.github.com/actions/setup-python/pull/1333 ">actions/setup-python#1333</a></li>
<li>Upgrade <code>@actions/cache</code> to 6.2.0 by <a
href="https://github.com/philip-gai "><code>@philip-gai</code></a> in <a
href="https://redirect.github.com/actions/setup-python/pull/1337 ">actions/setup-python#1337</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/lmvysakh "><code>@lmvysakh</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-python/pull/1335 ">actions/setup-python#1335</a></li>
<li><a
href="https://github.com/philip-gai "><code>@philip-gai</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-python/pull/1337 ">actions/setup-python#1337</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-python/compare/v6...v7.0.0 ">https://github.com/actions/setup-python/compare/v6...v7.0.0 </a></p>
<h2>v6.3.0</h2>
<h2>What's Changed</h2>
<h3>Enhancement</h3>
<ul>
<li>Add RHEL support and include Linux distro in cache keys by <a
href="https://github.com/priyagupta108 "><code>@priyagupta108</code></a>
in <a
href="https://redirect.github.com/actions/setup-python/pull/1323 ">actions/setup-python#1323</a></li>
<li>Fix pip cache error handling on Windows by <a
href="https://github.com/priyagupta108 "><code>@priyagupta108</code></a>
in <a
href="https://redirect.github.com/actions/setup-python/pull/1040 ">actions/setup-python#1040</a></li>
</ul>
<h3>Dependency update</h3>
<ul>
<li>Upgrade minimatch from 3.1.2 to 3.1.5 by <a
href="https://github.com/dependabot "><code>@dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-python/pull/1281 ">actions/setup-python#1281</a></li>
<li>Upgrade actions dependencies by <a
href="https://github.com/gowridurgad "><code>@gowridurgad</code></a>
with <a href="https://github.com/Copilot "><code>@Copilot</code></a> in
<a
href="https://redirect.github.com/actions/setup-python/pull/1303 ">actions/setup-python#1303</a></li>
<li>Upgrade <code>@actions/cache</code> to 5.1.0, log cache write
denied by <a
href="https://github.com/jasongin "><code>@jasongin</code></a> in <a
href="https://redirect.github.com/actions/setup-python/pull/1324 ">actions/setup-python#1324</a></li>
<li>Upgrade dependency versions and test workflow configuration by <a
href="https://github.com/HarithaVattikuti "><code>@HarithaVattikuti</code></a>
in <a
href="https://redirect.github.com/actions/setup-python/pull/1322 ">actions/setup-python#1322</a></li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Update advanced-usage.md by <a
href="https://github.com/Dunky-Z "><code>@Dunky-Z</code></a> in <a
href="https://redirect.github.com/actions/setup-python/pull/811 ">actions/setup-python#811</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/gowridurgad "><code>@gowridurgad</code></a>
with <a href="https://github.com/Copilot "><code>@Copilot</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-python/pull/1303 ">actions/setup-python#1303</a></li>
<li><a href="https://github.com/jasongin "><code>@jasongin</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-python/pull/1324 ">actions/setup-python#1324</a></li>
<li><a href="https://github.com/Dunky-Z "><code>@Dunky-Z</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-python/pull/811 ">actions/setup-python#811</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-python/compare/v6.2.0...v6.3.0 ">https://github.com/actions/setup-python/compare/v6.2.0...v6.3.0 </a></p>
<h2>v6.2.0</h2>
<h2>What's Changed</h2>
<h3>Dependency Upgrades</h3>
<ul>
<li>Upgrade dependencies to Node 24 compatible versions by <a
href="https://github.com/salmanmkc "><code>@salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/setup-python/pull/1259 ">actions/setup-python#1259</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/setup-python/commit/5fda3b95a4ea91299a34e894583c3862153e4b97 "><code>5fda3b9</code></a>
Pin SHA commits and update docs with latest versions (<a
href="https://redirect.github.com/actions/setup-python/issues/1338 ">#1338</a>)</li>
<li><a
href="https://github.com/actions/setup-python/commit/4ab7e95f05e168b4356aebde89dd84f59c283d8e "><code>4ab7e95</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/setup-python/issues/1337 ">#1337</a>
from actions/philip-gai/bump-actions-cache-6-2-0</li>
<li><a
href="https://github.com/actions/setup-python/commit/0f3a009f475dbea83c0371cd85d099690fee8c5c "><code>0f3a009</code></a>
Remove the pip-install input (<a
href="https://redirect.github.com/actions/setup-python/issues/1336 ">#1336</a>)</li>
<li><a
href="https://github.com/actions/setup-python/commit/f8cf4291c8b8e273ddd26e569454615c7315d932 "><code>f8cf429</code></a>
Migrate to ESM and upgrade dependencies (<a
href="https://redirect.github.com/actions/setup-python/issues/1330 ">#1330</a>)</li>
<li><a
href="https://github.com/actions/setup-python/commit/54baeea5b34417d10a7479663a23cca53ea209b5 "><code>54baeea</code></a>
Validate and retry manifest fetch to prevent silent failures (<a
href="https://redirect.github.com/actions/setup-python/issues/1332 ">#1332</a>)</li>
<li><a
href="https://github.com/actions/setup-python/commit/c7092773a316760f4ecfe498e4af668a4dafeac5 "><code>c709277</code></a>
Annotation code fix (<a
href="https://redirect.github.com/actions/setup-python/issues/1335 ">#1335</a>)</li>
<li><a
href="https://github.com/actions/setup-python/commit/6849080452e69b330395e8a6d23cf90f56d76a1a "><code>6849080</code></a>
remove EOL Python versions and Bumps numpy text fixture (<a
href="https://redirect.github.com/actions/setup-python/issues/1333 ">#1333</a>)</li>
<li><a
href="https://github.com/actions/setup-python/commit/0903b469fbf4441aadfe4f4b249dc5b1fba3a73e "><code>0903b46</code></a>
Bump certifi from 2020.6.20 to 2024.7.4 in /<strong>tests</strong>/data
(<a
href="https://redirect.github.com/actions/setup-python/issues/1328 ">#1328</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/setup-python/compare/v6...v7 ">compare
view</a></li>
</ul>
</details>
<br />
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-25 14:35:11 +02:00
544c5903af
ci: bump vmactions/freebsd-vm from 1.5.0 to 1.5.2 ( #7119 )
...
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm )
from 1.5.0 to 1.5.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vmactions/freebsd-vm/releases ">vmactions/freebsd-vm's
releases</a>.</em></p>
<blockquote>
<h2>v1.5.2</h2>
<p>reduce image sizes.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/vmactions/freebsd-vm/compare/v1...v1.5.2 ">https://github.com/vmactions/freebsd-vm/compare/v1...v1.5.2 </a></p>
<h2>v1.5.1</h2>
<p>The prepare step (installing packages etc.) normally runs on every
build. With cache-after-prepare: true, the action shuts the VM down
cleanly after prepare has finished, caches the prepared VM image, and
boots the VM again before run. Later runs with the same prepare script
restore the prepared image, skip prepare entirely, and start directly at
run</p>
<p><a
href="https://github.com/vmactions/freebsd-vm#10-cache-the-vm-image-after-prepare ">https://github.com/vmactions/freebsd-vm#10-cache-the-vm-image-after-prepare </a></p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/vmactions/freebsd-vm/compare/v1...v1.5.1 ">https://github.com/vmactions/freebsd-vm/compare/v1...v1.5.1 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vmactions/freebsd-vm/commit/77ed28d336d03fe19a3f4f7266c1d2c4714dd79d "><code>77ed28d</code></a>
Update vmactions/freebsd-vm from base-vm</li>
<li><a
href="https://github.com/vmactions/freebsd-vm/commit/7e4394ceec879179f8c566de645663ea497fc2a7 "><code>7e4394c</code></a>
Generated from base-vm</li>
<li><a
href="https://github.com/vmactions/freebsd-vm/commit/1943f6c7798721062c79065c2fff836250b050fc "><code>1943f6c</code></a>
Update vmactions/freebsd-vm from base-vm</li>
<li><a
href="https://github.com/vmactions/freebsd-vm/commit/df48c4d9631e2adc7580787adba929840803f295 "><code>df48c4d</code></a>
Generated from base-vm</li>
<li><a
href="https://github.com/vmactions/freebsd-vm/commit/857a4066240a8bc5a148fed1f954a4be8419d909 "><code>857a406</code></a>
fix for image size</li>
<li><a
href="https://github.com/vmactions/freebsd-vm/commit/b05c66399774471f70a8d6bcca5e3043ae9ac5f4 "><code>b05c663</code></a>
Update version to v1.5.1</li>
<li><a
href="https://github.com/vmactions/freebsd-vm/commit/a46f291854f624412f94e37b2e6ba64bdb52b5dd "><code>a46f291</code></a>
Update vmactions/freebsd-vm from base-vm</li>
<li><a
href="https://github.com/vmactions/freebsd-vm/commit/9f53bb3f0e92d93ea182d74a934572b6223d2763 "><code>9f53bb3</code></a>
Generated from base-vm</li>
<li><a
href="https://github.com/vmactions/freebsd-vm/commit/cc38efae1744a90315f43bd85e49116af72320fa "><code>cc38efa</code></a>
Update version to v1.5.0</li>
<li><a
href="https://github.com/vmactions/freebsd-vm/commit/0eea5137bc632b845b6194e80c74c373e0d617ac "><code>0eea513</code></a>
Update vmactions/freebsd-vm from base-vm</li>
<li>Additional commits viewable in <a
href="https://github.com/vmactions/freebsd-vm/compare/v1.5.0...v1.5.2 ">compare
view</a></li>
</ul>
</details>
<br />
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com >
2026-07-25 11:41:53 +00:00
aba6e69fb1
ci: bump lib/twitch-eventsub-ws/lib/date from 7875f43 to 179a6b9 ( #7129 )
...
Bumps
[lib/twitch-eventsub-ws/lib/date](https://github.com/HowardHinnant/date )
from `7875f43` to `179a6b9`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/HowardHinnant/date/commit/179a6b921ccd6179b5b04dce812a89f71a51b4df "><code>179a6b9</code></a>
Update remote_version to new website</li>
<li>See full diff in <a
href="https://github.com/HowardHinnant/date/compare/7875f43aa9288d176191c83e8284d61acdd5ab7c...179a6b921ccd6179b5b04dce812a89f71a51b4df ">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-25 12:48:19 +02:00
Nerixyz and GitHub
6de0516c66
fix(windows): deploy OpenSSL TLS plugin ( #7125 )
...
Since #7009 , our Windows nightly builds were missing the OpenSSL TLS
plugin for Qt. Qt 6.8+ only deploys the OpenSSL plugin if it sees
`libcrypto.dll` or `libssl.dll`. However, our OpenSSL is named
`lib{ssl,crypto}-3-x64.dll`. `--force-openssl` will deploy the SSL
plugin regardless.
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-22 14:49:52 +02:00
Nerixyz and GitHub
b2f1e12e62
tests: increase wait and timeout in OnceFlag.waitFor ( #7121 )
...
In hopes to not land a PR for #7116 , this increases the wait + timeout
as described in
https://github.com/Chatterino/chatterino2/issues/7116#issuecomment-5015316981 .
I think the issue is that macOS runners on GitHub Actions are so
incredibly slow sometimes that we get these weird timings. And if that's
the cause, the overhead (e.g. from switching tasks) should be constant.
Then, if we increase the wait and timeout, we also increase the accepted
jitter (timeout - wait) from 100ms to 1s. So if the lag we get is at
about 150ms, that is now accepted.
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-20 16:59:09 +00:00
ExeArco and GitHub
d9886c8840
accounts: add visual indicator for login expiry ( #6919 )
...
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-19 18:43:11 +00:00
Arne and GitHub
d6c8bdde61
emotepopup: search by tags and original name ( #7077 )
...
Search by tags with `tags:forsen`
Search by tags & name with `tags:forsen pepe`
Reviewed-by: Nerixyz <nerixdev@outlook.de >
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-19 20:00:53 +02:00
Leafyzito and GitHub
c3368d0fb5
feat: add tab history navigation ( #7063 )
...
Tested-by: apa420 <17131426+apa420@users.noreply.github.com >
Reviewed-by: Nerixyz <nerixdev@outlook.de >
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-19 14:24:10 +00:00
Nerixyz and GitHub
d853137820
feat(plugins): Add c2.DateTime ( #7096 )
...
This adds the `DateTime` API described in #7021 .
Reviewed-by: Mm2PL <mm2pl+gh@kotmisia.pl >
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-19 13:26:21 +00:00
Nerixyz and GitHub
14b5c665a4
chore: Scale down pinned message banner ( #7113 )
...
I think the text in the pinned message banner is too large in relation
to the default UI font width, so I scaled it down.
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
Parent-pr: 7014
2026-07-19 11:41:42 +00:00
Nerixyz and GitHub
2ca4b28457
fix: Update pined message height if viewport resized ( #7114 )
...
If the split is not 100dp wide, the calculated message height can be
wrong. If the split is larger than 100dp and the message would wrap at
that size, the widget would be too tall. And vice versa for splits
smaller than 100dp.
We do calculate the height in our resize event, but we use the size of
our children. Their resize events are delivered after we're resized. So
we check if we need to resize after we show the widget. This does result
in a small flash where the content is sized incorrectly, but better than
it being incorrect the entire time.
Parent-pr: 7014
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-19 11:00:12 +00:00
JEC15 and GitHub
b581099119
chore: add ArmpitsLover420 to contributors list ( #7115 )
...
Reviewed-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com >
2026-07-19 10:19:18 +00:00
James Upjohn and GitHub
355c8192d9
chore: clarify r9k references as "unique chat" ( #7112 )
...
Reviewed-by: Mm2PL <mm2pl+gh@kotmisia.pl >
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-18 23:03:09 +00:00
Arne and GitHub
8ccb6d6be7
feat: add setting to show shared chat badge for all messages ( #7099 )
...
This behaviour is enabled by default, and can be disabled in the settings.
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-19 00:14:18 +02:00
JEC15 and GitHub
dda05c03c3
fix: ignore phrase replacements break in some scenarios ( #7098 )
...
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-18 17:18:31 +00:00
Marie Ramlow and GitHub
290f896759
fix: explicitly set QT desktop file name ( #7110 )
...
This fixes an issue with GNOME not being able to display the application
icon, because in a rare edge case QT would set an incorrect wayland
app_id.
Link: https://github.com/NixOS/nixpkgs/issues/542967
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-18 16:34:42 +00:00
Arne and GitHub
4e198083e1
fix: make pinned message text selectable ( #7109 )
...
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
Reviewed-by: Nerixyz <nerixdev@outlook.de >
Parent-pr: 7014
2026-07-18 13:21:55 +00:00
teknsl and GitHub
78e856f7c9
feat: command-line arguments for setting portable directory ( #7093 )
...
Reviewed-by: Nerixyz <nerixdev@outlook.de >
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-18 11:53:18 +00:00
Neil Lobo and GitHub
14bf8c6fad
fix(plugins): vip badge type ( #7107 )
...
Reviewed-by: Mm2PL <mm2pl+gh@kotmisia.pl >
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-18 11:01:15 +00:00
somso and GitHub
b1c64d6488
Included alt pronouns in usercards ( #7108 )
...
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
Reviewed-by: Nerixyz <nerixdev@outlook.de >
2026-07-18 10:11:04 +00:00
invisibl3cat and GitHub
7a6348e3ad
sharedchat: respect preferred username display mode in header ( #7111 )
...
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
Parent-pr: 6948
2026-07-18 11:23:40 +02:00
9112873c55
ci: bump actions/setup-node from 6 to 7 ( #7105 )
...
Bumps [actions/setup-node](https://github.com/actions/setup-node ) from 6
to 7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-node/releases ">actions/setup-node's
releases</a>.</em></p>
<blockquote>
<h2>v7.0.0</h2>
<h2>What's Changed</h2>
<h3>Enhancements:</h3>
<ul>
<li>Add cache-primary-key and cache-matched-key as outputs by <a
href="https://github.com/gowridurgad "><code>@gowridurgad</code></a> in
<a
href="https://redirect.github.com/actions/setup-node/pull/1577 ">actions/setup-node#1577</a></li>
<li>Migrate to ESM and upgrade dependencies by <a
href="https://github.com/gowridurgad "><code>@gowridurgad</code></a> in
<a
href="https://redirect.github.com/actions/setup-node/pull/1574 ">actions/setup-node#1574</a></li>
</ul>
<h3>Bug fixes:</h3>
<ul>
<li>Remove dummy NODE_AUTH_TOKEN export by <a
href="https://github.com/gowridurgad "><code>@gowridurgad</code></a> in
<a
href="https://redirect.github.com/actions/setup-node/pull/1558 ">actions/setup-node#1558</a></li>
<li>Only use <code>mirrorToken</code> in <code>getManifest</code> if
it's provided by <a
href="https://github.com/deiga "><code>@deiga</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/1548 ">actions/setup-node#1548</a></li>
</ul>
<h3>Documentation updates:</h3>
<ul>
<li>Add documentation for publishing to npm with Trusted Publisher
(OIDC) by <a
href="https://github.com/chiranjib-swain "><code>@chiranjib-swain</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1536 ">actions/setup-node#1536</a></li>
<li>docs: Update restore-only cache documentation by <a
href="https://github.com/priya-kinthali "><code>@priya-kinthali</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1550 ">actions/setup-node#1550</a></li>
<li>docs: Update caching recommendations to mitigate cache poisoning
risks by <a
href="https://github.com/chiranjib-swain "><code>@chiranjib-swain</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1567 ">actions/setup-node#1567</a></li>
</ul>
<h3>Dependency update:</h3>
<ul>
<li>Upgrade <code>@actions/cache</code> to 5.1.0, log cache write
denied by <a
href="https://github.com/jasongin "><code>@jasongin</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/1569 ">actions/setup-node#1569</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/chiranjib-swain "><code>@chiranjib-swain</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/1536 ">actions/setup-node#1536</a></li>
<li><a href="https://github.com/deiga "><code>@deiga</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/1548 ">actions/setup-node#1548</a></li>
<li><a href="https://github.com/jasongin "><code>@jasongin</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/1569 ">actions/setup-node#1569</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v6...v7.0.0 ">https://github.com/actions/setup-node/compare/v6...v7.0.0 </a></p>
<h2>v6.5.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update <code>@actions/cache</code> to 5.1.0 and add security
overrides for undici and fast-xml-parser by <a
href="https://github.com/HarithaVattikuti "><code>@HarithaVattikuti</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1579 ">actions/setup-node#1579</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v6.4.0...v6.5.0 ">https://github.com/actions/setup-node/compare/v6.4.0...v6.5.0 </a></p>
<h2>v6.4.0</h2>
<h2>What's Changed</h2>
<h3>Dependency updates:</h3>
<ul>
<li>Upgrade <a
href="https://github.com/actions "><code>@actions</code></a>
dependencies by <a
href="https://github.com/Copilot "><code>@Copilot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/1525 ">actions/setup-node#1525</a></li>
<li>Update Node.js versions in versions.yml and bump package to v6.4.0
by <a
href="https://github.com/priya-kinthali "><code>@priya-kinthali</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1533 ">actions/setup-node#1533</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Copilot "><code>@Copilot</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/1525 ">actions/setup-node#1525</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v6...v6.4.0 ">https://github.com/actions/setup-node/compare/v6...v6.4.0 </a></p>
<h2>v6.3.0</h2>
<h2>What's Changed</h2>
<h3>Enhancements:</h3>
<ul>
<li>Support parsing <code>devEngines</code> field by <a
href="https://github.com/susnux "><code>@susnux</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/1283 ">actions/setup-node#1283</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/setup-node/commit/820762786026740c76f36085b0efc47a31fe5020 "><code>8207627</code></a>
Migrate to ESM and upgrade dependencies (<a
href="https://redirect.github.com/actions/setup-node/issues/1574 ">#1574</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/04be95cf3511ea51ebf9f224ddfb99cc7ab87cd4 "><code>04be95c</code></a>
Add cache-primary-key and cache-matched-key as outputs (<a
href="https://redirect.github.com/actions/setup-node/issues/1577 ">#1577</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/7c2c68d20d402ed6a201ada70a81341941093140 "><code>7c2c68d</code></a>
docs: Update caching recommendations to mitigate cache poisoning risks
(<a
href="https://redirect.github.com/actions/setup-node/issues/1567 ">#1567</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/6a61c0375d66246de94630495909f12cf8dac84d "><code>6a61c03</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/setup-node/issues/1569 ">#1569</a>
from jasongin/update-actions-cache-5.1.0</li>
<li><a
href="https://github.com/actions/setup-node/commit/30eb73b41ded577900c1ebf968ef95cdf8f7434f "><code>30eb73b</code></a>
Resolve high-severity audit issues</li>
<li><a
href="https://github.com/actions/setup-node/commit/4e1a87a501d0302f99e30e2748568adcb388d09f "><code>4e1a87a</code></a>
Update dist</li>
<li><a
href="https://github.com/actions/setup-node/commit/360237f0c01778d0c17291f75c56d6feae4f7574 "><code>360237f</code></a>
Strict equality</li>
<li><a
href="https://github.com/actions/setup-node/commit/4f8aac5beb2f0854bc79651567a18c67eb0b9de3 "><code>4f8aac5</code></a>
Bump <code>@actions/cache</code> to 5.1.0, log cache write denied</li>
<li><a
href="https://github.com/actions/setup-node/commit/f4a67bbeca970f103397d3d2b9462cf787cd2980 "><code>f4a67bb</code></a>
Only use <code>mirrorToken</code> in <code>getManifest</code> if it's
provided (<a
href="https://redirect.github.com/actions/setup-node/issues/1548 ">#1548</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/0355742c943ddb13ca8a6b700f824231caa91e75 "><code>0355742</code></a>
Remove dummy NODE_AUTH_TOKEN export (<a
href="https://redirect.github.com/actions/setup-node/issues/1558 ">#1558</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/setup-node/compare/v6...v7 ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-15 11:06:23 +02:00
3260f53816
ci: bump lib/libcommuni from bb5417c to ac0e713 ( #7102 )
...
Bumps [lib/libcommuni](https://github.com/Chatterino/libcommuni ) from
`bb5417c` to `ac0e713`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Chatterino/libcommuni/commit/ac0e713e5a904b6f3231c70e076f6fd67a78455e "><code>ac0e713</code></a>
tests: build with cmake as well (<a
href="https://redirect.github.com/Chatterino/libcommuni/issues/12 ">#12</a>)</li>
<li><a
href="https://github.com/Chatterino/libcommuni/commit/881ee412986b9f871df20d587263aacb2a738ff0 "><code>881ee41</code></a>
fix(ci): Coverage and pin macOS to 14 (<a
href="https://redirect.github.com/Chatterino/libcommuni/issues/11 ">#11</a>)</li>
<li><a
href="https://github.com/Chatterino/libcommuni/commit/0cc209ffe3315b9f81bd4f582dde8f3c452e3e5c "><code>0cc209f</code></a>
ci: use Chatterino fork of ilammy/msvc-dev-cmd action (<a
href="https://redirect.github.com/Chatterino/libcommuni/issues/10 ">#10</a>)</li>
<li>See full diff in <a
href="https://github.com/Chatterino/libcommuni/compare/bb5417c451d764f57f2f1b3e1c9a81496b5521bd...ac0e713e5a904b6f3231c70e076f6fd67a78455e ">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 11:56:46 +02:00
tlos and GitHub
fa2badce64
Add tlos to contributors list ( #7100 )
...
Reviewed-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com >
2026-07-14 11:40:02 +02:00
invisibl3cat and GitHub
91cf6a4a57
Show participants in a shared chat session in the split header ( #6948 )
...
Reviewed-by: Nerixyz <nerixdev@outlook.de >
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-12 12:11:48 +00:00
invisibl3cat and GitHub
5e73ba7e24
nit: try to dequote logfile path ( #6982 )
...
Reviewed-by: Nerixyz <nerixdev@outlook.de >
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-12 11:26:08 +00:00
Nerixyz and GitHub
bc772c5b2b
chore(window-layout): cleanup loadFromJSON ( #7089 )
...
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-12 10:45:52 +00:00
teknsl and GitHub
2cb4657966
refactor: uncouple Args from Paths ( #7084 )
...
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
Reviewed-by: Nerixyz <nerixdev@outlook.de >
Reviewed-by: Mm2PL <mm2pl+gh@kotmisia.pl >
2026-07-12 09:57:08 +00:00
tlos and GitHub
7d4f10e60f
feat: add pinned message banner ( #7014 )
...
Reviewed-by: Mm2PL <mm2pl+gh@kotmisia.pl >
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
Reviewed-by: Nerixyz <nerixdev@outlook.de >
2026-07-12 11:17:19 +02:00
pajlada and GitHub
597a2c57dd
reuse: annotate some more source files ( #7086 )
2026-07-11 11:08:33 +00:00
Wissididom and GitHub
2130871a83
ci: update to macOS 26 for the Qt 6.11 build ( #7091 )
...
Reviewed-by: Nerixyz <nerixdev@outlook.de >
Reviewed-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com >
2026-07-11 12:08:55 +02:00
Nerixyz and GitHub
ad99ab8daa
refactor: Use magic_enum for encoding channels ( #7079 )
...
Split from #6906 .
This changes the en-/decoding of channels in the window layout to use
magic-enum for translating between enum and string.
This way, the names are consistent when en-/deconding. And more
importantly, when adding channel types, you should get compiler warnings
in switch statements for uncovered cases.
Tested-by: Mm2PL <mm2pl+gh@kotmisia.pl >
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-05 14:09:18 +00:00
Nerixyz and GitHub
dbfa071447
fix(channelview): Use source channel more often ( #7085 )
...
We have info about the channel that we're derived from in `ChannelView`,
but didn't use it for context menu items. This PR does that.
Closes #7082 .
Tested-by: Mm2PL <mm2pl+gh@kotmisia.pl >
Reported-by: Mm2PL <mm2pl+gh@kotmisia.pl >
2026-07-05 13:19:16 +00:00
pajlada and GitHub
bff7e92c62
deps: update pajlada/serialize to v0.3.0 ( #7088 )
2026-07-05 12:00:42 +00:00
teknsl and GitHub
e493a32992
refactor: unsingletonize Modes ( #7080 )
...
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-04 16:10:03 +00:00
invisibl3cat and GitHub
8296b2b113
feat: Favourite emotes ( #6968 )
...
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
Reviewed-by: Nerixyz <nerixdev@outlook.de >
2026-07-04 17:28:30 +02:00
Nerixyz and GitHub
23eefe3b77
chore: require 202211 for expected from std ( #7054 )
...
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-04 12:40:37 +00:00
3b1aa7dbf8
fix: Use dark background in ColorPicker dialog ( #7060 )
...
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com >
2026-07-04 11:36:40 +00:00
teknsl and GitHub
0b28fbcba6
dev: remove QtKeychain dependency ( #7078 )
...
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-07-04 09:34:07 +00:00
Nerixyz and GitHub
305149a795
refactor(plugins): Use signals to update UI ( #7030 )
...
The plugin UI manually updated itself whenever the user changed the
state by clicking a button (e.g. enabling a plugin). This gets more
complicated when other parts of Chatterino can also load/toggle plugins.
To help with this, I added a signal for the current list of plugins. The
UI also reacts to changes to the enabled plugins (a setting).
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-06-30 11:50:01 +00:00
e6931b1b14
ci: bump vmactions/freebsd-vm from 1.4.8 to 1.5.0 ( #7076 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-30 12:32:13 +02:00
Arne and GitHub
2855462fbd
notifications: show action setting on non windows systems ( #7023 )
...
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-06-28 15:16:25 +00:00
Arne and GitHub
b47316039b
fix: don't highlight viewed messages across windows ( #7017 )
...
Previously this was only done inside the windows notebook which resulted
in tabs getting highlighted despite having the tab open in another
window (e.g. in a popup).
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
2026-06-28 14:07:33 +00:00
Arne and GitHub
4fc60dd2e0
fix: update primary selection when selecting messages ( #7070 )
...
Reviewed-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com >
2026-06-28 10:24:57 +00:00
Nerixyz and GitHub
b506d35eb2
feat: reverse search previously sent messages ( #6622 )
...
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
Reviewed-by: Mm2PL <mm2pl+gh@kotmisia.pl >
2026-06-28 00:16:43 +02:00
3b2ad254b9
docs: Add section on AI tools ( #6902 )
...
This adds a small section on the use of AI tools/assistants to the
`CONTRIBUTING.md` in hopes that people read it.
Co-authored-by: fourtf <tf.four@gmail.com >
Co-authored-by: Mm2PL <mm2pl+gh@kotmisia.pl >
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com >
2026-06-27 16:21:25 +00:00
Arne and GitHub
827a09cfc8
fix: add scrollbar highlight for uncategorized notifications ( #7064 )
...
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com >
Parent-pr: #7038
2026-06-27 14:56:11 +00:00