Repository navigation
Releases: Stadicus/popcorn-vote
Releases · Stadicus/popcorn-vote
Release list
v1.4.0
- Added a movie night for the evenings when somebody is out. Before the reveal,
and before a free pick, the phone can say who is missing: only the votes of
the people present are counted, and a movie carrying a vote of somebody absent
is no candidate at all. It stays on the list, greyed out, marked "waits for
Ben", and it cannot be chosen as a free pick either. Taking a vote back is the
way to release a movie, exactly as it always was, so nothing new had to be
invented and nobody's favourite gets watched without them. Whoever ticks
nobody off sees no change anywhere: there is no new setting and no new
environment variable. - Recorded who was away on the movie itself, so the archive, the log and the TV
say "Without Ben" for that evening and nothing at all for a full one.
Reverting a win clears it. - Made the television follow a partial night. Who is missing is shared by all
devices: tap somebody off on the evaluation page of any phone and the board
recounts everywhere, their films step to the bottom saying "waits for Ben",
and the crown moves to whoever can actually win. The selection survives a
reload, reaches the free-pick dialog on a film page, and expires twelve hours
after the last change so an evening nobody confirmed cannot colour the next
one. A revert keeps it: that is the same evening, run again. - Made "We watched it" open the archive, where the film is the top entry and
its stars are waiting. Rating was two taps away and easy to forget. - Made every new release open a draft pull request that moves Umbrel to the
published manifest digest and materializes the matching CasaOS package, so
the store metadata no longer waits for a manual run. The CasaOS package for
v1.3.0 is materialized for direct import; Home Assistant stays in its
templates until the Home Assistant OS device test has passed.
v1.3.0
- Made the production image adopt a root-owned
/datamount once and then
replace itself with the unprivilegednodeprocess. This enables managed
app-store storage without changing the existing explicit--userpath used
by Unraid and Umbrel. - Added the Home Assistant image labels to both native release architectures and
CI checks that verify the labels, non-root application process, first-run
setup, restart, update, port change, backup restore, and both supported data
ownership paths. - Prepared non-discoverable Home Assistant and CasaOS package templates plus a
fail-closed materializer that accepts only a pullable multi-architecture image
with matching Home Assistant labels. After this release, one reviewed metadata
update can publish both packages and move Umbrel to the same manifest digest. - Strengthened package discovery, version-lag, image pinning, architecture,
privilege, and registry gates. Store metadata may intentionally remain one
release behind the application, but it cannot point at an unavailable image. - Gave the strict pull-request publication check an unambiguous status name,
added CodeQL to the exact-commit release gate, and made each successful image
publication report its manifest digest in a best-effort summary and JSON
artifact.
v1.2.0
- Fixed the container health check, which reported every installation as
unhealthy while the application was serving requests normally. It asked for
localhost, which resolves to::1as well as127.0.0.1inside the
container, while the server listens on IPv4 only.docker psshowed
(unhealthy)permanently, monitoring alerted on a healthy app, and
depends_on: condition: service_healthycould never be satisfied. - Changed
ADDRESS_HEADERto be off by default. It makes the app read the
client address from a forwarding header, which is right behind a reverse
proxy and wrong on a directly reachable installation, where the caller writes
that header and can pick the address the per-IP PIN brake counts against.
Whoever runs the app behind a reverse proxy has to uncomment
ADDRESS_HEADERandXFF_DEPTHindocker-compose.ymlafter updating,
otherwise every visitor counts as the proxy and the brake locks the whole
household out together. The app now logs at startup which of the two it is
doing. - Added an Unraid Community Applications package, so the app can be installed
from the Unraid app store. It lives inpackaging/alongside a consistency
check and an install test that runs the container the way a store does. - Completed the ARM64 documentation: the ready-made image has been published for
linux/amd64andlinux/arm64for a while, but one installation guide still
claimed otherwise and sent ARM and NAS owners into an unnecessary local build. - Added a star request to the project website and narrowed the CodeQL scan to
the source, which had been reporting findings in bundled dependency code.
v1.1.0
- Added a multilingual first-run wizard for new installations. It configures
family members, one shared family PIN, voting rules, scheduling, viewing
sources, timezone, TMDB and optional OMDb keys, and movie-language defaults. - Added settings for the instance name, timezone and automatic session timeout,
while keeping environment-managed values read-only. - Added server-enforced session expiry, safer atomic configuration updates and
a fail-closed setup gate that protects existing data stores. - Added immediate PIN validation with accessible error focus, responsive setup
styling and complete setup translations for all supported languages. - Added the multilingual Popcorn Vote website, live-demo entry points and a
media kit with reusable project assets. - Strengthened release, security and browser-test automation, including WebKit,
coverage reporting, CodeQL and multi-architecture container publishing. - Existing sessions need to enter the shared family PIN once after updating
because authenticated cookies now carry a signed issue time.
v1.0.0
- Family movie-night planning with shared votes, movie suggestions, evaluation,
archive and ratings. - TMDB and optional OMDb metadata, CSV import/export, nightly backups and a
Docker-based deployment. - A PIN-protected, multilingual, installable web app with an optional TV view.