6061 Commits

Author SHA1 Message Date
RickyRister 19dbb17fb9 [SettingsManager] Properly handle multithreaded access again (#6844)
* [SettingsManager] Properly handle multithreaded access again

* Add comment

* Add batch write function

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-05-05-Development-3.0.0-beta.63
2026-05-05 21:03:01 +02:00
BruebachL 7c9fbe2be0 Don't queue connection (#6842)
Took 5 minutes

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-05-04-Development-2.11.0-beta.62
2026-05-04 15:44:48 +02:00
BruebachL d30690236a Reload card db and notify enabled sets change on "Manage Sets" dialog save (#6837)
* Reload card db and notify enabled sets change on "Manage Sets" dialog save

Took 1 hour 18 minutes

Took 6 seconds

* Extract to method, also notify on "Reload db" and "new sets found"

Took 3 minutes

Took 4 seconds

* Add an "always enable new sets" fuse to "new sets found" dialog

Took 11 minutes

* Always debounce modelDirty() with dirty() timer.

Took 29 minutes

Took 3 minutes

* Performance improvements for settings by not constructing a new settings object on every single set() call (this forced a sync to/from fs but it seems fine to just rely on Qts own periodic sync?)

Took 23 minutes

Took 3 seconds

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-05-03 03:11:10 +02:00
tooomm ac2e995f15 add annotations level (#6840) 2026-04-30 23:51:53 +02:00
SlightlyCircuitous dac611f0f1 Add Fedora 44 build and drop Fedora 42 build (#6836)
* Add Fedora 44; Drop Fedora 42

* Delete .ci/Fedora42 directory

* Create Dockerfile

* Update release_template.md

* Skip debug
2026-04-30 21:09:49 +02:00
ebbit1q 45ab2602c6 ensure judges are omniscient when not spectating (#6831) 2026-04-30 14:31:28 +02:00
tooomm 5101cc3d74 CI: Ensure Docker runs + publishes images only on stable releases (#6839)
* Update docker-release.yml

* Update docker-release.yml

* Update docker-release.yml

* Update docker-release.yml

* Update docker-release.yml
2026-04-30 14:30:51 +02:00
BruebachL 9ac9a0c73a [Game] Add a coinflip shortcut. (#6829)
Took 18 minutes

Took 6 seconds

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-04-29 22:09:30 +02:00
BruebachL 314a577807 Do not allow users to remove VDE functionality by closing tabs (#6838)
* Do not allow users to remove VDE functionality by closing tabs.

Took 6 minutes

* Set filter toolbar visible on delayed initialization.

Took 5 minutes

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-04-29 12:37:47 +02:00
tooomm c5ace60f26 Bump Doxygen to 1.16.1 (#6752)
* Bump Doxygen version to 1.16.1

* Update Doxyfile

* Enable parallel processing
2026-04-29 09:40:18 +02:00
transifex-integration[bot] 8953ae3c67 Updates for project Cockatrice and language de (#6833)
* Translate cockatrice/cockatrice_en@source.ts in de

100% translated source file: 'cockatrice/cockatrice_en@source.ts'
on 'de'.

* Translate cockatrice/cockatrice_en@source.ts in de

100% translated source file: 'cockatrice/cockatrice_en@source.ts'
on 'de'.

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-04-27 21:16:10 +02:00
ebbit1q b1fe4c85d3 fix sending decks to tappedout (#6832) 2026-04-23 02:28:12 +02:00
Vorliz a20f3c0fb4 Fix #6659: Correct logging for bottom-of-library card moves (#6764)
* Fix #6659:  Correct logging for bottom-of-library card moves

Cause:
- This issue happens due to logic of moving the card from the top of the
  deck being reused when moving from the bottom of the deck, in a way
  that makes it impossible to check if the card came from the bottom.

Resolution:
- Updated the logging logic in the client for card moves.
- Added a gRPC parameter ('is_from_bottom') for card moves.
- Updates the server logic to reverse the order of the card move if the
'is_from_bottom' parameter is true.
- Added a test to show the expected behaviour of the fix.

NOTE: While the changes in this patch seem big, this is due to changing
the loop in the moveCard function to a helper function, in order to make
the bug fix change. The only change to the loop was to pass a
variable attribution to the moveCard function because it was redundant
to be in the loop.

* chore: run format on test

* refactor: new way to check if a move is from the bottom of the deck

* refactor: change isFromBottom check to static function

* update comments

Co-authored-by: ebbit1q <ebbit1q@gmail.com>

---------

Co-authored-by: ebbit1q <ebbit1q@gmail.com>
2026-04-21 19:05:31 +02:00
BruebachL 9226bc9ddd [TabArchidekt] Place sideboard categories into the sideboard. (#6824)
Took 35 minutes

Took 3 seconds

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-04-21-Development-2.11.0-beta.61
2026-04-21 08:09:39 +02:00
ebbit1q 501c4b96d4 clear all players when closing game tab (#6828)
this prevents issues caused by items in play when using the player
destructor in the wrong order
2026-04-21 08:09:20 +02:00
ebbit1q 6ab947418c add an isEmpty method to printing info (#6805)
no reason, I just find it easier to understand
2026-04-21 01:26:08 +02:00
BruebachL 6765831b92 Change button colors to be palette aware. (#6821)
* Change button colors to be palette aware.

Took 13 minutes


Took 41 seconds

Took 15 seconds

* Change button style.

Took 24 minutes

Took 4 seconds

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-04-20 17:47:15 +02:00
BruebachL 98c4e829f8 [GameSelector/Filters] Properly sync toolbar and dialog. (#6822)
Took 59 minutes

Took 2 minutes

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-04-20 13:19:29 +02:00
BruebachL ccb9901b28 [DeckAnalytics] Add a checkbox to include/exclude sideboard for calculation (#6823)
* [DeckAnalytics] Add a checkbox to include/exclude sideboard for calculation

Took 15 minutes

* default to false, actually

Took 2 minutes

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-04-19 23:08:56 +02:00
tooomm 58a8c7d3df CI: Use ubuntu-slim for simple jobs (#6798) 2026-04-19 02:47:14 +02:00
ebbit1q 655a8e52a1 update release name 2026-04-19 01:15:58 +02:00
ebbit1q db235ecae8 update version number to 3.0.0 2026-04-19 01:11:00 +02:00
BruebachL 682ac4ed0c Add -R option in Windows NSIS script for silent upgrade (#6818)
* Add -R option in Windows NSIS script

Took 23 minutes

* Small fix.

Took 3 minutes

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-04-19 01:07:38 +02:00
ebbit1q 77978c7178 stop prepending the adventure side (#6819)
the adventure side of adventure cards used to be the first entry in
mtgjson, at some point this changed to the second entry, better
reflecting its secondary nature, however cockatrice has hardcoded the
treatment of the card to assume the second part was the "main" part,
when implementing the treatment of prepare layout cards (#6792) I
copied the behavior over which was then already incorrect, this pr
removes the special treatment of this card layout bringing the result
back in line with expectation: the main part of the card provides the
main type used in cockatrice for sorting and behavior
2026-04-19 01:03:49 +02:00
ebbit1q e918856fa4 clear player before removing it from the scene (#6817)
revert #6740
2026-04-18-Development-2.11.0-beta.60
2026-04-18 12:50:53 +02:00
github-actions[bot] 87c4216e80 Update translation files (#6813)
Co-authored-by: github-actions <github-actions@github.com>
2026-04-15 20:41:45 +02:00
BruebachL 832f70496a [EDHRec] Fix unintentional navigation on card right click (#6814)
Don't double emit cardClicked and also pass along the mouseEvent so we can check if it's a left or right click.

Took 26 minutes

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-04-15 14:14:30 +02:00
ebbit1q f97864b72b set the minimum qt6 version to 6.4 (#6811)
* set the minimum qt6 version to 6.4

this will be separate from the qt5 removal after release

* add include for optional
2026-04-14 00:59:46 +02:00
ebbit1q 338c56678a add workaround for windows11 theme (#6810) 2026-04-13-Development-2.11.0-beta.59 2026-04-13 14:49:31 +02:00
Jeremy Letto 8cc65b8967 Initial implementation completion and refactor (#6806) 2026-04-11 23:51:10 -04:00
ebbit1q 2e10b2f5d5 make general settings scrollable (#6800) 2026-04-12 02:38:04 +02:00
ebbit1q 92fe406c22 remove break statement when closing views (#6801)
it's possible that multiple views need to be closed
this is an oversight of #4570
2026-04-12 02:37:43 +02:00
tooomm d677e2bb70 Print success msg if cache deletion did succeed (#6802) 2026-04-12 02:37:30 +02:00
ebbit1q e977f123ce add ccache eviction for files older than 7 days (#6795)
* add ccache eviction for files older than 7 days

also clean up some of the scripts to be more internally consistent

* move name build into the docker container again

* remove one extra empty line [skip ci]

* allow canceling concurrent builds on master for both desktop and docker

* add ccache eviction age to macos as well
2026-04-11 19:18:12 +02:00
tooomm f56b672307 CI: Allow failing of ccache deletion step (#6799)
* Don't fail cache delete step

* Use `continue-on-error`

* remove leftover
2026-04-11 18:20:35 +02:00
tooomm 29c1d7f3e4 add timeout to job matrixes (#6797) 2026-04-11 18:19:11 +02:00
ebbit1q 36aba81b1b adds eternal to prioritisation list (#6793) 2026-04-10 18:18:08 +02:00
ebbit1q f9fb03b26b update all runners to use qt6.11 (#6794)
* update all runners to use qt6.11

* use aqt version directly from repo
2026-04-10 18:17:43 +02:00
ebbit1q d2732ac742 fix prepare cards (#6792) 2026-04-10 13:42:05 +02:00
transifex-integration[bot] 9aa5702e14 Translate cockatrice_en@source.ts in en_US (#6783)
100% translated source file: 'cockatrice_en@source.ts'
on 'en_US'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-04-09 21:27:14 +02:00
ebbit1q 2d412bfe52 fix cardloading on qt5 (#6790) 2026-04-09 21:16:38 +02:00
RickyRister ac06fb9d1c [Game] Fix crash by properly parenting QObjects (#6788) 2026-04-09 15:02:00 +02:00
BruebachL d7b31f2f9d Set OracleWizard style to "Modern" instead of "Aero" (#6778)
* Use fusions own palette.

Took 6 minutes

* Start from default palette always.

Took 4 minutes

* Add modern style.

Took 24 seconds

* Scope this fix to Windows.

Took 4 minutes

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-04-07-Development-2.11.0-beta.58
2026-04-07 15:58:42 +02:00
BruebachL 635fae101d Use palette colors for resizable panel stylesheets. (#6782)
Took 7 minutes

Took 5 seconds

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-04-07 15:57:03 +02:00
BruebachL 335022c4aa Include themes (#6781)
* Properly reset default theme.

Took 9 minutes

* Descend in preference on windows.

Took 9 minutes

* Also reset style for custom themes.

Took 3 minutes

* Try things

Took 9 minutes

* Add modern windows style.

Took 8 minutes

* Update theme_manager.cpp

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-04-07 15:02:00 +02:00
Bruno Alexandre Rosa dbed6890da feat: support expressions when setting card counters (#6753)
* feat: enable expressions in card counters

* fix includes

* fix multiple selection

* cleanup useless conversions

* const ref where possible

* do not use const, be consistent with local patterns in the file
2026-04-06 22:36:45 -07:00
ebbit1q 3ec9ae9772 fix compiling on arch (#6768)
* fix compiling on arch

* redo all the logging in affected files
2026-04-05 21:52:46 +02:00
RickyRister a46ab5cd68 [Game] Allow uppercase X in expressions (#6767) 2026-04-04 11:40:38 +02:00
SlightlyCircuitous 690a00aa6c Add Ubuntu 26.04 "Resolute Racoon" build (#6766)
* Create 26.04 Dockerfile

* Update desktop-build.yml

* Update release_template.md

* Add ca-certificates package to build
2026-04-03 20:40:42 +02:00
tooomm ba786a0289 Update dependabot.yml (#6756) 2026-04-01 14:54:27 +02:00