Skip to content

Beta-1 Achievements Fixes - #148

Closed
sunlollyking wants to merge 34 commits into
garbear:retroplayer-22beta1from
sunlollyking:retroplayer-22fixes
Closed

Beta-1 Achievements Fixes#148
sunlollyking wants to merge 34 commits into
garbear:retroplayer-22beta1from
sunlollyking:retroplayer-22fixes

Conversation

@sunlollyking

Copy link
Copy Markdown

Description

Post-review bug fixes and improvements to the RetroAchievements integration, addressing issues found during community testing on LibreELEC and WSL2 builds.

Motivation and context

Bug fixes !

How has this been tested?

Tested on:

  • LibreELEC on real hardware with an 8BitDo controller
  • WSL2 Ubuntu (development)

Specific scenarios verified:

  • Session remains active across multiple game loads without false expiry
  • Game load notification shows correct game icon (not default Kodi icon)
  • Achievement unlock notification shows badge image on first unlock
  • Leaderboard dialog no longer flickers when not logged in
  • Page up/down scrolling works in leaderboard entries dialog
  • Notification icons are consistent (warning icon throughout)
  • LE build compiles cleanly without HAS_WEB_SERVER

What is the effect on users?

  • Session stability: Users will no longer be unexpectedly logged out due to transient network failures when loading games. The token is now only cleared on an explicit authentication error from the RA server.
  • Notification images: Game icons and achievement badge images now always appear in notifications, including on first load (previously only showed after a second load once the image was cached).
  • Leaderboard UX: Logged-out users no longer see a brief empty dialog flash before being shown the login prompt. Page up/down scrolling now works in the leaderboard entries list.
  • Icon consistency: All RetroAchievements warning notifications now use the warning icon consistently.
  • InfoLabel rename: RetroPlayer.AchievementsLoggedIn renamed to RetroPlayer.RetroAchievementsLoggedIn for clarity and consistency with the platform name.
  • LE build: Fixed a preprocessor bug in NetworkServices.cpp that caused build failures on LibreELEC (HAS_LIBTORRENT defined without HAS_WEB_SERVER).

Screenshots (if appropriate):

Types of change

  • [X ] Bug fix (non-breaking change which fixes an issue)
  • Clean up (non-breaking change which removes non-working, unmaintained functionality)
  • [X ] Improvement (non-breaking change which improves existing functionality)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that will cause existing functionality to change)
  • Cosmetic change (non-breaking change that doesn't touch code)
  • Student submission (PR was done for educational purposes and will be treated as such)
  • None of the above (please explain below)

Checklist:

  • [X ] My code follows the Code Guidelines of this project
  • My change requires a change to the documentation, either Doxygen or wiki
  • I have updated the documentation accordingly
  • [X ] I have read the Contributing document
  • I have added tests to cover my change
  • [X ] All new and existing tests passed

lrusak and others added 30 commits May 29, 2026 16:11
Signed-off-by: Lukas Rusak <lorusak@gmail.com>
Signed-off-by: Lukas Rusak <lorusak@gmail.com>
Fixes error with dependencies that use <coroutine>:

  coroutine(15): warning STL4039: The contents of <coroutine> are not available
  with /await. Remove /await or use /await:strict for standard coroutines. Use
  <experimental/coroutine> for legacy /await support.
This adds libdatachannel and the following dependencies:

  * libjuice
  * libsrtp
  * plog
  * usrsctp

TODO: Remove the following hacky patches

  * libdatachannel/0001-Look-for-usrsctp-in-subdirectory.patch
  * libdatachannel/0002-Rename-static-library-and-exclude-shared-library.patch
  * usrsctp/0001-Add-CMake-export-targets.patch
  * usrsctp/0002-Also-install-library-to-subdirectory.patch
This adds libtorrent and the following dependencies:

  * Boost
  * try_signal
  * Advanced Kodi Launcher
  * Arctic Fuse skin
  * Confluence ZEITGEIST skin
  * IAGL
  * libretro buildbot cores
  * OSMC skin
  * Steam add-on
  * game.libretro
  * game.shader.presets
  * peripheral.joystick
  * screensaver.matrixtrails
  * vfs.libarchive
  * vfs.rar
Includes the following subcomponents:

  * CSPRNG implementation
  * Ed25519 implementation
  * Base58 implementation
  * DID "key" driver
  * Multiformat implementations
      - CID
      - Multibase
      - Multicodec
      - Multihash
      - VarInt
This adds an abstraction for a data store. LMDB is included as an
implementation.

A block store is built on the data store abstraction. Blocks are chunked
data addressed by a CID (content identifier).
This includes two subsystems:

  * Rendering
  * Input
@garbear

garbear commented May 31, 2026

Copy link
Copy Markdown
Owner

You should push fixes to #147. Checkout the branch, cherry-pick the commit, and push the branch. The PR will automatically update.

The webserver/kademlia commit isn't correct, try building with -DENABLE_KADEMLIA=OFF.

The fixes commit also has unrelated files, you probably shouldn't be pushing ROMs to GH when you can avoid it.

For the other fixes, try pushing one fix per commit. That makes it easier to review. If you're prompting, then just commit prompt-by-prompt instead of a single megaprompt.

Once the fixes are pushed to #147, this PR can be closed.

@sunlollyking
sunlollyking changed the base branch from smarthome-22beta1 to retroplayer-22beta1 May 31, 2026 18:19
@garbear

garbear commented May 31, 2026

Copy link
Copy Markdown
Owner

I force-push to retroplayer-beta1 branch, as you can see when the PR gets messed up with commits from the old branch. I created the retroachievements-base as a stable branch that you can PR against. I updated #147 to point to that branch.

@sunlollyking

Copy link
Copy Markdown
Author

Ah apologies my mistake - I'll try fix this in a few hours!

@garbear
garbear force-pushed the retroplayer-22beta1 branch 2 times, most recently from 39e1348 to 3434de4 Compare May 31, 2026 19:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants