Skip to content

Add opt-in demo pairing and tenant display defaults - #30

Merged
mrinc merged 9 commits into
masterfrom
feat/demo-mode
Sep 20, 2026
Merged

mrinc merged 9 commits into
masterfrom
feat/demo-mode

Conversation

@bcbetterninja

@bcbetterninja bcbetterninja commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

Adds opt-in demo pairing using the normal kiosk enrollment and playback flow. Demo is disabled by default; enabling it provisions a dedicated tenant with editable sample content. Android/TV, Linux and Windows show a Demo control during pairing and an Exit demo control that clears local enrollment without a server deletion request.

Tenant settings now define layouts assigned once to every newly created display, plus an optional default active layout. Administrator changes to existing display assignments are preserved. A bounded cleanup job uses normal kiosk deletion when a demo kiosk reaches 24 hours old or misses heartbeats for five minutes.

This implements the simplified scope agreed for #16: no update suppression, assignment enforcement, server-side exit endpoint, or automatic demo re-enrollment. Configuration and reviewer instructions are in docs/demo-mode.md.

Validation:

  • Server build and TypeScript check pass.
  • All 148 server tests pass with PostgreSQL, including demo enrollment isolation/idempotency, provisioning preservation, generic display defaults and cleanup thresholds.
  • Shared Rust core and Android bridge tests pass, including demo contract/backward compatibility coverage.
  • Added Android instrumentation coverage for demo enrollment through normal playback and local-only exit.
  • PR CI passes for native Linux and Windows clients, Android (including instrumentation), server, deployment, and ioBOX.

Closes #16.

@coderabbitai

coderabbitai Bot commented Sep 20, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: b6e5c92e-1907-4f39-8aee-f41a191b19c6


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 316d916bd1

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread server/src/plugins/service-admin-http/middleware.ts Outdated
Comment thread server/src/plugins/service-api-http/index.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c4ef9cc07e

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread client/src/platform/linux/ui.rs

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 788a6e941b

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread server/src/plugins/service-api-http/index.ts

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7deaf001fb

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread client/src/platform/windows/mod.rs Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a54945d7cd

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread client/android/app/src/main/java/cloud/betterportal/frame/ViewerSession.kt Outdated
@mrinc
mrinc merged commit 79721c1 into master Sep 20, 2026
10 checks passed
@mrinc
mrinc deleted the feat/demo-mode branch September 20, 2026 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Demo mode: automatic tenant enrollment, default layouts, update suppression and 24-hour cleanup

2 participants