Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# SPDX-FileCopyrightText: 2026 LibreCode Coop and contributors
# SPDX-License-Identifier: AGPL-3.0-or-later

github: libresign
20 changes: 9 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@

# Communications

**The right message, in the right place, at the right time — inside Nextcloud.**
**Reach the right people at the right time, directly in Nextcloud.**

Communications is a **free and open-source application for Nextcloud** that helps organizations reach their people without scattering important announcements across unrelated tools. Compose a publication once, choose who should see it and when, then deliver it through the channels that fit the message.

## Communicate where people already work

- **Contextual banners and dialogs** — show an announcement within Nextcloud, including relevant pages and applications, rather than waiting for people to check another inbox.
- **A dedicated Inbox** — keep institutional publications accessible after the first notification, with reading and commenting features where enabled.
- **Nextcloud-native channels** — use Notifications, Activity, and email independently or together, according to your configuration.
- **Optional messaging channels** — connect supported providers through the separate Two-Factor Gateway app when installed, configured, and allowed by recipient preferences.
- **Scheduled or event-driven publications** — publish immediately, within a defined period, or in response to registered Nextcloud application events.
- **Audience and visibility controls** — target users and groups, exclude selected audiences, and define which applications or routes can display a contextual message.
- **A single publication workspace** — write rich text, preview presentation, manage drafts and active notices, reorder publications, and follow estimated engagement metrics.
- **Contextual banners and dialogs:** show an announcement within Nextcloud, including relevant pages and applications, rather than waiting for people to check another inbox.
- **A dedicated Inbox:** keep institutional publications accessible after the first notification, with reading and commenting features where enabled.
- **Nextcloud-native channels:** use Notifications, Activity, and email independently or together, according to your configuration.
- **Optional messaging channels:** connect supported providers through the separate Two-Factor Gateway app when installed, configured, and allowed by recipient preferences.
- **Scheduled or event-driven publications:** publish immediately, within a defined period, or in response to registered Nextcloud application events.
- **Audience and visibility controls:** target users and groups, exclude selected audiences, and define which applications or routes can display a contextual message.
- **A single publication workspace:** write rich text, preview presentation, manage drafts and active notices, reorder publications, and follow estimated engagement metrics.

## From everyday notices to automated communication

Expand All @@ -37,6 +37,4 @@ If you need help with hosting, deployment, integrations, accessibility, maintena
- [API and integration reference](docs/API.md)
- [Contribute to the project](CONTRIBUTING.md)

The project grows through code, translations, testing, design, documentation, and financial support. You can help sustain development through [GitHub Sponsors](https://github.com/sponsors/vitormattos) or contact [LibreCode Coop](mailto:contact@librecode.coop) for professional services.

> **Development preview:** Communications is not yet released or certified for production. Current validation uses Nextcloud 36 development builds and disposable test environments. Features and integration contracts may change before the first release.
The project grows through code, translations, testing, design, documentation, and financial support. You can help sustain development through [GitHub Sponsors](https://github.com/sponsors/libresign) or contact [LibreCode Coop](mailto:contact@librecode.coop) for professional services.
5 changes: 3 additions & 2 deletions l10n/pt_BR.js
Original file line number Diff line number Diff line change
Expand Up @@ -454,7 +454,7 @@ OC.L10N.register('communications', {
"Preview message": "Pré-visualizar mensagem",
"Preview presentation": "Visualizar apresentação",
"Previous": "Anterior",
"Priority (0–100)": "Prioridade (0–100)",
"Priority (0 to 100)": "Prioridade (0 a 100)",
"Priority must be between 0 and 100.": "A prioridade deve estar entre 0 e 100.",
"Private bot chat identifier.": "Identificador de chat privado com o bot.",
"Provide a version in the recipient's language. Empty fields use the original text.": "Escreva uma versão para o idioma do usuário. Campos vazios usam o texto original.",
Expand Down Expand Up @@ -687,8 +687,9 @@ OC.L10N.register('communications', {
"numeric": "numérico",
"{ready} of {total} providers configured": "{ready} de {total} provedores configurados",
"of": "de",
"to": "a",
"options: search by name to find more.": "opções: pesquise pelo nome para encontrar outras.",
"starts with": "começa com",
"{count} in 24 hours": "{count} em 24 horas",
"— Choose color": "— Escolher cor"
"Choose color": "Escolher cor"
}, "nplurals=2; plural=(n != 1);");
5 changes: 3 additions & 2 deletions l10n/pt_BR.json
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,7 @@
"Preview message": "Pré-visualizar mensagem",
"Preview presentation": "Visualizar apresentação",
"Previous": "Anterior",
"Priority (0–100)": "Prioridade (0–100)",
"Priority (0 to 100)": "Prioridade (0 a 100)",
"Priority must be between 0 and 100.": "A prioridade deve estar entre 0 e 100.",
"Private bot chat identifier.": "Identificador de chat privado com o bot.",
"Provide a version in the recipient's language. Empty fields use the original text.": "Escreva uma versão para o idioma do usuário. Campos vazios usam o texto original.",
Expand Down Expand Up @@ -686,10 +686,11 @@
"numeric": "numérico",
"{ready} of {total} providers configured": "{ready} de {total} provedores configurados",
"of": "de",
"to": "a",
"options: search by name to find more.": "opções: pesquise pelo nome para encontrar outras.",
"starts with": "começa com",
"{count} in 24 hours": "{count} em 24 horas",
"— Choose color": "— Escolher cor"
"Choose color": "Escolher cor"
},
"pluralForm": "nplurals=2; plural=(n != 1);"
}
201 changes: 38 additions & 163 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"test:e2e": "playwright test",
"test:e2e:libresign": "playwright test tests/e2e/libresign-event.spec.mjs",
"lint": "eslint src tests scripts eslint.config.mjs vite*.ts vitest.config.ts playwright.config.mjs && npm run format:vue && npm run format:ts && npm run format:mjs",
"audit": "npm audit --audit-level=high",
"audit": "npm audit --audit-level=moderate",
"test": "npm run test:unit",
"test:coverage": "vitest run --coverage",
"ts:check": "vue-tsc --noEmit",
Expand Down Expand Up @@ -70,6 +70,10 @@
"vitest": "4.1.12",
"vue-tsc": "3.3.13"
},
"overrides": {
"minimatch": "^11.0.1",
"qs": "^6.16.1"
},
"engines": {
"node": "^24.0.0",
"npm": "^11.0.0"
Expand Down
Loading
Loading