Skip to content

feat: add Snap Store badge and web app URL in README and landing pages#7

Merged
AteebNoOne merged 7 commits into
mainfrom
feat/snap-badge-readme
Jul 12, 2026
Merged

feat: add Snap Store badge and web app URL in README and landing pages#7
AteebNoOne merged 7 commits into
mainfrom
feat/snap-badge-readme

Conversation

@AteebNoOne

@AteebNoOne AteebNoOne commented Jul 12, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • New Features
    • Added Snap Store installation links in the Downloads section using Snapcraft badge-style external links.
    • Added Linux RPM (.rpm) download support and improved Linux download selection based on the detected Linux distribution.
  • Bug Fixes
    • Improved macOS architecture detection, offering the correct download for Apple Silicon vs Intel systems.
  • Documentation
    • Updated the README with a Snapcraft badge and a direct “Web Version” link near the top.

Co-authored-by: Atib Ur Rehman <rehmanateebur@gmail.com>
@vercel

vercel Bot commented Jul 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
teebot-flow Ready Ready Preview, Comment Jul 12, 2026 12:59pm

@coderabbitai

coderabbitai Bot commented Jul 12, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: e8126da3-6227-4b50-b94f-b32688a8d27a

📥 Commits

Reviewing files that changed from the base of the PR and between 6c5ed77 and aab1a66.

📒 Files selected for processing (1)
  • src/lib/platform.ts

📝 Walkthrough

Walkthrough

The landing pages now render Snap Store downloads with Snapcraft badges, Linux releases include Red Hat RPM selection, macOS detection uses cached explicit user-agent architecture signals, and the README adds Snapcraft and Web Version links.

Changes

Download access

Layer / File(s) Summary
Linux and macOS download selection
src/lib/platform.ts
Added RPM asset naming, Red Hat RPM downloads, Linux distribution detection, and cached macOS architecture detection based on explicit user-agent architecture signals, returning null when no signal is present.
Snap Store download rendering
src/pages/LandingPage.tsx, teebot_flow_landing_premium.html
Snap Store entries now use Snapcraft installation badges; other download entries retain the standard download-card layout.
README access links
README.md
Added a Snapcraft badge and a Web Version link below the project heading.

Estimated code review effort: 3 (Moderate) | ~20 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the added Snap Store badge and web URL updates in the README and landing pages, though it omits the Linux download logic changes.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/snap-badge-readme

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

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@teebot_flow_landing_premium.html`:
- Around line 210-212: Update the Snap Store anchor in
teebot_flow_landing_premium.html to include target="_blank" and rel="noopener
noreferrer", matching the behavior of the surrounding external download links
while preserving the existing href and image content.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 2679b8cd-6626-4e37-bfec-7393b51d5151

📥 Commits

Reviewing files that changed from the base of the PR and between cc12d22 and d893b46.

📒 Files selected for processing (3)
  • README.md
  • src/pages/LandingPage.tsx
  • teebot_flow_landing_premium.html

Comment thread teebot_flow_landing_premium.html Outdated
Co-authored-by: Atib Ur Rehman <rehmanateebur@gmail.com>
…ding page

Co-authored-by: Atib Ur Rehman <rehmanateebur@gmail.com>
…to bypass masked user-agents

Co-authored-by: Atib Ur Rehman <rehmanateebur@gmail.com>
…t action

Co-authored-by: Atib Ur Rehman <rehmanateebur@gmail.com>

@coderabbitai coderabbitai 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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
src/lib/platform.ts (2)

59-88: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Fail closed on ambiguous macOS architecture detection. WEBGL_debug_renderer_info is a GPU hint, not a CPU-arch signal, and Apple Silicon UAs can still report Intel Mac OS X. Returning aarch64/x64 from these strings can send users to the wrong installer; return null unless the signal is explicit, and add coverage for masked WebGL and reduced/spoofed UAs.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/lib/platform.ts` around lines 59 - 88, Update the platform architecture
detection function around the WebGL renderer and user-agent checks to fail
closed: do not infer CPU architecture from Apple/M-series GPU names or generic
Intel/x64 UA strings. Return “aarch64” or “x64” only for explicit, trustworthy
architecture signals; otherwise return null. Add coverage for masked WebGL
renderer data and reduced or spoofed macOS user agents.

Source: MCP tools


48-48: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Fix the RPM asset name src/lib/platform.ts:48, 117-120

Tauri’s RPM bundle name uses the normalized product name, so this should be teebot-flow-${version}-1.x86_64.rpm, not Teebot.Flow-${version}-1.x86_64.rpm; otherwise the RPM download link will 404.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/lib/platform.ts` at line 48, Update the rpm asset-name template in the
platform configuration to use the normalized lowercase hyphenated product name,
producing teebot-flow-${version}-1.x86_64.rpm instead of the current Teebot.Flow
form. Keep the existing version and architecture suffix unchanged.
🧹 Nitpick comments (1)
src/lib/platform.ts (1)

60-63: 🚀 Performance & Scalability | 🔵 Trivial | ⚡ Quick win

Cache the architecture detection result.

LandingPage calls this path during render, so every re-render creates a new canvas and WebGL context. Cache the result once per browser session, or perform detection once outside the render path, to avoid repeated setup and resource churn.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/lib/platform.ts` around lines 60 - 63, Update the architecture detection
flow around the canvas/WebGL setup in platform detection to cache the computed
result for the browser session or initialize it outside the render path. Ensure
subsequent LandingPage renders reuse the cached value without creating another
canvas or WebGL context.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@src/lib/platform.ts`:
- Around line 59-88: Update the platform architecture detection function around
the WebGL renderer and user-agent checks to fail closed: do not infer CPU
architecture from Apple/M-series GPU names or generic Intel/x64 UA strings.
Return “aarch64” or “x64” only for explicit, trustworthy architecture signals;
otherwise return null. Add coverage for masked WebGL renderer data and reduced
or spoofed macOS user agents.
- Line 48: Update the rpm asset-name template in the platform configuration to
use the normalized lowercase hyphenated product name, producing
teebot-flow-${version}-1.x86_64.rpm instead of the current Teebot.Flow form.
Keep the existing version and architecture suffix unchanged.

---

Nitpick comments:
In `@src/lib/platform.ts`:
- Around line 60-63: Update the architecture detection flow around the
canvas/WebGL setup in platform detection to cache the computed result for the
browser session or initialize it outside the render path. Ensure subsequent
LandingPage renders reuse the cached value without creating another canvas or
WebGL context.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: ae648f38-cd54-4013-90b5-7ad3ade79fd8

📥 Commits

Reviewing files that changed from the base of the PR and between 448dfb3 and 52be0f5.

📒 Files selected for processing (1)
  • src/lib/platform.ts

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/lib/platform.ts`:
- Around line 138-165: Update the download-selection logic around
detectLinuxDistro so only the explicit "debian" result selects the .deb asset,
while "generic" routes to the releases page or another explicitly generic
option; keep "redhat" mapped to its existing asset.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: bc08b93e-0569-4822-bf4f-d078529e706a

📥 Commits

Reviewing files that changed from the base of the PR and between 52be0f5 and b21a4c2.

📒 Files selected for processing (1)
  • src/lib/platform.ts

Comment thread src/lib/platform.ts
Co-authored-by: Atib Ur Rehman <rehmanateebur@gmail.com>
@AteebNoOne

Copy link
Copy Markdown
Member Author

@coderabbitai resume

@coderabbitai

coderabbitai Bot commented Jul 12, 2026

Copy link
Copy Markdown
✅ Action performed

Reviews resumed.

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🧹 Nitpick comments (1)
src/lib/platform.ts (1)

56-120: 🎯 Functional Correctness | 🔵 Trivial | 💤 Low value

Remove or complete the WebGL fallback

The canvas/WebGL probe only ever short-circuits to null; it never produces an "aarch64" or "x64" result, so it doesn’t affect the chosen download. If this is meant to be fail-closed only, drop the block; otherwise add a real renderer→architecture mapping here.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/lib/platform.ts` around lines 56 - 120, Remove the ineffective
canvas/WebGL probe from getMacArch, since it only returns null and never selects
an architecture. Preserve the existing cachedMacArch handling, explicit
User-Agent detection, and final fail-closed null fallback.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/lib/platform.ts`:
- Around line 221-233: Update the Linux branch in the platform download
selection to handle the “generic” result from detectLinuxDistro() explicitly
instead of falling through to the Debian package. Preserve the existing RedHat
RPM behavior and Debian-specific DEB behavior, and provide a safe generic-Linux
fallback that does not assume a package format.

---

Nitpick comments:
In `@src/lib/platform.ts`:
- Around line 56-120: Remove the ineffective canvas/WebGL probe from getMacArch,
since it only returns null and never selects an architecture. Preserve the
existing cachedMacArch handling, explicit User-Agent detection, and final
fail-closed null fallback.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: ea2b1783-e7fe-46b1-b956-5ed8bac2507e

📥 Commits

Reviewing files that changed from the base of the PR and between 52be0f5 and 6c5ed77.

📒 Files selected for processing (1)
  • src/lib/platform.ts

Comment thread src/lib/platform.ts
…llback

Co-authored-by: Atib Ur Rehman <rehmanateebur@gmail.com>
@AteebNoOne AteebNoOne merged commit 63d2279 into main Jul 12, 2026
10 checks passed
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.

1 participant