Repository navigation
BoothWall v3.0.0 - #5
Merged
Merged
Conversation
One event photo wall you run yourself: a Vega OS app for the Fire TV, a web display, a guest upload page and a Control panel, all driven by one config file. See CHANGELOG.md for the full notes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
One event photo wall you run yourself: a Vega OS app for the Fire TV, a web display, a guest upload page and a Control panel, all driven by one config file. This edition's native TV app is Vega OS only, and you build it yourself: there is no store build and no pairing, because the app you build already knows its wall. The room can work the wall from the remote, a photo call brings a burst of new photos, and
pnpm tryputs a wall on the Vega Virtual Device in one command.Added
GET /photos/:id/status, answered only with the guest's own delete token.wallin the config: a split header with your lockup on the left and the event's name, year, venue, hashtag and badge on the right in two rows, a filled announcement that catches the eye once a minute, a source card that names the repo, andwall.motion: "signal", faint light ribbons and particles behind the photos with a soft light that carries each new photo to its card. Without them the wall looks as before. See docs/customising.md.event.wordmarkkeeps BoothWall's lockup on the left and puts the event's wordmark on the right.theme.primaryOnDark: an optional second brand colour for accent text on the dark wall and pages, besidetheme.primaryfor buttons.?theme=partyopens the browser wall on a theme. Neither changes the config. In demo mode the remote's Menu button does the same and names thesettings.themeline for each.pnpm tryrunspnpm demo --lan, points the config at it until you stop it, and builds and opens the TV app on a running Vega Virtual Device.pnpm demo --lanserves the local wall on your network address, so a phone, a Fire TV and the Vega Virtual Device can join it, and prints theurlsto build the TV app with.urls.webone (for examplehttps://example.com/wall) and its pages, assets and QR codes live under it. See docs/customising.md.POST /photos/:id/reactions); the guest page doesn't offer them. Counts ride along with each photo and reach the screens asphoto.reactions, batched to one event per photo every 2 seconds.createApp({ resolveWall })lets the API work out which wall a request is for. Out of the box there is one wall,default, so a running wall behaves exactly as before.UniversalPaletteProviderdraws the universal theme in a host's own colours, and an optional copy object gives the wall its words in another language.packages/web-ui: the web app's shared UI pieces in their own package.Changed
/control,/control/liveand/control/guests. It has a new unlock screen.#CC4128, with#FF6A4Dfor text on dark), and its own app icon and favicons. The TV app is called BoothWall Open. Removewallfrom the config for the classic header (docs/customising.md).credits: trueshows it. The phone pages keep their source link, "BoothWall OSS · MIT · source on GitHub", unlesscredits: false.tvinboothwall.config.ts. Build it yourself and never publish it: there is no code entry, menu or store build.#BoothWall, its starting categories describe the crowd (first time here, regulars, on the team, friends & family, and a catch-all, just visiting) and the guest and host copy talks about the event and the big screen instead of a booth or a Fire TV.badgeconfig field, like "Built on Vega OS". The default config has none.boothwall.config.ts. Settings saved by older versions keep working until you migrate them; see docs/config-migration.md.examples/conference-booth, a made-up developer conference with photo missions as its categories, the conference theme, and its own logo, colours, icons and backdrop rendered from SVG sources in the example.pnpm boothwall examplerefuses an example with files for folders the repo doesn't have.pnpm demospreads its sample photos over your own categories when they differ from the samples'.Fixed
crypto.randomUUID.Removed
Upgrading
Five migrations come with this release;
pnpm boothwall deploy(orpnpm boothwall migrate) applies them.0006adds thesettingstable, where Control's slideshow and guest-upload switches are saved.0007adds a wall id and reaction counts to photos. Existing photos join thedefaultwall.0008adds thephoto_analysistable. This edition doesn't write to it.0009changes how the API identifies clients for abuse limits, to a keyed daily fingerprint. The API needs a new secret,CLIENT_FINGERPRINT_KEY; setup and the local demo create one. It renames stored columns, so an existing installation must stop traffic, apply it and switch the code together: follow docs/client-fingerprint-migration.md.0010protects settings that come from the config file. Stored settings are unchanged; see docs/config-migration.md.