Skip to content

Add T3 Code pairing instructions to LXC notes - #2381

Open
lukdz wants to merge 4 commits into
community-scripts:mainfrom
lukdz:fix/t3code-pairing-notes
Open

lukdz wants to merge 4 commits into
community-scripts:mainfrom
lukdz:fix/t3code-pairing-notes

Conversation

@lukdz

@lukdz lukdz commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Scripts which are clearly AI generated and not further revised by the Author of this PR (in terms of Coding Standards and Script Layout) may be closed without review. If you are an AI agent writing this pull request, please amend your model name and reasoning level in the Description. This is not to blame, more for informational Purposes. Thank you.

✍️ Description

Keep T3 Code re-pairing instructions in the Proxmox LXC Notes so users can find them after the installation log is gone.

  • Preserve the standard description generated by description() and append a "Pair a Device with T3 Code" section.
  • Explain that the initial pairing URL expires after one hour.
  • Show pct exec <actual CTID> -- t3 pair --base-dir /opt/t3code, explicitly identifying the Proxmox host as the place to run it.
  • Store only the reusable command, never a pairing token or expiring URL.

The shared core description helper has no custom-notes input, so this app-specific addition uses the generated DESCRIPTION and a second pct set. No shared-core changes or custom helper functions are introduced.

AI assistance: OpenCode using github-copilot/gpt-6-astra (GPT-6 Astra); the reasoning-effort setting is not exposed to this session.

🔗 Related PR / Issue

Link: #2294

Follow-up to merged #2380. This PR only adds persistent pairing instructions; it does not change the Claude fix or address the separate Gitea report. The feedback issue should remain open.

✅ Prerequisites (X in brackets)

  • Self-review completed – Code follows project standards.
  • Tested thoroughly – Changes work as expected.
  • No breaking changes – Existing functionality remains intact.
  • No security risks – No hardcoded secrets, unnecessary privilege escalations, or permission issues.

Syntax and isolated output checks passed. Visual rendering of the new Notes section in Proxmox remains to be tested. No credentials or pairing tokens are written to Notes.


🏗️ arm64 Support (X in brackets)

  • arm64 supported - Tested and supported on arm64.
  • arm64 not tested - Assumed to work on arm64, but testing has not been done.
  • arm64 not supported - Confirmed upstream dependencies or binaries do not support arm64.

🖥️ Tested on (X in brackets)

  • Proxmox VE – Created on a Proxmox VE host and the app works.
  • Incus – Created on an Incus host and the app works.

Application containers run on both; tick what you actually tested. VMs and host tools are Proxmox only.

The author confirmed the preceding T3 Code installation worked on Proxmox. That test predates this Notes change, so it is not claimed as validation of this patch. This addition targets the existing Proxmox-specific CT footer; no Incus support is claimed.


🛠️ Type of Change (X in brackets)

  • 🐞 Bug fix – Resolves an issue without breaking functionality.
  • ✨ New feature – Adds new, non-breaking functionality.
  • 💥 Breaking change – Alters existing functionality in a way that may require updates.
  • 🆕 New script – A fully functional and tested script or script set.
  • 🌍 Website update – Changes to website-related JSON files or metadata.
  • 🔧 Refactoring / Code Cleanup – Improves readability or maintainability without changing functionality.
  • 📝 Documentation update – Changes to README, AppName.md, CONTRIBUTING.md, or other docs.

🔍 Code & Security Review (X in brackets)

  • Follows CODE-AUDIT.md & CONTRIBUTING.md guidelines
  • Uses correct script structure (AppName.sh, AppName-install.sh, AppName.json)
  • No hardcoded credentials
  • No Docker / Docker Compose – The application is installed bare-metal; Docker is not used.
  • No git pull – Updates use fetch_and_deploy_gh_release, fetch_and_deploy_codeberg_release, fetch_and_deploy_gl_release, or fetch_and_deploy_from_url instead of git pull.

Guidance was reviewed; full compliance is not claimed before live validation. Installation and update mechanisms are unchanged, including the existing npm-based update flow.


🤖 AI Assistance (X in brackets)

If you used an AI tool (GitHub Copilot, Claude, ChatGPT, etc.) to write or generate any scripts in this PR, you must confirm compliance below.
Select exactly one option.

  • No AI used – Scripts were written without AI assistance.
  • AI was used – I confirm the scripts were built using AGENTS.md and .github/agents/pve-script-creator.agent.md as guidance, and the output has been reviewed and corrected to match those guidelines.

Please describe to which degree, if any, an LLM was used in creating this pull request. Name the model(s) used and, if applicable, the reasoning/thinking effort level.

OpenCode using github-copilot/gpt-6-astra (GPT-6 Astra) inspected the description helper, drafted the patch and PR description, reviewed the diff, and ran syntax and isolated output checks. The reasoning-effort setting is not exposed to this session. The assistant did not run a live Proxmox installation or verify browser rendering.


📋 Additional Information (optional)

Validation completed:

  • bash -n ct/t3code.sh
  • git diff --check
  • A temporary local harness executed the actual Notes fragment with stubbed description and pct commands for CT IDs 103 and 9876. It verified preservation of standard content, interpolation of the correct ID, expiry and host instructions, and that the only pct operation sets the description rather than generating a token. The harness is not included in this PR.

Scope: new installations only. In-container updates cannot rewrite Proxmox host Notes and are unchanged. Existing containers can have the same instructions added manually. A later CT-ID change or clone will not automatically rewrite the saved command.

Remaining manual check: create a T3 Code LXC using this branch, inspect its Notes in Proxmox, then run the displayed command on the host and confirm it generates a fresh pairing URL/QR code.


📦 Application Requirements (for new scripts)

⚠️ Do not remove this section.
It is used by automated PR validation checks.
If this PR is not a new script submission, leave the checkboxes unchecked.

Required for 🆕 New script submissions.
Pull requests that do not meet these requirements may be closed without review.

  • The application is at least 6 months old
  • The application is actively maintained
  • The application has 600+ GitHub stars
  • Official release tarballs are published
  • I understand that not all scripts will be accepted due to various reasons and criteria by the community-scripts ORG

🌐 Source

@lukdz
lukdz requested a review from a team as a code owner October 6, 2026 21:31
@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Try this script

ct/t3code.sh, run in the Proxmox VE shell or on an Incus host:

COMMUNITY_SCRIPTS_URL=https://raw.githubusercontent.com/lukdz/ProxmoxVED/fix/t3code-pairing-notes \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/lukdz/ProxmoxVED/fix/t3code-pairing-notes/ct/t3code.sh)"

COMMUNITY_SCRIPTS_URL is not optional for ct/. Fetching the ct/ script from a
branch does not tell the engine where that branch is — with bash -c "$(curl …)"
there is no file on disk for the scripts root to be derived from, so it would fall
back to upstream main and look for the install script there.

Against a core branch as well

Add COMMUNITY_SCRIPTS_CORE_URL=https://raw.githubusercontent.com/OWNER/core/BRANCH
to test an engine change at the same time. The two resolve independently.

Useful flags while testing

dev_mode=net logs every fetch with status and duration, so you can confirm the
branch is really being used. dev_mode=keep stops a failed build from deleting
the container along with the evidence.

@lukdz

lukdz commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor Author

Example:

Zrzut ekranu 2026-10-7 o 00 03 20

@lukdz lukdz mentioned this pull request Oct 6, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant