Commit Graph
74 Commits
Author SHA1 Message Date
ITotalJustice 45aa7c4e62 fix forwarder icon passing in the wrong size, fix github zip detection / extraction, add back url in json
- i was passing the wrong size for icon, so it always failed to load.
- i didnt realise zips can have many content types, so now i search for the name "zip" which works well.
- extracting a zip will fail if the files are all in the root, ie, no folder, and the subfolders do
  not already exist.
- fix misspelling of download.
2024-12-31 10:15:30 +00:00
ITotalJustice 9b1788d1ec i forgot to enable buffered io for ftp... 2024-12-31 05:52:51 +00:00
shadow2560 389a4cfef5 Update french language. (#63)
Signed-off-by: shadow2560 <24191064+shadow2560@users.noreply.github.com>
2024-12-31 05:06:08 +00:00
ITotalJustice ac06631156 fix building 2024-12-31 04:53:33 +00:00
ITotalJustice bc39e668eb add pre/post install message options for github json 2024-12-31 04:41:19 +00:00
ITotalJustice e452615c77 fix etag cache not being returned upon the 2nd request, add jump page support for all menus.
- all menus feature page jumping, using L2/R2 (or DPAD_LEFT/DPAD_RIGHT in list menus)
- successive calls to fetch the etag would fail, this was seen in themezer and github menus.
- add limit the number of icons loaded per frame in homebrew menu.
- display default icon the image is not ready to be loaded / invalid.

fixes #53
2024-12-31 03:57:08 +00:00
ITotalJustice 588eb01379 poll main_menu vars (ip, charge% time) every 1s, rather than every frame. 2024-12-30 21:28:28 +00:00
ITotalJustice 4855a01f1a further simplify download cache by using a single file
this slightly improves lookup time for each cached entry (etag and last-modified)
by setting both entries next to each other, meaning when the one is found, the other
is already loaded in memory.
2024-12-30 21:12:29 +00:00
ITotalJustice cb7fb0e506 use ftpsrv config and mountpoints, improve ftp performance by using its vfs. 2024-12-30 21:09:32 +00:00
ITotalJustice cdb38f27a7 simplify etag caching requests 2024-12-30 02:27:52 +00:00
ITotalJustice 7804bbbcbc add support for finding daybreak in non-standard paths (#62) 2024-12-29 11:52:34 +00:00
ITotalJustice 5db5f93af1 fix building 2024-12-29 01:15:37 +00:00
Ny'hrarr bab4bfce84 Update pt.json (#61) 2024-12-29 01:02:33 +00:00
ec06763e50 Fixed some translations of ko.json (#58)
* Fixed some translations of ko.json

* Add new string to lang.json and update ko, ja.

---------

Co-authored-by: Yorunokyujitsu <seonmini1315@gamil.com>
Co-authored-by: ITotalJustice <47043333+ITotalJustice@users.noreply.github.com>
2024-12-29 01:02:04 +00:00
ITotalJustice 5e315bd65f many fixes and performance improvements for network requests (see commit details)
- add etag support
- add last-modified support

with the above 2 changes, this means that all downloads can be cached. when attempting to download a file,
if the file is an image, load from cache. after, the download is processed with the above tags sent. if a 304 code
is received, then the file hasn't changed. otherwise, the new tags are saved and the downloaded file is now used (in the
case of an image, the new image is now loaded over the cached one).

this results in a *huge* speed improvement and overall a huge amount of bandwidth is saved for both the client and server.

- themezer requests now only request the data needed.

this results in a json file that is 4-5x smaller, meaning a much faster download and parsing time.

- loading images is capped to 2 images a frame. this was done to avoid fs being the bottle neck.
  a 9 page listing will take 5 frames. scrolling through lists is more responsive.

- downloads are pushed to the front of the queue as they're added. the point of this is to prioritise
  data that we need now.

- fix potential crash when sorting files based on names as its possible for a file to have the same name
  in the metadata. this fallsback to sorting by path, which is unique.

- add timeout for processing events. this was done in order to not block the main thread for too long.

- github json files have changed from a name + url to a repo + author pair.
- drawing widgets now starts from the last file in the array. as a menu takes up the whole screen, it
 is pointless drawing menu's underneath. this halves gpu usage.
- download url caching has been removed. this was added to fix a race condition when opening /
  closing a widget which starts a download when created. this would result in 2 same files being
  downloaded at the same time. this is no longer an issue and was overhead per download request.
2024-12-29 00:33:31 +00:00
ITotalJustice 2edfe91ad6 re-write download code to support headers, needed for etag support.
etag support will be added later. github supports it and themezer probably does as well.
appstore does not sadly...
2024-12-27 02:28:44 +00:00
ITotalJustice 7005118876 Create FUNDING.yml 2024-12-26 19:23:39 +00:00
DDinghoya 087d44fb40 Update ko.json (#55)
. Fixed some awkward words
. If there is no abbreviation "...", fixed progressive tense to noun.
2024-12-26 18:34:47 +00:00
ITotalJustice e3722f2591 include name when prompting the user to select which asset to download 2024-12-26 18:29:03 +00:00
ITotalJustice 47855ce7b4 change workflow to only build MinSizeRel 2024-12-26 18:11:53 +00:00
ITotalJustice ec7caabdbd add GitHub downloader, fix yyjson helper missing break, hide popup list when out of focus 2024-12-26 18:11:03 +00:00
YorunokyujitsuandYorunokyujitsu adf0a3b2cd Update ko.json and ja.json and add MTP/FTP strings (#54)
Co-authored-by: Yorunokyujitsu <seeonmini1315@gmail.com>
2024-12-26 04:58:17 +00:00
Ny'hrarr f88e354ae8 Translate missing fields (Portuguese) (#51)
* Update pt.json
2024-12-26 03:29:33 +00:00
cucholix df3d8d3990 Update es.json (#49)
Further improvements for ver 0.5.0
2024-12-26 03:29:08 +00:00
ITotalJustice f01dbf7c67 silence warning, add credit to readme, bump version for release 0.5.0 2024-12-25 22:27:25 +00:00
glitched_nx 7c273f30f3 Solve conflicts in de.json, fr.json files - and complete them (#48) 2024-12-25 22:20:31 +00:00
ITotalJustice 37890f157d add mtp (haze) ftp (ftpsrv), update RA file assoc, nxlink now polls for connection. 2024-12-25 22:17:21 +00:00
shadow2560 a2c9b63dfd Some fixes and update french language (#46)
* Fix starred homebrew list logging, fix hbmenu identification when backing up it and logging it correctly, update french language.

Signed-off-by: shadow2560 <24191064+shadow2560@users.noreply.github.com>
2024-12-24 22:21:54 +00:00
ITotalJusticeandYorunokyujitsu 3df676df0f New strings added and update ko, ja, se(https://github.com/ITotalJustice/sphaira/pull/36), es(https://github.com/ITotalJustice/sphaira/pull/38), zh(https://github.com/ITotalJustice/sphaira/pull/42), fr(https://github.com/ITotalJustice/sphaira/pull/45) translations. (#44)
Co-authored-by: Yorunokyujitsu <seonmini1315@gamil.com>
2024-12-24 08:55:29 +00:00
do-kiss 276ee36bfe Chinese translation update (#42)
* Update zh.json
2024-12-23 04:56:16 +00:00
cucholix 17b622833a Update es.json (#38)
Replaced some lower case chars to match English style.
Replaced some words like Homebrew, AppStore, IRS, etc… that doesn’t have direct meaning in Spanish, literal translation sound awkward so it’s better leave them in English.
Filled out missing translations.
2024-12-23 04:55:38 +00:00
HenryBaby 536c169255 Updated Swedish translation (#36) 2024-12-21 21:49:21 +00:00
shadow2560 38640ea696 Update french translation (#35)
Signed-off-by: shadow2560 <24191064+shadow2560@users.noreply.github.com>
2024-12-21 21:49:01 +00:00
ITotalJustice 372399a27d remove more unused strings 2024-12-21 21:18:13 +00:00
ITotalJustice 483b2b3ce0 add option to restart sphaira upon installing an update 2024-12-21 20:36:59 +00:00
ITotalJustice e0040b625e remove unused strings from translations 2024-12-21 20:11:22 +00:00
ITotalJustice 10f079e881 make progress popup a little nicer, store json timeout is now 1h, initial work on storing update changelog
also removed the ability to cancel an update whilst unzipping the files, as this would result
in a corrupted sphaira.nro install, which we don't want.
2024-12-21 19:44:43 +00:00
ITotalJustice 4a058d3caf disable install by default, enabled via advanced menu. disable web browser if applet. 2024-12-21 18:49:40 +00:00
ITotalJustice 986ffdcd9c remove option to set archive bit in filebrowser
removed as likely no one needs this feature, and an cause problems for users
that do not know what they're doing
2024-12-21 18:04:19 +00:00
ITotalJustice 97085ef282 add option in config to remove install warning prompt 2024-12-21 18:01:57 +00:00
ITotalJustice d02fbcf282 fix performance regression caused by #32
the issue isn't with the pr itself, however it did expose the lack of caching with the translation strings, it will
continue to search for strings, even if we already found them.
to solve this, i used a map to cache said strings
2024-12-21 17:31:19 +00:00
YorunokyujitsuandITotalJustice c8ae2a7872 Almost all strings for translation. (#32)
* Almost all strings for translation

* Remove nonexistent strings.

---------

Co-authored-by: ITotalJustice <47043333+ITotalJustice@users.noreply.github.com>
2024-12-21 16:49:48 +00:00
HenryBaby 79da00e098 Swedish translation (#26) 2024-12-21 16:47:26 +00:00
ITotalJustice 0edd7c400f add support for swedish translations (needed for pr merge) 2024-12-21 16:46:10 +00:00
ITotalJustice aa03256fd4 better naming for menu tabs (Fs -> Files, Apps, App -> Store)
fixes #30
2024-12-21 16:35:26 +00:00
ITotalJustice 8f1084b24f fix text bounds in option box
fixes #28
2024-12-21 16:32:36 +00:00
ITotalJustice 55c952a51f add stars in homebrew menu (hbmenu feature)
fixes #22
2024-12-21 16:30:32 +00:00
ITotalJustice dd6371997c fix core3 being pinned at 100% due to nxlink polling.
this was caused due to https://github.com/ITotalJustice/sphaira/commit/9966e57e1222727520dc48290d49ed034d5bc1f8
2024-12-21 01:21:45 +00:00
shadow2560 c8c4a273c9 Init and close Set service so auto language work now. (#31)
* Init and close Set service so auto language work now.

Signed-off-by: shadow2560 <24191064+shadow2560@users.noreply.github.com>

* Init and close Set service place moved into services init/close order.

Signed-off-by: shadow2560 <24191064+shadow2560@users.noreply.github.com>

---------

Signed-off-by: shadow2560 <24191064+shadow2560@users.noreply.github.com>
2024-12-20 17:42:28 +00:00
ITotalJustice 0570c14343 bump version for release 0.4.1 2024-12-20 11:17:15 +00:00