* redesign: share notification emails The share digests were an unstyled fragment: a 520px div with a couple of paragraphs, no preview line, no small-screen or dark-mode handling, and an html-only body that left every text-only client reading a machine down-conversion of the markup. Both digests (`file_shared_with_you` and `file_shared_invite`) now render through one layout: a 600px table column that goes full width under 600px, every color written inline so a client that drops `<style>` still gets the design, with the stylesheet carrying only what inline CSS can't express — the small-screen and dark-mode overrides. The shares are a tinted panel of hairline-separated rows rather than loose text, the call to action is a cell-padded button Outlook can draw, and the reason for receiving plus the unsubscribe sit below the card where they belong. No images at all, so nothing depends on an asset a client may refuse. Templates may now carry a `text` part, and both digests do: it goes out beside the HTML as multipart/alternative, which is what plain-text clients, screen readers and spam scoring prefer. Copy: a preview line that adds to the subject instead of repeating it, a heading before the list, and an honest unsubscribe label — the link silences notification mail account-wide, not just shares. The invite now says what to do with the address and that an existing account can claim the shares by confirming it. Also drops `share_by_username` and `share_by_email`, unreferenced since the digests replaced them. * fix: widen the template map to the interface before compiling `Object.entries` over the literal map yields a union with a distinct type per template, and only the share digests carry a `text` part — reading it off the union is an error the build tsconfig hides (`noCheck: true`) and `npm run typecheck` catches.
The Open-Source Internet Computer!
« LIVE DEMO »
Puter.com
·
App Store
·
Developers
·
Discord
·
Reddit
·
X
Puter
Puter is an advanced, open-source, self-hostable internet computer designed to be feature-rich, fast, and highly extensible.
For Users
Puter's goal is to provide you with every app and feature you need to work, create, and play under one roof. From a simple Notepad and Voice Recorder to Spreadsheet and Camera, Puter wants to be the all-in-one solution for your digital life.
For Developers
Puter provides everything you need to build and publish web apps and games. From AI to Cloud Storage and Database to Serverless Workers, Puter has you covered. Puter also helps you get users! Once you build your app, you can publish it on our App Store to reach and monetize users.
Getting Started
💻 Local Development
git clone https://github.com/HeyPuter/puter
cd puter
npm install
npm start
→ This should launch Puter at http://puter.localhost:4100
🚀 Self-Hosting
Linux/macOS
curl -fsSL https://puter.com/selfhost | sh
Windows
irm https://puter.com/selfhost?os=windows | iex
→ For more details, see Self-Hosting Puter.
☁️ Puter.com
Puter is available as a hosted service at puter.com.
Support
Connect with the maintainers and community through these channels:
- Bug report or feature request? Please open an issue.
- Discord: discord.com/invite/PQcx7Teh8u
- X (Twitter): x.com/HeyPuter
- Reddit: reddit.com/r/puter/
- Mastodon: mastodon.social/@puter
- Security issues or abuse reports? security@puter.com
- Email maintainers at hi@puter.com
We are always happy to help you with any questions you may have. Don't hesitate to ask!
License
This repository, including all its contents, sub-projects, modules, and components, is licensed under AGPL-3.0 unless explicitly stated otherwise. Third-party libraries included in this repository may be subject to their own licenses.
Translations
- Arabic / العربية
- Armenian / Հայերեն
- Bengali / বাংলা
- Chinese / 中文
- Danish / Dansk
- English
- Farsi / فارسی
- Finnish / Suomi
- French / Français
- German / Deutsch
- Hebrew/ עברית
- Hindi / हिंदी
- Hungarian / Magyar
- Indonesian / Bahasa Indonesia
- Italian / Italiano
- Japanese / 日本語
- Korean / 한국어
- Malay / Bahasa Malaysia
- Malayalam / മലയാളം
- Polish / Polski
- Portuguese / Português
- Punjabi / ਪੰਜਾਬੀ
- Romanian / Română
- Russian / Русский
- Spanish / Español
- Swedish / Svenska
- Tamil / தமிழ்
- Telugu / తెలుగు
- Thai / ไทย
- Turkish / Türkçe
- Ukrainian / Українська
- Urdu / اردو
- Vietnamese / Tiếng Việt

