Giter Site home page Giter Site logo

mayhemhub's People

Contributors

jlynx avatar pedrocx486 avatar zxkmm 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

mayhemhub's Issues

Downloading firmware file from Github

Since we cannot download the file directly from GitHub because of the CORS issue, we will need to create a Cloudflare function that acts as a proxy for us to download the file. But we need to limit its scope so that it can only download from this specific repo.

Here is some example code to get started (Note this is for a worker, so will need to be updated to a function)

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
  const url = new URL(request.url)

  // Define the URL for the file to be downloaded
  let fileUrl = 'https://example.com/file.zip' 

  // Modify this for the logic to determine your file URL
  // if(url.pathname.startsWith('/specific-path/')) 
  //    fileUrl = 'https://example.com/file2.zip'

  let response = await fetch(fileUrl, request)

  // You can modify the response here, like setting content-disposition to force a file download
  response = new Response(response.body, response)
  response.headers.set('Content-Disposition', `attachment; filename="yourdesiredfilename.zip"`)

  return response
}

support for single app+bin tar flash

We would like to add support for the incoming single tar of APPS and firmware bin.

See that PR for implementation:

portapack-mayhem/mayhem-firmware#1704

Ideally, the web app could retrieve the file directly on github nightly or stable releases, and also allow tar file provide from host for manual selection and flash (devs ?)

Allow the users to hide/reduce parts of the GUI

Sometime I prefer to just use my keyboard and pilot my Portapack that way.
For it to be quick and effective, I'm not using the live view for this.
Sometimes I prefer to do commands, and I don't care the keyboard or live view or whatever.

It would be great if we could hide/reduce each items of the GUI, separately (I mean one hide button per item)

That would allow one to make a custom view more adjusted to the usage.

Auto scroll for console

Add auto scroll for console so it's always at the end. Make sure eif user scrolls up it also breaks the auto scroll and when they go to the bottom, it starts it again

GitHub Pages -> Cloudflare Pages

Switch to Cloudflare pages so we can create an Edge API for extra handling as well as increate the speed and location of the edge servers hosting the frontend

Folder bug on launch

Sometimes there will be a bug where the folder explorer is not showing hte correct data. This is because it gets a response from another command and things its the response from its ls / command, so it populates the folder explorer with output from some other random command.

image

We need a better way of tying commands to responses and/or somehow retrying if its a failed response

@gullradriel has seen this bug a few times

'help' command output not printed

When using the web console and typing 'help' the console show no output, but when doing it using 'screen' on the portapack I can see that help output something.

Mac Issues

For some reason Intel Macs have issues sending data and Apple Silicon Macs just do not want to connect. It will connect long enough to get the moto output out and then instantly disconnect after that. There must be some sort of bug on the HackRF side. I have validated this on other online WebSerial API websites too

Link are not clickable if no hackrf

Make top bar links clickable even if not hackrf is connected.

We should allow navigation to our webistes whatever is the usb serial state

Enhancement idea - Create toggle option for touch screen friendly mode.

What is the goal:
Create an option that would remove the file browser and command console, leaving only the remote control section of Mayhem Hub. The remote only display would also auto center on the screen per the devices resolution.

What is the benefit:
This would create a display that is touch screen friendly for devices such and tablets, phones or small form factor devices such as a RasberryPi with a touch display. Allowing for better ease of use when using Mayhem Hub as a remote control via said touch device.

Nice to have:
Keep the background of this mode black as an indication that you are not in the normal mode.

  • Normal Mode: Cool color background, indicates you are in the normal mode.
  • Remote Only Mode: Black background as a visual indicator that you are no in the normal mode.

Make auto update more stable

  • - Dont allow users to update if their OS is older than n_ (9th or something)
  • - Check users current version
  • - Alert them if there is a new update available
  • - Flash the tab if user puts it in the background to alert them they need to keep it focused
  • - Stop other commands sending or being clicked while update is in progress
  • - Disable update button while in progress
  • - Make the UI not look like crap
  • - Maybe have an updating overlay on the screen. Big text with update progress circle with text in the center. Make the background greyed out
  • - Add the ability to select latest nightly, latest stable, ability to select a specific version from the ones on the release page and ability for them to upload their own custom version from their computer

keyboard mapping for buttons

We would like to have a mapping for the keyboard:

  • arrow keys as arrow buttons
  • key enter as center button

If possible we can do custom button assignments and store it in the local storage, and just provide a default one at start.

Delete button

Please add a delete button near the download button after each filename
or
Allow to mark as delete and delete in batch

Add navbar

Add a navbar with link such as the FAQ, Wiki, Repo etc...

Queue TX if RX is ongoing

To stop commands getting broken and confused we need to check if RX is happening, then we want to queue up the TX commands and then send them after RX has completed.

This can cause issues such as this:
image

Update emoji to use FA

Now we have FontAwesome included in the package, we need to update the emoji's so that we use FA instead

FW update - no folder

If there is no FIRMWARES folder, and I try to upload a costum, it creates the folder, but uploads the new FW to the root, and can't flash it.
After the folder creation, it should upload the tar there.

mouse wheel as rotary encoder

We would like the mouse wheel to act as rotary button

Maybe allow the users to switch the directions, kind of a revert mode, would also be useful as some will prefer to go up for a left turn, and vice versa

Batch keyboard presses

As per this message
image

We should be able to batch the keyboard events. We should batch as we are trying and if no key is pressed after 500ms, then we send all keys (or if a max of 30 keys are reached)

Upload do not work with some filenames

When testing updates from test-drive, it happened that I already had downloaded a ppfw.tar file, and I downloaded another one.

The new one had the name "portapack-mayhem_OCI.ppfw (1).tar"

It failed and produced the following log:

ch> fopen /FIRMWAREportapack-mayhem_OCI.ppfw (1).tar
usage: fopen <path>
ch> fseek 0
no open file
ch> fwb 100000
no open file

Function to link command with response

Need to create a function to send off command and wait for a response for that commands response, so for instance if we send off a command for a screenshot or for info we know we are getting the correct response

Set RTC time on connect

When device gets connected, first thing it should do it update the rtc time to be same as the computers time.

Show latest version

Connect to the GitHub API to show the latest release version, or show if there is an update available

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.