feat(packaging): maintain the AUR packages (t3code-bin, t3code-nightly-bin) in-repo#4128
feat(packaging): maintain the AUR packages (t3code-bin, t3code-nightly-bin) in-repo#4128maria-rcks wants to merge 14 commits into
Conversation
…nightly-bin Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…ript Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
| -e "s/^pkgrel=.*/pkgrel=${PKGREL:-1}/" \ | ||
| -e "s/^_upstream_tag=.*/_upstream_tag='$tag'/" \ | ||
| -e "s/^_upstream_version=.*/_upstream_version='$version'/" \ | ||
| -e "0,/^ '[0-9a-f]{64}'$/s// '$sha256'/" \ |
There was a problem hiding this comment.
🟡 Medium scripts/release.sh:78
The script copies LICENSE from the repo into the package directory but never updates the corresponding sha256sums entry in PKGBUILD. The sed command on line 78 only patches the first sha256sums entry (the AppImage checksum), leaving the hard-coded LICENSE checksum stale whenever the repo LICENSE changes. This causes makepkg --printsrcinfo (and the subsequent makepkg -f) to fail integrity validation, blocking every subsequent AUR release until the checksum is manually repaired. Consider also updating the LICENSE checksum in sha256sums, or avoid checksumming a locally-copied source file.
🤖 Copy this AI Prompt to have your agent fix this:
In file @packaging/aur/scripts/release.sh around line 78:
The script copies `LICENSE` from the repo into the package directory but never updates the corresponding `sha256sums` entry in `PKGBUILD`. The `sed` command on line 78 only patches the first `sha256sums` entry (the AppImage checksum), leaving the hard-coded `LICENSE` checksum stale whenever the repo `LICENSE` changes. This causes `makepkg --printsrcinfo` (and the subsequent `makepkg -f`) to fail integrity validation, blocking every subsequent AUR release until the checksum is manually repaired. Consider also updating the `LICENSE` checksum in `sha256sums`, or avoid checksumming a locally-copied source file.
ApprovabilityVerdict: Needs human review 1 blocking correctness issue found. This PR introduces new AUR packaging infrastructure and expanded image attachment UI - both new capabilities rather than simple fixes. Additionally, there are 3 unresolved review comments identifying substantive bugs: a checksum issue in the release script, drag overlay state persistence, and drag-drop bypassing disabled guards. You can customize Macroscope's approvability policy. Learn more. |
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 873dde9. Configure here.
| const composerRef = useComposerHandleContext() ?? localComposerRef; | ||
| const [showScrollToBottom, setShowScrollToBottom] = useState(false); | ||
| const [isDraggingFilesOverView, setIsDraggingFilesOverView] = useState(false); | ||
| const viewDragDepthRef = useRef(0); |
There was a problem hiding this comment.
Drag overlay persists after thread change
Medium Severity
The ChatView's file drag state isn't cleared when navigating between drafts or threads. This can leave the "Drop images to attach" overlay visible, blocking the chat UI.
Reviewed by Cursor Bugbot for commit 873dde9. Configure here.
| event.preventDefault(); | ||
| viewDragDepthRef.current = 0; | ||
| setIsDraggingFilesOverView(false); | ||
| composerRef.current?.addImages(Array.from(event.dataTransfer.files)); |
There was a problem hiding this comment.
View drop ignores attach disabled guards
Medium Severity
The new attach control is disabled when the environment is unavailable or project selection is required, but view-level onViewDrop still calls addImages with no equivalent checks. Users can attach images via drag-and-drop in states where the attach button is intentionally blocked.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 873dde9. Configure here.


What Changed
Moves the AUR packaging for
t3code-binandt3code-nightly-bin(currently maintained externally in maria-rcks/t3code-aur) into this repo underpackaging/aur:t3code-bin) and nightly (t3code-nightly-bin), which repackage the official Linux x64 AppImage from GitHub Releases.packaging/aur/scripts/release.shthat resolves the matching release, patches the PKGBUILD (pkgver/pkgrel/sha256), builds with makepkg, regenerates.SRCINFO, and pushesPKGBUILD/.SRCINFO/LICENSEto the AUR..github/workflows/publish-aur.yml(blacksmith runner, archlinux container) triggered onrelease: published, withworkflow_dispatchinputs to republish a specific tag or bump pkgrel. Without theAUR_SSH_PRIVATE_KEYsecret it builds as a dry run and skips the push.t3code/t3code-nightly), instead of a single static PNG shared by both channels.Repo config needed to actually publish: secret
AUR_SSH_PRIVATE_KEY(SSH key authorized on the AUR account owning both packages); optional varsAUR_COMMIT_NAME/AUR_COMMIT_EMAIL. Release lookup uses the built-inGITHUB_TOKEN.Why
AUR packaging currently lives in a separate personal repo with cron-based polling and bot commits. Maintaining it upstream means Linux packages publish automatically on every release, stay in sync with the release pipeline, and aren't dependent on a single external maintainer. The event-driven workflow removes the polling/state-commit machinery entirely.
Verified: both packages build end-to-end in CI (makepkg in an archlinux container), wrong-channel tags are no-ops, pkgrel override works, and the built nightly package ships the correct nightly icon.
Checklist
Note
Low Risk
Mostly packaging/CI and localized chat UI; AUR push depends on a repo secret but does not touch app auth or data paths.
Overview
AUR packaging moves into
packaging/aurfor stable (t3code-bin) and nightly (t3code-nightly-bin), repackaging GitHub Release AppImages. Arelease.shscript picks the matching tag, patches PKGBUILD metadata/checksums, runsmakepkg, and pushes to the AUR over SSH (dry-run withoutAUR_SSH_PRIVATE_KEY).publish-aur.ymlruns that onrelease: publishedor manual dispatch. Icons are taken from each AppImage with channel-specific names to fix stale nightly branding.Chat attachments: image drag-and-drop moves from the composer to the whole
ChatView(overlay +addImageson the composer ref). The composer gains a + button and hidden file input for picking images; composer-local drag handlers and highlight styling are removed.Reviewed by Cursor Bugbot for commit 873dde9. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add in-repo AUR packaging and CI workflow for t3code-bin and t3code-nightly-bin
t3code-bin(stable) andt3code-nightly-bin(nightly), repackaging the official AppImage with wrapper script, icons, and desktop entry.makepkg, and push to the AUR whenAUR_SSH_PRIVATE_KEYis set; otherwise runs as a dry run.ChatComposertoChatViewContent, adding a drop overlay and an explicit attach-images footer button in the composer.Macroscope summarized 873dde9.