Commit Graph

216 Commits

Author SHA1 Message Date
Party Wumpus
ec41c61219 Refactor plugin store and add sorting by downloads and release date (#547)
* untested first commit

* fix types & names

* comment out built in sorting for now

* rerun search when sort changes

* fix ts complaints

* use prettier

* stop switch-case fall through

* move spinner

* use locale instead of hardcoded string

* fix typo

* add sorting by downloads & try using the data field in the dropdown for data

* fix typing error

* fix asc/desc in dropdown

* fix asc/desc again. asc = smaller one go first aaaaa

* I don't think i know what ascending means maybe

* use props instead of children, like a normal component
2024-02-14 16:43:30 -05:00
AAGaming
e8add28797 fix: use findInReactTree to find correct errorboundary for toaster
fixes toaster error on latest beta
2024-02-14 16:42:14 -05:00
AAGaming
40c7c1b515 port updater to ws, also small refactoring 2023-12-30 21:32:23 -05:00
AAGaming
70104065e2 chore: get rid of useless old tabs hook 2023-12-30 18:06:07 -05:00
AAGaming
6522ebf0ca Implement legacy & modern plugin method calls over WS
This version builds fine and runs all of the 14 plugins I have installed perfectly, so we're really close to having this done.
2023-12-30 00:46:59 -05:00
AAGaming
3a38cf8074 fix(developer): add back valve internal on beta
look i was tired when writing yesterday's fix okay
2023-12-29 18:40:53 -05:00
AAGaming
4f40b97f53 fix: idiotic formatting error i should have noticed 2023-12-29 18:40:52 -05:00
AAGaming
5fd5b2f08c fix: Adjust tabs and toaster hooks to work on react 18, also half-fix Valve Internal 2023-12-29 18:40:52 -05:00
AAGaming
5e1e035bc2 more progress on websockets 2023-11-14 00:04:56 +02:00
AAGaming
34d1a34b10 Migrate most of frontend callServerMethod usage over to websocket 2023-11-14 00:04:56 +02:00
AAGaming
1921e7ec56 JS -> Python WS now functional 2023-11-14 00:04:56 +02:00
AAGaming
05b41b3410 more progress on WS router 2023-11-14 00:03:47 +02:00
AAGaming
18d89e76fd more work on websockets 2023-11-14 00:03:47 +02: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
268311c482 Add message emit mechanism 2023-10-31 23:18:31 +02:00
Party Wumpus
f508d1dfce fix logical error when no store was set 2023-10-31 23:18:30 +02:00
marios8543
da9217ac4a Fix type error on store.tsx 2023-10-31 23:17:57 +02:00
marios8543
39f64ca666 Drop support for legacy plugins 2023-10-31 23:17:49 +02:00
TrainDoctor
a7669799bc Merge aa/type-cleanup-py (work by marios, aa, wolv) 2023-10-25 19:47:33 -07:00
Party Wumpus
f53a3f383d fix typo
this is what i get for commiting to main 😔
2023-10-17 13:52:11 +01:00
Party Wumpus
407e647993 fix logical error when no store was set 2023-10-17 13:44:44 +01:00
Beebles
c7e4eb1b3f Add Custom TitleView (#512)
* feat(titleView): Add Custom TitleView support

* fix: wrap TitleView in Focusable

* fix: remove root div on TitleView
2023-07-27 14:58:21 +01:00
EMERALD
6d086fb5d5 Add testing store info to browse tab (#504) 2023-07-12 16:52:32 -07:00
fero
7c805e9b80 Add descriptions to Decky titleview DialogButtons (#502)
* chore: add onOKActionDescriptions to decky titleview

This is in preparation for beebles' custom titleview. Since plugins may reuse the same icons in their custom titleviews, it will be a good practice to disambiguate their meanings. In the Steam UI, any icon button has a matching description.

* chore: implement it using the translation framework

---------

Co-authored-by: Marco Rodolfi <marco.rodolfi@tuta.io>
2023-07-09 09:43:00 +01:00
AAGaming
dea08868d3 fix router hook recursively wrapping routes when patched multiple times 2023-07-03 23:57:53 -04:00
Marco Rodolfi
3e64e53cd7 feat: Added detailed message for permission error and clean up english language from unused strings. 2023-06-26 08:53:41 +02:00
Jonas Dellinger
ef9afa8cbc Add notification settings, which allows muting decky/plugin toast notifications (#479)
* Add notification settings, which allows muting decky/plugin toast notifications

* Fix typos
2023-06-24 12:59:39 +02:00
Marco Rodolfi
143461d597 chore: clean up unused parameters 2023-06-22 17:32:20 +02:00
Marco Rodolfi
ae887e10d6 chore: adding parameters to file picker in logical order 2023-06-22 17:25:38 +02:00
Marco Rodolfi
b2a1b172e2 Fix: export V2 to plugins 2023-06-22 12:54:41 +02:00
Marco Rodolfi
fc72ac5c63 fix: cleanup code 2023-06-22 12:16:23 +02:00
Marco Rodolfi
f1576c7798 Chore: Better logical order for file picker v2 function call 2023-06-22 11:58:00 +02:00
Marco Rodolfi
388526d02d Fix: add an API compatibility layer for the old file picker and change the new implementation as V2 2023-06-22 11:37:45 +02:00
Marco Rodolfi
cb65fb4b11 Fix: wrong condition on show select folder 2023-06-22 10:45:17 +02:00
Marco Rodolfi
b82c9cf6e6 Chore: clean up testing values pt 2 2023-06-21 18:37:19 +02:00
Marco Rodolfi
04fff476d5 Cleaning up debug values in developer installer 2023-06-21 07:33:38 +02:00
Marco Rodolfi
57f4555350 [Feature] File picker improvements (#454)
* 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

* First iteration for merging the new filepicker.

* Revert changes to PluginInstallModal

* Reworked the text modal for the final time

* Missed the proper linted text

* Missed the backend change

* Final branch cleanup

* First iteration for porting the new file picker

* 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

* Initial working upstream iteration for file picker

* Typo on translation variable

* File picker final improvements

* Stylistic fixes and fix on wrong bool passed to fp

* Fixup merge from main

* Other merge errors fixed

* Minor cleanups

* Fixed missing padding under text label extension

* Implement pagination backend side

* First draft for filtering backend side

* Implemented matching on file names.

* Fix for unable to order per size on folders.

* Hard checking a return value

* Added a missing import.

* Implemented show more as a frontend button

* Whoops, python typo

* Fixed python backend

* Rendering bug fix and small qol improvement

* Added missing parameter to openFilePicker call

* Fixed path on windows and unknown error on wrong path

* Small backend fixes

* Extension fix

* Simplified extension logic

* Less string conversions.

* Optimize backend code and removed additional components.

* Take correctly into account the max value

The button will now respect the actual maximum desired number of entries.

* Bugfix for ordering logic and ignore cases during sorting

* Regex call was missing an argument

* Fixed issues with filtering extensions

* Rollback testing changes

* Minor cleanup and attempt at fixing the not updating multimodal.

* Cleanup variable types.

* Mantains the same api format from the original source code.

* Removing hardcoded paths in the code

* Additional fixes for resolving the user path

* Cleanup useless modifications

* Final fixes for avoid path hardcoding

* Update lockfile and i18next version
2023-06-19 06:23:27 -07:00
AAGaming
30d7c9bb81 fix: fix blank plugins
this is why i shouldn't program at night
2023-06-18 17:27:23 -04:00
AAGaming
890599c7bb chore: remove useless import 2023-06-18 17:26:42 -04:00
Party Wumpus
e8dfe5a87d When decky is uncertain of branch, set the setting to match the guess (#480)
* If branch setting is missing, set it using the 'guess' from backend

* Make the frontend default to stable branch like the backend
2023-06-15 05:53:02 -07:00
Jonas Dellinger
47bc910a84 Add functionality to hide plugins from quick access menu (#468) 2023-06-06 22:35:05 -07:00
AAGaming
e5277190ed Revert "Refactor TabsHook (#458)"
This reverts commit b27b625921.

These changes broke Decky's QAM injection when the lock screen is enabled and need to be revised
2023-06-03 12:45:09 -04:00
suchmememanyskill
2e8e0fc7c1 Plugin backend reload (#463)
Co-authored-by: beebls <102569435+beebls@users.noreply.github.com>
2023-06-01 18:44:55 -07:00
Party Wumpus
8049417e03 Attempt to appease the linter
I think the first navigation being on one line looks nicer, but it's over the 120 character limit :(
2023-06-02 00:26:08 +01:00
Witherking25
f4c0a8b5aa add cef console button to developer settings (#441)
* add cef console button

* Small fix: handle missing localization in backend plus a small typo in the english language (#443)

* 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

* Add a get_tab_id function to utilities

* Go straight to SharedJSContext into console button

* clean up some log statements, and some extra parentheses

---------

Co-authored-by: Marco Rodolfi <marco.rodolfi@tuta.io>
Co-authored-by: Party Wumpus <48649272+PartyWumpus@users.noreply.github.com>
2023-06-02 00:01:21 +01:00
MIkhail Kozlov
b27b625921 Refactor TabsHook (#458) 2023-05-30 23:53:48 -07:00
Jonas Dellinger
c5229c6a62 adjust some small store stylings (#471) 2023-05-30 16:35:42 -07:00
Marco Rodolfi
c631d40aa3 Missed a toaster for the react tools 2023-05-30 19:32:41 +02:00
Jonas Dellinger
d21b221575 quick fix: overwrite plugin list marginTop to be always 0 2023-05-29 18:40:17 +02:00
Jonas Dellinger
010feddf36 Add update all button to plugin list (#466) 2023-05-29 09:29:36 -07:00