- JavaScript 83.4%
- PHP 14.3%
- Vue 1.9%
- TypeScript 0.3%
- Shell 0.1%
|
|
||
|---|---|---|
| .github | ||
| .tx | ||
| appinfo | ||
| context | ||
| css | ||
| cypress | ||
| docs | ||
| img | ||
| js | ||
| js-backup | ||
| l10n | ||
| lib | ||
| LICENSES | ||
| patches | ||
| src | ||
| templates | ||
| tests | ||
| .babelrc.js | ||
| .eslintrc.js | ||
| .gitignore | ||
| .nextcloudignore | ||
| .php-cs-fixer.dist.php | ||
| AUTHORS.md | ||
| babel.config.js | ||
| build-package.sh | ||
| CHANGELOG.md | ||
| composer.json | ||
| composer.lock | ||
| COPYING | ||
| cypress.config.ts | ||
| deploy.sh | ||
| DEPLOYMENT.md | ||
| Makefile | ||
| package-lock.json | ||
| package.json | ||
| psalm.xml | ||
| README.md | ||
| REUSE.toml | ||
| stylelint.config.js | ||
| webpack.common.js | ||
Nextcloud Social 🚀✨
Nextcloud Social is an ActivityPub-enabled app that integrates your Nextcloud account with the Fediverse. It lets your Nextcloud instance act as a lightweight federated social server: create, edit and distribute posts; follow remote accounts; and interact with likes, boosts and replies.
Short summary: This app implements ActivityPub and enables Fediverse functionality inside Nextcloud.
🔧 Features
- 🧭 Timelines — browse public, local and home timelines
- ✍️ Composer — create posts, replies and mentions
- ✏️ Edit posts — edit local posts
- 👍 / 🔁 / 💬 Post actions — like, boost (announce), reply
- 🧾 Profiles — avatar, header/banner and metadata support
- 🌐 Federation — send and receive ActivityPub activities (Create, Like, Announce)
- 🔎 Discovery — webfinger and remote user discovery
- ⚙️ Backend — persistence, queues and signature support for reliable delivery
📦 Quickstart (install & develop)
- Clone this repository into your Nextcloud
apps/directory. - Follow the setup and dependency steps in DEPLOYMENT.md.
- Rebuild frontend assets after UI changes:
cd /var/www/nextcloud/apps/social
./build-package.sh # produces build/artifacts/social.tar.gz
- Enable the app in Nextcloud and test using a local account.
🖼️ Banner / Header upload — Troubleshooting
Banner/header uploads are supported and stored on the server, and should be referenced from the local actor/account cache.
If an uploaded banner does not appear immediately:
- Reload the profile page (clear browser cache if necessary).
- Verify the uploaded file exists in Nextcloud's file storage.
- Check server logs for upload or permission errors.
- Re-fetch the account data or sign out/sign in to refresh the local cache.
If you'd like, I can implement an immediate client-side cache refresh after a successful upload so the new banner appears right away.
📝 Release notes / changes in this branch
- Added PUT endpoint for status updates (API:
/api/v1/statuses/{nid}) - Backend edit flow: posts can be edited and federated as
Updateactivities - Stream/Note persistence now stores additional fields (content, summary, source, published timestamps)
- Boost and Like federation attempt to resolve target inboxes and log fallbacks on failures
- UI: inline post editing with save/cancel flow
- Generated JS assets were rebuilt during the release process
🛠️ Contributing
- Contributions welcome — open a pull request and run the build/tests locally before merging.
- Reset local Social data for development with:
occ social:reset
License
See the repository's license files in the LICENSES/ directory.
