Files
start-os/container-runtime
Lucy a535fc17c3 Feature/fe new registry (#2647)
* bugfixes

* update fe types

* implement new registry types in marketplace and ui

* fix marketplace types to have default params

* add alt implementation toggle

* merge cleanup

* more cleanup and notes

* fix build

* cleanup sync with next/minor

* add exver JS parser

* parse ValidExVer to string

* update types to interface

* add VersionRange and comparative functions

* Parse ExtendedVersion from string

* add conjunction, disjunction, and inversion logic

* consider flavor in satisfiedBy fn

* consider prerelease for ordering

* add compare fn for sorting

* rename fns for consistency

* refactoring

* update compare fn to return null if flavors don't match

* begin simplifying dependencies

* under construction

* wip

* add dependency metadata to CurrentDependencyInfo

* ditch inheritance for recursive VersionRange constructor. Recursive 'satisfiedBy' fn wip

* preprocess manifest

* misc fixes

* use sdk version as osVersion in manifest

* chore: Change the type to just validate and not generate all solutions.

* add publishedAt

* fix pegjs exports

* integrate exver into sdk

* misc fixes

* complete satisfiedBy fn

* refactor - use greaterThanOrEqual and lessThanOrEqual fns

* fix tests

* update dependency details

* update types

* remove interim types

* rename alt implementation to flavor

* cleanup os update

* format exver.ts

* add s9pk parsing endpoints

* fix build

* update to exver

* exver and bug fixes

* update static endpoints + cleanup

* cleanup

* update static proxy verification

* make mocks more robust; fix dep icon fallback; cleanup

* refactor alert versions and update fixtures

* registry bugfixes

* misc fixes

* cleanup unused

* convert patchdb ui seed to camelCase

* update otherVersions type

* change otherVersions: null to 'none'

* refactor and complete feature

* improve static endpoints

* fix install params

* mask systemd-networkd-wait-online

* fix static file fetching

* include non-matching versions in otherVersions

* convert release notes to modal and clean up displayExver

* alert for no other versions

* Fix ack-instructions casing

* fix indeterminate loader on service install

---------

Co-authored-by: Aiden McClelland <me@drbonez.dev>
Co-authored-by: Shadowy Super Coder <musashidisciple@proton.me>
Co-authored-by: Aiden McClelland <3732071+dr-bonez@users.noreply.github.com>
Co-authored-by: J H <dragondef@gmail.com>
Co-authored-by: Matt Hill <mattnine@protonmail.com>
2024-07-23 00:48:12 +00:00
..
2024-07-23 00:48:12 +00:00
2024-06-12 17:46:59 +00:00
2024-06-28 21:03:01 +00:00
2024-06-28 21:03:01 +00:00
2024-04-17 21:46:10 +00:00
2024-04-22 17:40:10 +00:00
2024-04-15 16:00:56 +00:00

Testing

So, we are going to

  1. create a fake server
  2. pretend socket server os (while the fake server is running)
  3. Run a fake effects system (while 1/2 are running)

In order to simulate that we created a server like the start-os and a fake server (in this case I am using syncthing-wrapper)

TODO

Undo the packing that I have done earlier, and hijack the embassy.js to use the bundle service + code

Converting embassy.js -> service.js

startOs ->> startInit.js: Rpc Call
startInit.js ->> service.js: Rpc Converted into js code

Create a fake server

run_test () {
    (
        set -e
        libs=/home/jh/Projects/start-os/libs/start_init
        sockets=/tmp/start9
        service=/home/jh/Projects/syncthing-wrapper

        docker run  \
            -v $libs:/libs \
            -v $service:/service \
            -w /libs \
            --rm node:18-alpine \
            sh -c "
                npm i &&
                npm run bundle:esbuild  &&
                npm run bundle:service
            "



        docker run  \
            -v ./libs/start_init/:/libs \
            -w /libs \
            --rm node:18-alpine \
            sh -c "
                npm i &&
                npm run bundle:esbuild
            "



        rm -rf $sockets  || true
        mkdir -p $sockets/sockets
        cd $service
        docker run \
            -v $libs:/start-init \
            -v $sockets:/start9 \
            --rm -it $(docker build -q .) sh -c "
                apk add nodejs &&
                node /start-init/bundleEs.js
            "
    )
}
run_test

Pretend Socket Server OS

First we are going to create our fake server client with the bash then send it the json possible data

sudo socat - unix-client:/tmp/start9/sockets/rpc.sock
{"id":"a","method":"run","params":{"methodName":"/dependencyMounts","methodArgs":[]}}
{"id":"a","method":"run","params":{"methodName":"/actions/test","methodArgs":{"input":{"id": 1}}}}
{"id":"b","method":"run","params":{"methodName":"/actions/test","methodArgs":{"id": 1}}}