Original Estimate:
Priority: High
Epic: SAM-98 WebRTC Transport & Secure Bootstrapping
Create data structure in PWA to hold new app manifests (app manifests should have a list of components with a type and a specification. The existing manifest.manifest property would be converted into a manifest.components[].type === "docker-compose" && manifest.components[].specification === '{version: "1.0".... }'.
The PWA data structure wouldn’t need to include types for the docker-compose component, but would need to type a new ui component. The ui component specification property should be some HTML that gets rendered.
A new /pwa/apps path should render the app launcher (TODO - not a part of this ticket), and a parameterized /pwa/apps/:id path should just render the app with the given id (the app launcher will launch an app by just redirecting to this path).
Metadata:
Create data structure in PWA to hold new app manifests (app manifests should have a list of components with a
type
and aspecification
. The existingmanifest.manifest
property would be converted into amanifest.components[].type === "docker-compose" && manifest.components[].specification === '{version: "1.0".... }'
.The PWA data structure wouldn’t need to include types for the docker-compose component, but would need to type a new
ui
component. Theui
componentspecification
property should be some HTML that gets rendered.A new
/pwa/apps
path should render the app launcher (TODO - not a part of this ticket), and a parameterized/pwa/apps/:id
path should just render the app with the given id (the app launcher will launch an app by just redirecting to this path).Hardcode the manifest for pleroma in a sensible place. It should render an iframe that points to
/timelines/fediverse
(we can use this method: [https://reactjs.org/docs/react-dom-server.html#rendertostaticmarkup|https://reactjs.org/docs/react-dom-server.html#rendertostaticmarkup|smart-link] to specify the hardcoded iframe using JSX).