Fixes the root cause of non-reactive filtering. The MemoFilterState class was not marking its fields as observable in MobX, so changes to the filters array were not being tracked. Added makeObservable configuration to mark: - filters and shortcut as observable - addFilter, removeFilter, removeFiltersByFactor, clearAllFilters, setShortcut as actions This ensures that when tags are clicked and filters are added/removed, MobX observer components will re-render and fetch new data. Related to #5189 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
1 week ago | |
|---|---|---|
| .github | 2 weeks ago | |
| cmd/memos | 3 weeks ago | |
| internal | 1 week ago | |
| plugin | 1 week ago | |
| proto | 2 weeks ago | |
| scripts | 3 weeks ago | |
| server | 2 weeks ago | |
| store | 1 week ago | |
| web | 1 week ago | |
| .dockerignore | 3 years ago | |
| .gitignore | 3 weeks ago | |
| .golangci.yaml | 7 months ago | |
| .goreleaser.yaml | 3 weeks ago | |
| CLAUDE.md | 2 weeks ago | |
| CODEOWNERS | 3 years ago | |
| LICENSE | 9 months ago | |
| README.md | 2 weeks ago | |
| SECURITY.md | 2 years ago | |
| go.mod | 2 weeks ago | |
| go.sum | 2 weeks ago | |
README.md
Memos
A privacy-first, lightweight note-taking service
Write, organize, and own your knowledge
💎 Sponsored By
Warp — The AI-powered terminal built for speed and collaboration
🎯 Why Memos?
Your thoughts. Your data. Your control.
Memos is an open-source, self-hosted alternative to cloud note-taking services. No tracking, no ads, no subscription fees — just a clean, fast way to capture and organize your ideas.
- 🔒 Privacy by design — All data stays on your server
- ⚡ Lightning fast — Built with Go and React for speed
- 📝 Markdown native — Write naturally with full markdown support
- 🐳 Deploy in seconds — One Docker command to get started
- 🎨 Beautiful & minimal — Focus on your thoughts, not the UI
- 🔗 API-first — Integrate with your workflow seamlessly
🚀 Quick Start
Get up and running in under 30 seconds:
docker run -d \
--name memos \
-p 5230:5230 \
-v ~/.memos:/var/opt/memos \
neosmemo/memos:stable
Open http://localhost:5230 and start writing! 🎉
Need more options? Check out our installation guide for Docker Compose, binaries, and building from source.
✨ Features
-
🔒 Privacy-First Architecture — Self-hosted on your infrastructure with no telemetry or tracking. Your data stays yours with full ownership and export capabilities.
-
⚡ Lightning-Fast Performance — Built with Go and React for exceptional speed. Real-time updates ensure your notes are always in sync across devices.
-
📝 Markdown Native — Write naturally with full markdown support, code highlighting, and rich text rendering. No lock-in, just plain text you can take anywhere.
-
🐳 Deploy in Seconds — One Docker command to get started. Simple deployment with Docker Compose, binaries, or Kubernetes.
-
🎨 Beautiful & Minimal UI — Clean, intuitive interface that stays out of your way. Mobile-responsive design with dark mode support.
-
🔗 Powerful API — RESTful and gRPC APIs for seamless integration with your existing workflow. Build custom tools and automations easily.
-
🌍 Open Source & Community-Driven — MIT licensed with an active community. Regular updates and transparent development on GitHub.
💡 Perfect For
- 📓 Personal journaling — Daily thoughts and reflections
- 🧠 Knowledge management — Build your second brain
- 📋 Quick notes — Capture ideas on the go
- 🔗 Link collections — Save and organize useful resources
- 👥 Team wikis — Collaborative knowledge bases
- 🎓 Learning logs — Document your learning journey
💖 Support Memos
Love Memos? Help us keep it growing!
Community Sponsors:
Every contribution, big or small, makes a difference!
🤝 Contributing
We love contributions! Whether you're fixing bugs, adding features, improving docs, or spreading the word — every contribution matters.
Get involved:
- 🐛 Report bugs
- 💡 Suggest features
- 🔧 Submit pull requests
- 📖 Improve documentation
- 🌍 Help with translations
