Christian Weiske [Tue, 10 Jun 2025 20:11:21 +0000 (22:11 +0200)]
Do not return 1000 products
.. this may crash games
Christian Weiske [Tue, 10 Jun 2025 19:33:06 +0000 (21:33 +0200)]
Deliver dummy products when a game misses them
Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/9
Christian Weiske [Sun, 8 Jun 2025 09:43:16 +0000 (11:43 +0200)]
Support "stop the birds" game UUID
Christian Weiske [Sun, 8 Jun 2025 09:36:08 +0000 (11:36 +0200)]
Return FileUrl in achievements
.. used by Falling Bird
Christian Weiske [Thu, 5 Jun 2025 20:57:25 +0000 (22:57 +0200)]
Implement returning purchased products
Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/9
Christian Weiske [Thu, 5 Jun 2025 20:10:32 +0000 (22:10 +0200)]
Add purchasing in-game products
Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/9
Christian Weiske [Thu, 5 Jun 2025 19:25:08 +0000 (21:25 +0200)]
Tighten rewrite rule for game UUIDs
Christian Weiske [Thu, 5 Jun 2025 19:08:40 +0000 (21:08 +0200)]
List available products for a game
Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/9
Christian Weiske [Fri, 23 May 2025 04:06:15 +0000 (06:06 +0200)]
Fix duplicate games shown in achievement summary
Christian Weiske [Fri, 23 May 2025 03:59:53 +0000 (05:59 +0200)]
Move achievement summary to correct dir
Christian Weiske [Thu, 15 May 2025 20:04:30 +0000 (22:04 +0200)]
Purchases part 3: Return only bought games
Christian Weiske [Thu, 15 May 2025 20:03:55 +0000 (22:03 +0200)]
Purchases part 2: Correct responses
Christian Weiske [Wed, 7 May 2025 20:26:11 +0000 (22:26 +0200)]
Purchases part 1: Purchase games and store their state
connect adjustments missing, just as correct purchase response
Christian Weiske [Sun, 6 Apr 2025 10:19:07 +0000 (12:19 +0200)]
Send "304 Not Modified" responses to the gamestick if nothing changed
We use the session ID to track the client state, and change it
whenever the server state changes
Christian Weiske [Tue, 3 Dec 2024 18:50:12 +0000 (19:50 +0100)]
Support jsessionid for developer validation
Christian Weiske [Tue, 3 Dec 2024 18:06:39 +0000 (19:06 +0100)]
Add developer code validation
Christian Weiske [Tue, 3 Dec 2024 05:24:15 +0000 (06:24 +0100)]
Firmware updates only for whitelisted gamesticks
Christian Weiske [Mon, 2 Dec 2024 21:30:41 +0000 (22:30 +0100)]
Implement firmware updates
Christian Weiske [Thu, 28 Nov 2024 07:57:26 +0000 (08:57 +0100)]
Add new avatar image from Joe
small: http://playjamstickresources.s3.amazonaws.com/graphics/avatar/
fe06c1dac47e279fcc8325f88597425b.png
large: http://playjamstickresources.s3.amazonaws.com/graphics/avatar/
55ace05c5595b23f8ff671c45c4b69d5.png
Christian Weiske [Sun, 10 Nov 2024 16:21:00 +0000 (17:21 +0100)]
Only send 200 OK when activation had no internal error
Christian Weiske [Sun, 10 Nov 2024 16:19:26 +0000 (17:19 +0100)]
Fix activation crash, allow disabling founder flag
Error was:
> Uncaught PDOException: SQLSTATE[22007]:
> Invalid datetime format: 1366 Incorrect integer value: '' for column `cweiske-gamestick`.`users`.`founderFlag` at row 1
> in /home/cweiske/www/gamestick.cweiske.de/pjgsapi/src/UserRepository.php:63
>
> Stack trace:
> #0 /home/cweiske/www/gamestick.cweiske.de/pjgsapi/src/UserRepository.php(63): PDOStatement->execute()
> #1 /home/cweiske/www/gamestick.cweiske.de/pjgsapi/src/User.php(66): UserRepository->update()
> #2 /home/cweiske/www/gamestick.cweiske.de/pjgsapi/www/activate.php(79): User->update()
> #3 {main}
>
> thrown in /home/cweiske/www/gamestick.cweiske.de/pjgsapi/src/UserRepository.php on line 63
Christian Weiske [Tue, 5 Nov 2024 17:52:57 +0000 (18:52 +0100)]
Add dummy "downloadedfreegame" endpoint
Christian Weiske [Fri, 25 Oct 2024 14:51:25 +0000 (16:51 +0200)]
Add dummy start/end-game analytics endpoints
Christian Weiske [Sat, 19 Oct 2024 21:24:27 +0000 (23:24 +0200)]
Add load state API endpoint
Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/7
Christian Weiske [Sat, 19 Oct 2024 20:52:26 +0000 (22:52 +0200)]
Add save-state API endpoint
Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/7
Christian Weiske [Wed, 16 Oct 2024 18:08:50 +0000 (20:08 +0200)]
Add top50 leaderboard list
Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/6
Christian Weiske [Wed, 16 Oct 2024 05:03:17 +0000 (07:03 +0200)]
Implement leaderboard save score API endpoint
GET /api/rest/game/xxx/save-score/4627/extend/view.json
Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/6
Christian Weiske [Sat, 12 Oct 2024 17:27:23 +0000 (19:27 +0200)]
Another profile test command
Christian Weiske [Sat, 12 Oct 2024 13:48:39 +0000 (15:48 +0200)]
Mention achievement resizing command
Christian Weiske [Sat, 12 Oct 2024 13:47:56 +0000 (15:47 +0200)]
Add per-game achievement list (profile)
Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/5
Christian Weiske [Fri, 11 Oct 2024 16:09:49 +0000 (18:09 +0200)]
Fix in-game achievement list with bloo kid
Christian Weiske [Mon, 7 Oct 2024 17:52:55 +0000 (19:52 +0200)]
List game-specific achievements (game startup)
Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/5
Christian Weiske [Mon, 7 Oct 2024 17:18:09 +0000 (19:18 +0200)]
List latest achievements for each game (profile view)
Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/5
Christian Weiske [Mon, 7 Oct 2024 16:29:12 +0000 (18:29 +0200)]
Move common error checks into ApiResponses
Christian Weiske [Mon, 7 Oct 2024 15:59:50 +0000 (17:59 +0200)]
Return latest achievement in profile info
Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/5
Christian Weiske [Mon, 7 Oct 2024 15:38:28 +0000 (17:38 +0200)]
Allow NULL game id in achievements
.. in case we do not have the game achievement list yet
Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/5
Christian Weiske [Mon, 7 Oct 2024 15:30:45 +0000 (17:30 +0200)]
Store achievements in the database
Related: https://codeberg.org/gamestick-fans/pjgsapi/issues/5
Christian Weiske [Mon, 7 Oct 2024 15:19:41 +0000 (17:19 +0200)]
Use datetime without timezone for mysql
Christian Weiske [Thu, 3 Oct 2024 17:29:59 +0000 (19:29 +0200)]
Allow using a MariaDB database with PHP PDO DSN configuration
Christian Weiske [Wed, 2 Oct 2024 21:29:08 +0000 (23:29 +0200)]
SQL schema file with table structures
Christian Weiske [Sun, 15 Sep 2024 11:08:57 +0000 (13:08 +0200)]
How to migrate to the new database structure
Christian Weiske [Sun, 15 Sep 2024 10:05:01 +0000 (12:05 +0200)]
Add "toofast" option to work around race condition bug
Christian Weiske [Sun, 15 Sep 2024 10:00:31 +0000 (12:00 +0200)]
ignore api docs
Christian Weiske [Sun, 15 Sep 2024 09:53:52 +0000 (11:53 +0200)]
Return correct verification code after setup
Christian Weiske [Sun, 15 Sep 2024 09:53:07 +0000 (11:53 +0200)]
Explain what player tag is
Christian Weiske [Sun, 15 Sep 2024 09:52:46 +0000 (11:52 +0200)]
Fix OOBE for new gamesticks
Christian Weiske [Fri, 2 Aug 2024 20:00:39 +0000 (22:00 +0200)]
More test curl commands
Christian Weiske [Fri, 2 Aug 2024 20:00:21 +0000 (22:00 +0200)]
Split gamestick table into gamesticks and users, adjust code
Christian Weiske [Wed, 31 Jul 2024 18:16:18 +0000 (20:16 +0200)]
Add achievement API workaround for Boulder Dash
Resolves: https://codeberg.org/gamestick-fans/game-data/issues/12
Christian Weiske [Fri, 26 Jul 2024 17:50:21 +0000 (19:50 +0200)]
Allow null values for updated_at
Error was:
Uncaught TypeError: Cannot assign null to property Profile::$updated_at of type string
in /home/cweiske/www/gamestick.cweiske.de/pjgsapi/src/ProfileDb.php:35
Christian Weiske [Thu, 25 Jul 2024 04:20:35 +0000 (06:20 +0200)]
Add pirate avatar from eyehorus cache file
Christian Weiske [Mon, 29 Apr 2024 18:17:47 +0000 (20:17 +0200)]
Add updated_at column to accounts
Christian Weiske [Thu, 6 Jul 2023 06:14:07 +0000 (08:14 +0200)]
No error in firmware update check when changelog is missing
Christian Weiske [Thu, 6 Jul 2023 06:13:48 +0000 (08:13 +0200)]
ignore test, firmware and tofu files
Christian Weiske [Thu, 6 Jul 2023 06:01:56 +0000 (08:01 +0200)]
Add list of curl commands to test the api
Christian Weiske [Thu, 6 Jul 2023 05:43:33 +0000 (07:43 +0200)]
Ignore local rebuild script
Christian Weiske [Sun, 18 Jun 2023 06:51:49 +0000 (08:51 +0200)]
Fix HTML
Christian Weiske [Sun, 18 Jun 2023 06:51:30 +0000 (08:51 +0200)]
Add support for - in user names
Christian Weiske [Sun, 18 Jun 2023 06:51:01 +0000 (08:51 +0200)]
Early firmware update support
Christian Weiske [Mon, 12 Jun 2023 18:33:46 +0000 (20:33 +0200)]
Support png avatars
Christian Weiske [Mon, 12 Jun 2023 18:17:08 +0000 (20:17 +0200)]
Always send UUID for games
Christian Weiske [Mon, 12 Jun 2023 17:39:41 +0000 (19:39 +0200)]
Sleep a bit to prevent being too fast
Christian Weiske [Mon, 12 Jun 2023 17:39:16 +0000 (19:39 +0200)]
Allow returning null when loading game
.. to prevent loading games that have no releases
Christian Weiske [Sun, 11 Jun 2023 19:31:52 +0000 (21:31 +0200)]
Keep update check JSON on a single line
.. checker will crash otherwise
Christian Weiske [Tue, 6 Jun 2023 15:11:03 +0000 (17:11 +0200)]
Inject translation strings into connect response
Christian Weiske [Tue, 6 Jun 2023 15:01:38 +0000 (17:01 +0200)]
Add all necessary scripts to extract data from connect cache files
Christian Weiske [Sun, 4 Jun 2023 19:25:21 +0000 (21:25 +0200)]
Fix png images
Christian Weiske [Sun, 4 Jun 2023 12:21:51 +0000 (14:21 +0200)]
Add option for OOBE verification code prefix
Christian Weiske [Sun, 4 Jun 2023 12:19:19 +0000 (14:19 +0200)]
Automatically focus code input field
Christian Weiske [Sun, 4 Jun 2023 11:33:18 +0000 (13:33 +0200)]
Add setupcheck script
Christian Weiske [Sun, 4 Jun 2023 05:06:37 +0000 (07:06 +0200)]
Make activation code entry mobile ready
Christian Weiske [Sun, 4 Jun 2023 10:19:20 +0000 (12:19 +0200)]
Correct resolution of 118x118 for small cweiske avatar image
Christian Weiske [Sun, 4 Jun 2023 08:28:08 +0000 (10:28 +0200)]
Allow direct access to success page
.. to make CSS styling easier: activate.php?code=success
Christian Weiske [Sun, 4 Jun 2023 04:05:40 +0000 (06:05 +0200)]
Fix indentation and close tags in html templates and css
Christian Weiske [Sun, 4 Jun 2023 04:05:10 +0000 (06:05 +0200)]
Editorconfig for .css
Sajnaps [Sat, 3 Jun 2023 07:35:14 +0000 (09:35 +0200)]
Layout for activation HTML templates
Christian Weiske [Thu, 1 Jun 2023 19:50:00 +0000 (21:50 +0200)]
Dummy handling for achievements
Christian Weiske [Thu, 1 Jun 2023 19:41:31 +0000 (21:41 +0200)]
Return empty achievement list when the game asks
Christian Weiske [Thu, 1 Jun 2023 19:09:38 +0000 (21:09 +0200)]
Add cweiske avatars
Christian Weiske [Thu, 1 Jun 2023 18:48:55 +0000 (20:48 +0200)]
remove fixme
Christian Weiske [Thu, 1 Jun 2023 18:48:37 +0000 (20:48 +0200)]
Return real minAge in connect game data
.. setting age works now
Christian Weiske [Thu, 1 Jun 2023 18:27:07 +0000 (20:27 +0200)]
Improve age rating response, even if the attributes are not used
Christian Weiske [Thu, 1 Jun 2023 15:20:05 +0000 (17:20 +0200)]
Handle minimum age rating changes
Christian Weiske [Thu, 25 May 2023 18:35:50 +0000 (20:35 +0200)]
Player profile API works
Christian Weiske [Wed, 24 May 2023 19:11:22 +0000 (21:11 +0200)]
editorconfig
Christian Weiske [Wed, 24 May 2023 19:11:13 +0000 (21:11 +0200)]
Unstyled browser-based activation process
Christian Weiske [Wed, 24 May 2023 19:10:22 +0000 (21:10 +0200)]
Add some avatar images
Christian Weiske [Mon, 22 May 2023 19:48:18 +0000 (21:48 +0200)]
Verify session ID; introduce player profile database
Not usable yet because activation is missing
Christian Weiske [Sun, 21 May 2023 09:21:28 +0000 (11:21 +0200)]
Handle start/end game analytics
Christian Weiske [Sun, 21 May 2023 09:21:17 +0000 (11:21 +0200)]
Always generate urls property, even when empty
GameStick cannot parse the entry otherwise:
E/Console:ConnectData( 3860): Required JSON Parameter Missing : /body/config/apps/[184]/urls
Christian Weiske [Sat, 20 May 2023 22:31:26 +0000 (00:31 +0200)]
analytics for non-logged in gamesticks
Christian Weiske [Sat, 20 May 2023 22:12:40 +0000 (00:12 +0200)]
Use folder files now that we have two new apks
Christian Weiske [Fri, 12 May 2023 07:31:25 +0000 (09:31 +0200)]
Add !! to games without downloads
Christian Weiske [Fri, 12 May 2023 07:28:35 +0000 (09:28 +0200)]
Fix thumbnail sizes
Christian Weiske [Thu, 11 May 2023 20:00:49 +0000 (22:00 +0200)]
Ignore analytics
Christian Weiske [Thu, 11 May 2023 19:55:45 +0000 (21:55 +0200)]
Add README
Christian Weiske [Thu, 11 May 2023 19:22:28 +0000 (21:22 +0200)]
Update check that returns "no firmware update available"
Christian Weiske [Thu, 11 May 2023 19:21:49 +0000 (21:21 +0200)]
Script to generate the games menu with all infos
Christian Weiske [Thu, 11 May 2023 18:54:26 +0000 (20:54 +0200)]
Rename connect/stick/stick dummy file
.. so it does not interfere with my dynamic api
Christian Weiske [Wed, 10 May 2023 16:27:28 +0000 (18:27 +0200)]
Script to generate apps cache file