Coder Social home page Coder Social logo

fortheusers / hb-appstore Goto Github PK

View Code? Open in Web Editor NEW
988.0 56.0 58.0 10.87 MB

Homebrew App Store - GUI for downloading/managing homebrew apps

Home Page: https://hb-app.store

License: GNU General Public License v3.0

C++ 99.17% Makefile 0.25% Python 0.58%
homebrew package-manager gui nintendo-switch wiiu-homebrew

hb-appstore's People

Contributors

annsanns avatar compsciorbust avatar compucat avatar crc-32 avatar gewoonleonyt avatar helafaye avatar jacquescedric avatar maschell avatar monkeywithacupcake avatar rw-r-r-0644 avatar sskyns avatar thatnerdypikachu avatar vgmoose avatar whovian9369 avatar xortroll avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hb-appstore's Issues

Custom Source

Is your feature request related to a problem? Please describe.
No

Describe the solution you'd like
Please add the possibility to add custom source (like GDrive, DropBox, etc).
Example: I add a .nro file on GDrive, I add the GDrive link on HB AppStore and it easily install the nro

Platform:
Nintendo Switch - WiiU

hbas.elf not loading in hbl1.4

Package:
Which app or package on the Store is giving you trouble?

Describe the problem
A clear and concise description of what the problem is.

Platform:
Is this for the Switch, Wii U, or both versions?

Cannot compile Wii U version: Packages not found

I downloaded the devkitPro devkitpro-pacman.deb and installed it with dpkg -i devkitpro-pacman.deb.

ubuntu@ubuntu:/opt/devkitpro/pacman/bin$ sudo ./pacman -S wut-linux wiiu-sdl2 devkitPPC wiiu-libromfs wiiu-sdl2_gfx wiiu-sdl2_image wiiu-sdl2_ttf wiiu-sdl2_mixer ppc-zlib ppc-bzip2 ppc-freetype ppc-libpng ppc-mpg123 wiiu-curl-headers ppc-pkg-config wiiu-pkg-config
error: target not found: wut-linux
error: target not found: wiiu-sdl2
warning: devkitPPC-r35-1 is up to date -- reinstalling
error: target not found: wiiu-libromfs
error: target not found: wiiu-sdl2_gfx
error: target not found: wiiu-sdl2_image
error: target not found: wiiu-sdl2_ttf
error: target not found: wiiu-sdl2_mixer
error: target not found: wiiu-curl-headers
warning: wiiu-pkg-config-0.28-2 is up to date -- reinstalling

Support for nightlies e.g. RetroArch

Is your feature request related to a problem? Please describe.
I'm always frustrated when there is afix in the nightlies of retroarch and i have to manually install them.

Describe the solution you'd like
The option to opt-in to the latest nightly build

Platform:
For the Switch

Error while compiling

I am trying to compile the app store and get always the error

/opt/devkitpro/libnx/include/switch/services/audren.h: In function 'constexpr size_t audrenGetOutputParamSize(const AudioRendererConfig*)':
/opt/devkitpro/libnx/include/switch/services/audren.h:318:1: error: body of 'constexpr' function 'constexpr size_t audrenGetOutputParamSize(const AudioRendererConfig*)' not a return-statement

I am new with libnx 🙈

Update credits/about screen

This screen should be thanking a lot more people about more specific things, so this issue is to track making that view scrollable and adding a small blurb about why people are being credited as well as possibly buttons/links out where to find them around the Internet.

Apps with lots of files are sloooow to install

For example, downloading Pynx's zip from the server works, but when it tries to install it takes about 3-5 minutes on the switch to extract all of the files to the SD card.

I don't think that this is a limitation of the switch, something in the zip extraction / manifest parsing code may be at fault. Pynx is also the only app that seems to have such a dramatic slowdown (it has 1417 files to extract to different folders).

This issue is twofold:

  1. The extraction/installation time of creating the folders and copying those files should be cut down, if possible
  2. A progress bar should be shown specifically for installing, rather than just downloading

For (2), the number of lines in the manifest file can be counted to get the total number of files, and then the progress bar can be updated using the callback in a similar fashion to how downloading does it.

EDIT: HCL-switch also has this issue, it has 658 files

[switch] Can crash while downloading some apps

Some users are reporting crashing while downloading "large-ish" packages, like Retroarch (20MB). I haven't been able to reproduce it at that scale, but I do crash trying to download DDLC (200MB).

Both issues might stem from the fact that while downloading, everything is written to RAM and only writes to disk after the download is done, causing out of memory errors if there isn't enough free memory available (which may change from setup to setup, such as which cfw, system version, or the way the app store is launched (NSP or otherwise)).

It would be nice to workaround this in a way that doesn't make us have to wait for SD card I/O (which tends to be slow-ish). Potentially detecting free memory available in the curl write callback, and if it's running low, write everything so far to disk and free memory before continuing.

Hb App store Wii U | Cant enter app

downlaoded it and put it in to the right folders.
wiiu - apps - appstore
i put it at the root of the sd card.
when i enter homebrew it shows like its there, but when i enter it, gives me 2 sec of black screen and then just goes back to the hb menu

Hint files for uninstalled packages that might already be installed

If a user already has a package installed (like they already have /hbmenu.nro on their switch, or /switch/someotherapp.nro), then it's possible to guess whether or not the package is installed based on the presence and contents of that file.

This could be done by populating the info.jsons for each package with a hint_file path and a hint_file_hash field. If the hint file exists, but doesn't match the known hash, then it can be presented as "update available"

This wouldn't catch every case, but should be more useful for the user than ignoring potentially installed packages altogether

Add search UI

get now has support for searching-- this functionality should be reflected in the UI.

Checkpoint has a nice keyboard for switch and is also GPLv3, which may be a good candidate.

Add network api

I'd like for there to be a way to schedule package installs and get a list of installed packages and their version over either a usb or network api on the Switch so that third-party apps can ensure consistent compatible installations, this would enable other tools to automate package updates, configure presets, etc.

Outdated apps can't be removed

When opening the details for an app that is outdated, HBAS shows "(A) Update)" and "(B) Cancel", but nothing to remove it. Removing an outdated app should be an option.

Tested on Wii U version launched from HBL.

Cant download apps

I started the homebrew channel 1.4 via Browser and opened the Homebrew Appstore and tried to download Mocha CFW SD by dimok. A white bar, comes up and starts filling up with blue, after the bar is completely filled it throws me back to the Homebrew Appstore
Please help

Wii support?

I was wondering if there is a Wii version of the HB App Store in the works, or if it in the pipeline at all. It would be nice to have something that could replace the archaic Homebrew Browser (or even the Open Shop Channel project that is based on it).

I'm asking because I'm a moderator on r/WiiHacks, and if one is released we can help feature it to get the news out about it.

[WII U] WIIMote support

WiiMote support for Wii U was in earlier versions of app store so why it isn't there now?

Recovery mode

the old "console" GUI has a lot less moving parts than the new GUI and would make for a nice recovery mode. Currently this code is completely separate in the console directory, but should be integrated to run when holding a certain key sequence, or a crash is detected.

We can detect crash animal crossing style, by writing a file when the app launches and removing it when the app exits. If this file already exists at launch (meaning wasn't cleaned up properly), we can display a recovery prompt a la mr. resetti.

This recovery mode might also want to include an even lower-check before the GUI even initializes that directly downloads an appstore binary from a URL, just in case even the GUI is borked.

Image of the older console mode:
image

Repo selector

There should be a way to manage the repos.json file from within the GUI, including editing existing repos, adding new ones, and adjusting the order/prority.

Related issues:
#11 - search GUI (for keyboard)
fortheusers/libget#7 - proper merging of multiple remotes

Remove instances of manual manifest parsing

There are a few occasions now where hb-appstore consults libget's store of manifests files to go through the files and perform some checks. It would be better if libget had something like a Manifest object and a way to retrieve a list of all files, with a certain status, matching a certain regex.

One instance of this is theme installing, where we need to fetch all paths of `.nxtheme files from the installed manifest.

FW 9.0 Compatibility

Please, update the app with FW 9.0 compatibility so we can use the buttons of the controller.

Help needed: How to add my own repo?

Many thanks for the appstore. I read the documentation of appstore and libget several times, but where do I find repos.json to include my own repo?

[Switch] Download count on packages is always zero

This has been going for some months: before that I used to see non-zero download counts when I selected a package I wanted to download. But now for every homebrew app, the download count shown is zero

Wii U | App not popping up on homebrew.

Describe the bug
when i try to load up homebrew with it in the apps folder, it doesnt show up.

Platform:
Wii U

To Reproduce
What I have done was,
i made a folder name "appstore" in the apps folder of the sd card.
i put all of the files into the folder.
and i put my sd card in
and then i loaded homebrew, and it wasnt there please fix this!

Cant install apps

Hey, whenever I try to install and app it says its installing but it never installs and still shows the download icon and never shows up in a homebrew launcher. Does anyone know why this is happening? My write lock is not enabled on my sd card

Download and extract packages in a separate thread + installation queue

Upon initiating a download for a package, the download/extraction progress status and bar should appear in a bar along the bottom, and allow the store to continue to be used to queue up more packages to be added to the bottom bar. Would also need #24 to be done properly (should display 1/2 Downloading, 2/2 Extracting)

Sometimes crashes on "Adjust Sort" button

If you spam the "Adjust Sort" button (on any platform– PC, Switch, or Wii U) it will eventually crash.

It stops at the following line with a segfault: https://github.com/vgmoose/hb-appstore/blob/master/gui/Element.cpp#L20 (at x=0)

In the debugger, this->elements[x] is not NULL (so it makes sense that it makes it through the above if condition, and probably isn't a race condition), but it still appears to be erroring when trying to invoke process.

It's also worth noting that every time the "Adjust Sort" button is pressed, about 0.2 MB of memory leaks, so some other assumption when sorting is probably also bugged.

Install guide?

Are you able to install this like Hombrew Menu? If no what is the proper way to install this? Or can you point me in the right direction. And what firmware is this compatible with? Thanks in advance.

Key repeat fires too quickly for gamepad controls

If a button is held for too long after pushing it, it will fire more than once. I tried to swap this out for a keyup event, but the same problem continues. On the PC version it can be resolved by setting the event.key.keysym.sym to another symbol but that doesn't work on Switch.

It could also have to do with the SDL1.2 port, and might be resolved when transitioning to SDL2

Do something about long initial load

The initial load takes a while because it has to fetch all icon/banner images for every app, and as more apps are added to the store this load becomes slower and slower.

Some possible solutions:

  • try to download images in parallel instead of sequentially
  • download a zip of all the images if a significant portion of the images are missing (would need #24 and #5 fixed though)
  • download images "on demand" when they are viewed in the list/detailes view instead of during the first load (and in another thread)
  • "just" have networking in general faster be faster on the switch (pretty sure homebrew network speed isn't as fast as nintendo's speeds, but have no proof to back up this claim)

As of 2.0, it does re-use the http socket, which has helped a bit, but it's still too slow for the first load

Crashing when downloading hb

Describe the bug
HB Appstore crashes when downloading homebrew

Platform:
Nintendo Switch
Latest AMS & Hekate
EmuMMC

To Reproduce
1.Use FW 9.0.1 EmuMMC
2.Use Latest AMS & Hekate
3.Launch HB Appstore via Applet mode(I don't have any games on system to launch other way)
4.Attempt to download a homebrew(In my case NXThemes)

AMS Error: 2168-0002(0x4a8)

Better indicator when offline

While offline, the progress bar just never loads on the loading screen. Ideally this would display a message instructing the user to connect to the internet.

Additionally. if it disconnects while at the app listing screen, the Download button just dismisses the popup. A similar check should be placed there.

Loading stuck, cache fail

When loading the appstore-nx on switch 5.0.2 (AppStore 1.0.0). It gets stuck on the loading.
Deleting the tmp directory made the appstore work again, but before I backed-up the offending cache.

Please find the backup here:
https://ufile.io/neck6

Hopefully you can use this to re-create the issue.

I've also been having issues downloading/booting apps on the appstore, where the app fails to boot. But when when I download via the website on Chrome and unpack manually to the device the app works.

Perhaps it might be my dodgy SD card too.

Scan for Existing HB Apps

Is your feature request related to a problem? Please describe.
When launching HB Appstore it does not scan the directory or sdcard to see if there's any pre-existing homebrew apps, like if you download a HB bundle such as Kosmos etc.

Describe the solution you'd like
A clear and concise description of what you want to happen. --- when you launch HB Appstore it should scan the director for any pre-existing homebrew applications

Platform:
Is this for the Switch, Wii U, or both versions? Both I guess...

installed apps not opening

when I download and install apps and then try to open them I will be returned to the hb launcher instead of the chosen application.

Wii U version (5.5.4 EU)

[switch repo] Large packages like Retroarch take a few days before update is available

For the Switch NRO: The issue I am having is that sometimes updates for apps such as Atmosphere and Retroarch take too long to be reported. I will wait a couple days after a new release of Atmosphere, and see that the Homebrew Apps Store has yet to report on it... so I will update manually. Then after another couple days, the Homebrew App Store will tell me that I need to update it even though I am at the current version.

The most frustrating example I have is the most recent. Retroach was updated to 1.8.6. Then it was updated to 1.8.7. Even after 1.8.7 had been released for a few days, there was no change in the HB App store. So I went ahead and updated manually. So, when I open the app store, now it tells me that I need to update to 1.8.6 when I am already sitting on 1.8.7. The idea of updating would be so useful through the App Store if it weren't so counterproductive. I have to remember what versions I have and check it off manually, and as much as I would like to have an App like this, it seems like it is more work keeping track of what it falls short in doing.

[wiiu] can't exit with home button

On PC and Wii U, the +/start/enter button can be used to exit the app, but on switch this is ignored, as if the button never fires. It could be a misalignment between the SDL2 gamepad controls between Switch and Wii U.

If it's really just the start button behavior is different, maybe it should be moved to a different button

Can't Control Appstore

My controllers and touchscreen work fine, but they stop working when I am in the Appstore. The only thing I can do is press A to download the default selected item, or hit the Home button. Please help!

Crashes while installing certain packages

Some packages seem to crash upon install--

For me, hbmenu, fruity, and libtransistor-examples seemed to all crash after the downloading screen. On a second run, appstore thinks they're installed but the .nros are nowhere to be found on my system.

When compiled for PC, even with the -DNOCURL flag, this crash does not occur. This leads me to believe that it has to do with the existing structure on the SD card.

Crash!

My Wii U (Running 5.5.3) crashes when I try to update HBA
IMG_0698

Add GUI

Concept screens by Roman!

update1
main
popup1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.