Skip to content
This repository has been archived by the owner on Mar 1, 2024. It is now read-only.

General roadmap and plans #1

Open
15 of 20 tasks
MatthewL246 opened this issue Aug 7, 2022 · 4 comments
Open
15 of 20 tasks

General roadmap and plans #1

MatthewL246 opened this issue Aug 7, 2022 · 4 comments
Assignees

Comments

@MatthewL246
Copy link
Owner

MatthewL246 commented Aug 7, 2022

Now that v0.1.0 is released, I will make a public roadmap and general plans tracking issue here.

General app features

  • Save connection settings and account information between runs
  • Option to log in with password instead of hash (Using https://account.pretendo.cc/v1/api/admin/mapped_ids and a re-implementation of NintendoPasswordHash in C#)
  • Settings dialog allowing custom allowed certificate hashes, client ID, client secret, and Miiverse title ID (currently hardcoded). Also, move the other rows of settings to the settings dialog.
  • Settings class to store the settings and simplify storing settings with serialization.

Juxt features

  • Inject JavaScript code to emulate Wii U functions, specifically for sending drawings and screenshots
  • Send custom screenshots
  • Trigger custom screenshot upload when clicking the select screenshot button on the new post form
  • Send custom drawings
  • Test new Juxt user creation from PNID (working)
  • Test on the official Pretendo beta servers (Find someone else with beta access? Or maybe just to ask to be a tester?)

Packaging and deployment

  • Find a reliable way of building the unpackaged version without Visual Studio
  • Build both a MSIX-packaged app and an unpackaged version (this does not seem to be a supported configuration though, so manual csproj edits might be needed)
  • Simplify the install process so users don't need to install so many dependencies

Resources: Overview, Packaged, Unpackaged, Self-contained

GitHub actions

  • Matrix build for configuration and platform
  • Build result caching
  • Upload unpackaged output and MSIX package
  • Separate workflow for packaged and unpackaged versions

Documentation

  • Better and more clear documentation for installation
  • Documentation for basic functionality: username, password hash, account server, and platform
  • Full documentation for every setting

What doesn't work (non-goals)

  • Setting a custom Host header inside the WebView: blocked by Chromium and causes an ERR_INVALID_ARGUMENT error. Because of this, adding portal.olv.pretendo.cc to the system hosts file is necessary.
    • Note: this might be possible with Chromium host-resolver-rules, but it would require killing and restarting the WebView process to change.
  • Disabling the browser's certificate verification: is a very bad idea for security reasons.
@MatthewL246 MatthewL246 self-assigned this Aug 7, 2022
@MatthewL246 MatthewL246 pinned this issue Aug 7, 2022
@MatthewL246
Copy link
Owner Author

MatthewL246 commented Aug 22, 2022

Many issues were solved by enabling self-contained publishing by setting <WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained> in the .pubxml files.

This one change both makes the unpackaged app work standalone and removes the need to install the Windows App SDK runtime separately!

The downside is that this increases the size of the app build, bringing a full release build up to about 200MB (which is rather large for a bunch of optimized DLLs).

Hopefully trimming is supported soon.

@MatthewL246 MatthewL246 unpinned this issue Aug 29, 2022
@MatthewL246 MatthewL246 pinned this issue Aug 29, 2022
@kamilthecitratester

This comment was marked as off-topic.

@kamilthecitratester

This comment was marked as off-topic.

@Bunjoli0

This comment was marked as off-topic.

Repository owner locked as off-topic and limited conversation to collaborators Oct 5, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants