Commit Graph

86 Commits

Author SHA1 Message Date
K900
31a6202da9 refactor(ci): reorganize CI to build tagged artifacts 2023-12-29 18:34:19 -05:00
K900
e2ade0d731 feat(backend): enable poetry-dynamic-versioning 2023-12-29 18:34:19 -05:00
K900
5a633fdd82 Packaging rework (#531)
* fix: get rid of title view jank on latest beta

* Count the number of installs for each plugin (#557)

* Bump aiohttp from 3.8.4 to 3.8.5 in /backend (#558)

* fix: include Decky version in request for index.js

This avoids the If-Modified-Since logic in aiohttp and ensures Steam doesn't cache old JS,
even if the timestamps are normalized.

* fix: clean up shellcheck warnings in act runner script

* fix: gitignore settings/

* fix: ensure state directories exist when running without the installer

* feat: determine root directory correctly when running from in-tree

* fix: fix typo in CI script

* refactor: build a proper Python package with poetry

* refactor: move decky_plugin under the poetry structure

There's no need to special case it anymore, just treat it like any other Python module.

* sandboxed_plugin: better fix, attempt 2

---------

Co-authored-by: AAGaming <aagaming@riseup.net>
Co-authored-by: Party Wumpus <48649272+PartyWumpus@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 23:40:37 +02:00
marios8543
8ce4a7679e Remove legacy data from pyinstaller 2023-11-01 00:04:14 +02:00
marios8543
44e6f03b06 Fix logging.handlers import and improve plugin modules 2023-10-31 17:04:48 +02:00
marios8543
ffe9cd8afe revert decky_plugin pyinstaller to previous version and fix sys path 2023-10-26 23:25:00 +03:00
TrainDoctor
a7669799bc Merge aa/type-cleanup-py (work by marios, aa, wolv) 2023-10-25 19:47:33 -07:00
Marco Rodolfi
a43e4328df Rollback to Python 3.10.6 for possible regression 2023-08-25 19:59:56 +02:00
suchmememanyskill
9233495cac Split windows workflow (#524)
* Split win actions workflow

* Create console-less win build
2023-08-10 14:46:48 +02:00
Marco Rodolfi
d4a76da78c [Need Testing] Actually fix sqlite 3 issues (#515)
* Properly fix sqlite issues

* Revert python downgrade

* Horrible hack to update SQLite to the latest version in the Ubuntu VMs

* Cleanup build script

* Fix yaml formatting

* Fix typos

* Use sudo for installing binary

* Fix library path

* Wrong naming

* Wrong name again

* Small stylisting fixes

* Missed a space
2023-07-27 18:47:46 +02:00
Marco Rodolfi
5460f95eac Latest builds of Python 3.10 already uses newer version of the SQLite library
According to the changelog, the latest version that uses > 3.37 is Python 3.10.9, so switch back to an older version of it until Ubuntu pick up more recent versions of SQLite
2023-07-27 09:50:22 +02:00
Marco Rodolfi
3ae4ceb431 Switch back to Python 3.10 in order to avoid library dependency hell 2023-07-27 09:38:32 +02:00
Marco Rodolfi
7a725935fc Slightly downgrade to 22.10 2023-07-27 09:33:14 +02:00
Marco Rodolfi
9437d7ed99 Bump it again to 23.04 2023-07-27 09:29:45 +02:00
Marco Rodolfi
34cf24f7c0 Update ubuntu image to fix sqlite missing function 2023-07-27 09:20:40 +02:00
Marco Rodolfi
5a9959f70f Properly fix sqlite issues (#514) 2023-07-26 14:54:21 -07:00
Marco Rodolfi
6993516ccb Bugfix: Unable to load _sqlite3 on main SteamOS (#507)
* Update to latest python

I have odd behaviour with importing sqlite3, which is failing to do. I have no clue why, so I'm trying to update Python to the latest stable to check if it's a Python bug.

* Update aiohttp for python compatibility

* Sligtly lower aiohttp version

* Update pyinstaller to latest stable version

It was failing to build a working executable with the latest python runtime.
2023-07-23 19:30:54 -07:00
Marco Rodolfi
3c52b33e18 [Hotfix] Windows lang fix (#457)
* Hotfix for i18n where the detector was overriding localStorage

* Please, pnpm, cooperate

* Small fix regarding the backend getting hammered when switching to not supported languages plus a small english typo

* Typo on translation variable

* Hotfix: Fix for missing locale data on windows
2023-05-18 03:03:19 -07:00
Marco Rodolfi
35e7c80835 [Feature] Implement internazionalization for Decky Loader (#361)
* First iteration for internationalization of the loader

* First iteration for internationalization of the loader

* Cleanup node mess

* Cleanup node mess pt2

* Additional touches

* Latest decky changed merged into i18n and updated translation.

* Styling fixes

* Initial backend hosting implementation

* Added correct url path of the loopback server.

* Added correct url path of the loopback server.

* Some better namespaced text.

* Added whitelist for locales path.

* Refactor languages and fix hooks logic bugs.

* Small typo in language translation structure.

* Working backend, automatically swtich languages with steam and language fixes.

* Fix to languages

* Key fixes

* Additional language fixes.

* Additional json changes

* Final text revision and added a vscode tasks to automatically extract text from code.

* Typo in the middleware

* Remove unused imports

* Cleanup whitespaces.

* Import changes

* Revert "Import changes"

This reverts commit 8e8231950f.

* Update index.d.ts

* Clean up unused imports

* Delete pnpm-lock.yaml

* Update rollup.config.js

* Update PluginInstallModal.tsx

* Update index.tsx

* Update plugin-loader.tsx

* Update plugin-loader.tsx

* Revert "Delete pnpm-lock.yaml"

This reverts commit 3a39f36f21.

* Additional strings reworks.

* Fixes for issues coming from github merge.

* Fixes for master

* Styling fixes

* Styling pt2

* Missed a few strings in master,

* Styling fixes

* Additional master merge fixes.

* Final cleanup and adaptation to master.

* Final empty language cleanup and few string added

* Small changes to italian translation

* Disabled translation on a few components inside plugin-loader for missing react hooks.

* Fixed passing tag to translation.

* Disable debug output for reducing console spam.

* Return correct content type

* Small italian language change

* Added support for country code

* Fixed missing translation for uninstall popup.

* Fix class name shenanigans for  toast notification

* Update dependencies

* Fixed github workflow to include the new locales folder

* Update dependencies to latest version (unless it's React) and fixed the new small errors that cropped up

* Missed a file name change

* Updated dev dependencies to latest version

* Missed a few dev dependencies

* Revert "Update dependencies to latest version (unless it's React) and fixed the new small errors that cropped up"

Messed up merge with a different main branch

* Messed up deletion of rollup config.

* Fix broken pnpm lock file

* Missed a localized string during the merge

* Fixed a parameter mistake in the uninstall text parameter

* Fix pnpm random issues

* Small italian language tweaks

* Fix wrong parameter passed to the uninstall function call

* Another fix on a wrong function parameter

* Additional translation text on the store and branch selection channels

* Changed the default type passed to map to being able to index the two arrays.

* Reverted and reworked the last changes

* Distinguish events in UI for installing vs reinstalling plugins

* Additional fixes for reinstall prompt

* Revert the use of intevalPlural since the parser doesn't seem to support that.

* Missed a routing path in the backend

* Small bugfixes

* Small fixes

* Correctly adding the parameter to the request headers.

* Refactoring of the UI popup modal

* Fix pnpm shenanigans

* Final fixes for the install UI localization

* Clean up unnedeed backend code

* Small rework on text selection.

* Cleaned up parser configuration

* Removed extracttext dependency to pnpmsetup

* Merged translation and cleaned up parser

* Fixed JSON structure after manual merge.

* Added translation to the file picker

* Revert changes to PluginInstallModal

* Reworked the text modal for the final time

* Missed the proper linted text

* Missed the backend change

* Final branch cleanup

* Fixed small translation bleeding

Caused from the manual merge of _old.json files.

* fix extra space in browser.py

* fix extra newline in plugin-loader.tsx

* Cleanup i18next-parser.config.mjs

* Update plugin-loader.tsx

* Cleanup language files

* Better labeling of text

* Fixed language typos in BranchSelect

* Fixed language typos in StoreSelect

* Cleanup plugin-loader.tsx from unused imports

* Removed the path bypass since I'm using authentication from the frontend.

* Reimplemented this component as a functional component.

* Updated dependencies and lockfile

* Removed static route from main.py

Already handled in loader.py

* Small italian coherency fixes

* Fix small typography fixes on plugin name uninstall

* Fixed italian typo on removal popup

* Reenabled manual escaping value in i18next

* Set to fallback to the default language if the string in the JSON file is empty.

* Fixed pnpm wankery

* Added a missed italian text translation string

---------

Co-authored-by: AAGaming <aa@mail.catvibers.me>
2023-05-02 16:42:39 +01:00
suchmememanyskill
fd325ef1cc Add cross-platform support to decky (#387)
* Import generic watchdog observer over platform specific import

* Use os.path rather than genericpath

* Split off socket management in plugin.py

* Don't specify multiprocessing start type

Default on linux is already fork

* Move all platform-specific functions to seperate files

TODO: make plugin.py platform agnostic

* fix import

* add backwards compat to helpers.py

* add backwards compatibility to helpers.py harder

* Testing autobuild for win

* Testing autobuild for win, try 2

* Testing autobuild for win, try 3

* Testing autobuild for win, try 4

* Create the plugins folder before attempting to use it

* Implement win get_username()

* Create win install script

* Fix branch guess from version

* Create .loader.version in install script

* Add .cmd shim to facilitate auto-restarts

* Properly fix branch guess from version

* Fix updater on windows

* Try 2 of fixing updates for windows

* Test

* pain

* Update install script

* Powershell doesn't believe in utf8

* Powershell good

* add ON_LINUX variable to localplatform

* Fix more merge issues

* test

* Move custom imports to main.py

* Move custom imports to after __main__ check 

Due to windows' default behaviour being spawn, it will spawn a new process and thus import into sys.path multiple times

* Log errors in get_system_pythonpaths() and get_loader_version() + 

split get_system_pythonpaths() on newline

* Remove whitespace in result of get_system_pythonpaths()

* use python3 on linux and python on windows in get_system_pythonpaths()

* Remove fork-specific urls

* Fix MIME types not working on Windows
2023-03-21 17:37:23 -07:00
Philipp Richter
f1e679c3fb Expose a 'decky_plugin' module to decky plugins (#353)
* Expose a 'decky_plugin' module to decky plugins

* expose decky user home path
* support 'py_modules' python modules in plugins
* allow for a '_migration' method in plugins to have an explicit file
  moving step

* Expose the plugin python module as .pyi stub interface

* Expose system and user python paths to plugins
2023-02-19 14:42:55 -08:00
TrainDoctor
c05e8f9ae0 Update build.yml 2023-01-22 16:33:06 -08:00
TrainDoctor
635edf7f5b fix releases being called prereleases 2023-01-17 15:37:43 -08:00
Party Wumpus
e8b4c4a307 Fix the download button (#330)
* Remove .desktop file from build.yml

* Make download button link to decky-installer repo

* Point download button to the .desktop file not the .sh file 

woops

* Delete decky_installer.desktop

* Delete user_install_script.sh
2023-01-09 10:16:20 -08:00
Party Wumpus
e92b66068a Use the new installer in the readme instructions (#324) 2023-01-08 13:16:44 -08:00
TrainDoctor
2a6bf75f02 Move back to python 3.10.2 in CI 2022-12-10 15:26:51 -08:00
TrainDoctor
ea35af2050 Update build.yml 2022-12-08 15:18:44 -08:00
TrainDoctor
35e46f9ccb Update build.yml 2022-12-07 14:31:09 -08:00
AAGaming
a9bd5079de remove ver suffix 2022-10-24 21:08:35 -04:00
AAGaming
c1fabe5b35 pin pyinstaller to 5.5-py3 2022-10-24 21:07:49 -04:00
AAGaming
ed82f51bb7 use same python ver as deck 2022-10-24 20:55:38 -04:00
AAGaming
df1524e15f nevermind dont 2022-10-24 20:51:56 -04:00
AAGaming
2edd910df3 ci: upgrade python to 3.11 2022-10-24 20:48:58 -04:00
TrainDoctor
0226bd2bf8 Update build.yml 2022-10-22 13:02:23 -07:00
TrainDoctor
9b405e4bdc Fix default pre-release bump 2022-10-15 11:31:53 -07:00
AAGaming
91d4e5dfc3 fix the fix 2022-10-14 23:47:57 -04:00
AAGaming
c885ee600d replace deprecated set-output in CI 2022-10-14 23:46:46 -04:00
AAGaming
acdea6da44 pnpm uses frozen instead of ci 2022-10-14 23:29:32 -04:00
AAGaming
f23ea5b841 IDIOT 2022-10-14 23:28:37 -04:00
AAGaming
d51cd4605c wtf 2022-10-14 23:27:59 -04:00
AAGaming
7d73c7aa79 setup-pnpm action is bad, do it ourself 2022-10-14 23:26:42 -04:00
AAGaming
fd187a6710 forgot with 2022-10-14 23:25:13 -04:00
AAGaming
43ef9e65ea this arg format is terrible 2022-10-14 23:24:39 -04:00
AAGaming
9233ee58c6 fix ci 2022-10-14 23:22:01 -04:00
AAGaming
fd59456f8b more CI cleanup 2022-10-14 23:13:36 -04:00
AAGaming
9b241101dd Upgrade NodeJS to 18 in CI 2022-10-14 23:08:27 -04:00
TrainDoctor
010e6a22ab don't test on live folks -_- 2022-10-08 17:25:34 -07:00
TrainDoctor
134b896e01 Append "-pre" before bumping pre-release version 2022-10-08 17:17:40 -07:00
TrainDoctor
047813b965 Merge branch 'update-ci' w/ needed updates 2022-10-08 17:08:36 -07:00
TrainDoctor
fa028fa525 Update build.yml 2022-10-02 08:19:41 -07:00