summaryrefslogtreecommitdiff
path: root/backend/browser.py
AgeCommit message (Collapse)Author
2023-06-19Fix uninstalling plugins (#485)suchmememanyskill
* Fix bad debug print statement in uninstall plugin * Safely remove element from hidden plugin/plugin order list
2023-06-06Add functionality to hide plugins from quick access menu (#468)Jonas Dellinger
2023-05-29Add update all button to plugin list (#466)Jonas Dellinger
2023-05-02[Feature] Implement internazionalization for Decky Loader (#361)v2.8.0-pre1Marco Rodolfi
* 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 8e8231950fd7cc6cece87040e326d0a72ba79567. * 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 3a39f36f2193cc976d36ffe07338239e363d5b04. * 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-04-25Add file picker plugin install, plugin installs to developer page (#405)v2.7.3-pre1EMERALD
2023-04-21Fix browser.py (#431)v2.7.1-pre1Party Wumpus
2023-04-03Add plugin reordering (#378)Travis Lane
* feat: started work on saving plugin order * feat: implemented local ReorderableList * feat: reoder complete except for usage of DFL * switched to using dfl reorderableList * fix: added missing file and removed frag * updated to newest dfl * Update defsettings.json * fix: plugin order was missing on init * fix: now await pluginOrder * fix: moved the plugin-order load to plugin-loader * chore: v6 and dfl bump
2023-03-21Add cross-platform support to decky (#387)suchmememanyskill
* 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-05fix #390 the plugin_directory argument to import_plugin was incorrect (#391)v2.6.3-pre2geeksville
2023-01-29Comment out un-needed pprint usagev2.5.3-pre1TrainDoctor
2023-01-29Add python logging to browser and pluginTrainDoctor
2023-01-29Add better handling for unloading of pluginsTrainDoctor
2022-12-16Potentially fix locale issues (#284)v2.4.6-pre5Nik
2022-10-24preview 10/21/2022 fixes (#234)AAGaming
* initial fixes: everything working except toasts and patch notes * tabshook changes, disable toaster for now * prettier * oops * implement custom toaster because I am tired of Valve's shit also fix QAM not injecting sometimes * remove extra logging * add findSP, fix patch notes, fix vscode screwup * fix patch notes * show error when plugin frontends fail to load * add get_tab_lambda * add css and has_element helpers to Tab * small modals fixup * Don't forceUpdate QuickAccess on stable * add routes prop used to get tabs component * add more dev utils to DFL global
2022-10-23During update, download updates first before removing old plugin files (#223)v2.3.0-pre3TrainDoctor
* Remove old nightly support and unused logging * Removed legacy code + added logic to account for offline update attempts * Update backend/browser.py Co-authored-by: AAGaming <aa@mail.catvibers.me> * Update backend/browser.py Co-authored-by: AAGaming <aa@mail.catvibers.me> * Update frontend/src/toaster.tsx Co-authored-by: AAGaming <aa@mail.catvibers.me> * Use str instead of String (I was tired okay...) * Remove false logic * look for plugins not having remote_binary in pkg Co-authored-by: AAGaming <aa@mail.catvibers.me>
2022-09-18Grab Plugin path from find_plugin_folder plugin name is not always folder ↵v2.1.0-pre4Trent Callan
anme (#178)
2022-09-18Download Remote Binaries during Store Install (#177)v2.1.0-pre3Trent Callan
* Download Remote Binaries during store install. Fix Manual Install Modal Type * Use Unix Line endings. (Thanks WSL) * Fix Merge Commit with main branch.
2022-09-18fix plugin updatingv2.1.0-pre2AAGaming
2022-09-18fix plugin loading after install, move updater reloads to loaderAAGaming
2022-08-29Fix plugin uninstallingv2.0.5-pre19TrainDoctor
2022-08-26Refractor plugin backend (#111)v2.0.5-pre18botato
* refractor uninstall plugin backend * refractor plugin installation method * Change formatting in browser.py * Manually format main.py * Manually format utilities.py * remove inconsistency * remove unnecessary linebreaks * lol what * last minute pythoning * Fix async missing * lint * more refractor * await forgotten * fix: menu not disappearing after first click * lint * bug: fix double click on uninstall * depricate request installs * basic patch notes viewer, lazy-load settings and store, build frontend as esmodule, add lazy-loaded react-markdown, backend changes to accomodate ESModule frontend * refractor uninstall plugin backend * Change formatting in browser.py * Manually format main.py * Manually format utilities.py * remove unnecessary linebreaks * lol what * last minute pythoning * Fix async missing * rebase onto main * fix error, fix React crash if patch notes are opened before remote version info is loaded Co-authored-by: TrainDoctor <traindoctor@protonmail.com> Co-authored-by: AAGaming <aa@mail.catvibers.me>
2022-08-09fix: don't pass unzip job to event loop (#136)v2.0.4-0dbdb4a-preSefa Eyeoglu
For some reason this broke installation of plugins when another specific plugin was present (vibrantDeck)
2022-08-08Standardize logging in browser.pyTrainDoctor
2022-08-08Use Environment Variables (#123)Derek J. Clark
Uses environment variables instead of hard coding the "deck" user/group. This adds support for systems other than the steam deck that are using the DeckUI. * Use Environment Variables * Use method to get USER from a systemd root process * Fix imports. Add get_user and get_user_group methods in helpers.py. Removed duplicated code * Add separate setters/getters for user vars. Ensure sleep prevents race condition of user setter in while loop
2022-07-25Better install process UX, fix reinstallingv2.0.4-afb2c7c-preAAGaming
2022-07-21use fstringv2.0.4-c9bf8d3-preAAGaming
2022-07-21change log to debugAAGaming
2022-07-21fix plugin uninstallingAAGaming
2022-07-03Fixed plugin installation ssl verification issue (#101)WerWolv
* Added cert location debugging * Install certifi * Try adding manual cacert in install request * Properly use ssl * More efficiently load ssl certificate
2022-07-02Merge remote-tracking branch 'origin/main'TrainDoctor
2022-07-02Use deckyState in uninstall menu (fixes #98) (#100)botato
2022-07-02Catch uninstall pluginTrainDoctor
2022-07-02Remove bugged rename invocationTrainDoctor
2022-07-02Properly await uninstallTrainDoctor
2022-07-01Uninstall functionality (#97)botato
* feat: POC uninstallation feature * Fixes, placeholder * bugfix: wrong function call * add oncancel and change function called * clean up plugin uninstall code * bugfix, uninstall in store * Limit scope of feature branch * feat: PluginLoader.unloadPlugin * problematic logs
2022-06-30backwards-compatible plugin store, legacy plugin libraryAAGaming
2022-06-29Installing from plugin store now works as intendedTrainDoctor
2022-06-29fix installing pluginsAAGaming
2022-06-22add settings page with install from URL optionAAGaming
2022-06-01React Plugin install dialog (closes #75)AAGaming
2022-05-26display overhaul, compatibility with legacy plugins, fixesmarios
2022-05-13Work on react frontend loaderJonas Dellinger