Skip to content
This repository was archived by the owner on Sep 21, 2026. It is now read-only.

feat: blog post cold start improvements - #2811

Merged
adityaoberai merged 33 commits into
mainfrom
CLO-4110
May 5, 2026
Merged

adityaoberai merged 33 commits into
mainfrom
CLO-4110

Conversation

@levivannoort

@levivannoort levivannoort commented Mar 17, 2026 •

Copy link
Copy Markdown
Member

What does this PR do?

Adds a new blog to the website.

Test Plan

N/A

Related PRs and Issues

N/A

Have you read the Contributing Guidelines on issues?

Yes

Summary by CodeRabbit

  • Documentation
    • Added a new author profile for Levi van Noort.
    • Published a blog post detailing cold-start performance work for Appwrite Sites, including observed bottlenecks, experimental optimizations (faster extraction and reduced runtime footprint), measured improvements, and redeployment instructions.
    • Included quantified results and a “what’s next” section outlining future optimization plans.

@coderabbitai

coderabbitai Bot commented Mar 17, 2026 •

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c6a68a03-2284-40c0-a8d7-f6b38038b362

📥 Commits

Reviewing files that changed from the base of the PR and between dc75779 and 7bf0c31.

📒 Files selected for processing (1)
  • src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc
✅ Files skipped from review due to trivial changes (1)
  • src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc

Walkthrough

Adds two new Markdoc pages under src/routes/blog: an author profile for Levi van Noort with frontmatter metadata (layout, name, slug, role, bio, avatar), and a blog post "How we reduced cold start times on Appwrite Sites" with frontmatter and content describing observability, igzip-based extraction optimization, Node.js file-tracing to reduce artifacts, measured template size and cold-start reductions (reported ~30–50%), redeploy instructions, and next steps. Both files are new additions; no existing files were modified.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: blog post cold start improvements' directly relates to the main changes: adding a new blog post about cold start optimizations and creating an author profile page.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch CLO-4110
📝 Coding Plan
  • Generate coding plan for human review comments

Warning

Tools execution failed with the following error:

Failed to run tools: Stream setup permanently failed: 13 INTERNAL: Received RST_STREAM with code 2 (Internal server error)


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 and usage tips.

@levivannoort
levivannoort marked this pull request as ready for review March 18, 2026 14:58

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc (1)

48-48: Minor: Inconsistent dash formatting.

The sentence has inconsistent spacing around dashes: "download phase - previously" (space-dash-space) vs "steps-dropped" (no spaces). Consider using em-dashes consistently:

✏️ Suggested fix
-Those smaller artifacts translated directly into faster cold starts. With build outputs reduced by up to 99%, the download phase - previously one of the more costly steps-dropped from multiple seconds to just 100–200 milliseconds. Extraction saw a similar improvement, going from regular 4–7 second spikes down to around 200–400 milliseconds. Together, these two phases went from dominating the cold-start timeline to being barely noticeable.
+Those smaller artifacts translated directly into faster cold starts. With build outputs reduced by up to 99%, the download phase—previously one of the more costly steps—dropped from multiple seconds to just 100–200 milliseconds. Extraction saw a similar improvement, going from regular 4–7 second spikes down to around 200–400 milliseconds. Together, these two phases went from dominating the cold-start timeline to being barely noticeable.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/routes/blog/post/reducing-cold-starts-appwrite-sites/`+page.markdoc at
line 48, The sentence has inconsistent dash spacing ("download phase -
previously" vs "steps-dropped"); update the punctuation in the Markdoc content
so both occurrences use a consistent em-dash style (e.g., change "download phase
- previously" to "download phase—previously" and "steps-dropped" to
"steps—dropped") ensuring the same em-dash usage across the paragraph.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@src/routes/blog/post/reducing-cold-starts-appwrite-sites/`+page.markdoc:
- Line 48: The sentence has inconsistent dash spacing ("download phase -
previously" vs "steps-dropped"); update the punctuation in the Markdoc content
so both occurrences use a consistent em-dash style (e.g., change "download phase
- previously" to "download phase—previously" and "steps-dropped" to
"steps—dropped") ensuring the same em-dash usage across the paragraph.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: bfeea003-300d-4c67-9e3b-dba3340513a1

📥 Commits

Reviewing files that changed from the base of the PR and between 0154be8 and dc75779.

⛔ Files ignored due to path filters (3)
  • bun.lock is excluded by !**/*.lock
  • static/images/avatars/levi.png is excluded by !**/*.png
  • static/images/blog/reducing-cold-starts-appwrite-sites/cover.png is excluded by !**/*.png
📒 Files selected for processing (2)
  • src/routes/blog/author/levi-van-noort/+page.markdoc
  • src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc

@greptile-apps

greptile-apps Bot commented Mar 18, 2026 •

Copy link
Copy Markdown
Contributor

Greptile Summary

  • Adds a new blog post on Appwrite Sites cold-start optimizations (igzip, node file tracing) along with the required cover/chart images and the updated Image.svelte contain mode used to display the chart screenshots without forcing a 16:9 crop.
  • static/images/avatars/levi.png is committed and cache-hashed but is not referenced by the existing author profile (levi-van-noort.png), leaving it as an unreachable asset.
  • The Image.svelte change is clean: title=\"contain\" suppresses the tooltip and removes aspect-video object-cover, falling back gracefully for all other images.

Confidence Score: 5/5

Safe to merge — only P2 findings, no logic bugs or security issues.

All changes are additive (new blog post, new images, new Image.svelte feature flag). The only finding is an unreferenced image asset, which is cosmetic. No functional regressions identified.

static/images/avatars/levi.png — check whether this should replace the avatar reference in the author profile.

Important Files Changed

Filename Overview
src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc New blog post on cold-start improvements; references two correctly-uploaded images, uses the existing levi-van-noort author slug.
src/markdoc/nodes/Image.svelte Adds contain mode: when title="contain", the aspect-video object-cover classes are dropped and the title attribute is suppressed — a clean, well-scoped change.
.optimize-cache.json Adds hash entries for the three new blog images and the new levi.png avatar; mechanical update consistent with other entries.
static/images/avatars/levi.png New avatar image added but not referenced anywhere — the existing author profile at src/routes/blog/author/levi-van-noort/+page.markdoc still points to levi-van-noort.png.

Reviews (11): Last reviewed commit: "chore: run bun run optimize to update as..." | Re-trigger Greptile

Comment thread src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc Outdated
Comment thread src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc Outdated
Comment thread src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc Outdated
Comment thread src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc Outdated
Comment thread src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc Outdated
Comment thread src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc Outdated
Comment thread src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc Outdated
Comment thread src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc Outdated
Comment thread src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc Outdated
Comment thread src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc Outdated
Comment thread src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc Outdated
Comment thread src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc Outdated
Comment thread src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc Outdated
levivannoort and others added 5 commits April 22, 2026 10:25
….markdoc

Co-authored-by: Aditya Oberai <adityaoberai1@gmail.com>
….markdoc

Co-authored-by: Aditya Oberai <adityaoberai1@gmail.com>
….markdoc

Co-authored-by: Aditya Oberai <adityaoberai1@gmail.com>
….markdoc

Co-authored-by: Aditya Oberai <adityaoberai1@gmail.com>
….markdoc

Co-authored-by: Aditya Oberai <adityaoberai1@gmail.com>
levivannoort and others added 7 commits April 22, 2026 10:27
….markdoc

Co-authored-by: Aditya Oberai <adityaoberai1@gmail.com>
….markdoc

Co-authored-by: Aditya Oberai <adityaoberai1@gmail.com>
….markdoc

Co-authored-by: Aditya Oberai <adityaoberai1@gmail.com>
….markdoc

Co-authored-by: Aditya Oberai <adityaoberai1@gmail.com>
….markdoc

Co-authored-by: Aditya Oberai <adityaoberai1@gmail.com>
Comment thread src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc Outdated
Comment thread src/routes/blog/post/reducing-cold-starts-appwrite-sites/+page.markdoc Outdated
@atharvadeosthale

Copy link
Copy Markdown
Member

@copilot run bun run optimize and push

Agent-Logs-Url: https://github.com/appwrite/website/sessions/6f3c30ed-ff00-4a4c-8846-b93bbd1434fb

Co-authored-by: atharvadeosthale <11805367+atharvadeosthale@users.noreply.github.com>

Copilot AI commented May 5, 2026 •

Copy link
Copy Markdown
Contributor

@copilot run bun run optimize and push

Done in 6e99f84. The script ran successfully and updated the optimize cache with the new avatar image.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/appwrite/specs/tarball/095d750
    • Triggering command: /home/REDACTED/.bun/bin/bun bun install (http block)
    • Triggering command: /home/REDACTED/.bun/bin/bun bun add --os=linux --cpu=x64 sharp (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI requested a review from atharvadeosthale May 5, 2026 13:20
@adityaoberai
adityaoberai merged commit d4e225e into main May 5, 2026
6 of 7 checks passed
@adityaoberai
adityaoberai deleted the CLO-4110 branch May 5, 2026 13:34
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants