Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: nextcloud/whiteboard
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: aed04d3ab171aa7585e25f875404dfb45dbe6b53
Choose a base ref
..
head repository: nextcloud/whiteboard
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 1d7a27984547294212569e44a069b88248d734e0
Choose a head ref
Showing with 1,550 additions and 290 deletions.
  1. +22 −0 .github/dependabot.yml
  2. +4 −0 .l10nignore
  3. +1 −2 .tx/config
  4. +24 −2 CHANGELOG.md
  5. +11 −3 README.md
  6. +1 −1 appinfo/info.xml
  7. +10 −10 composer.lock
  8. +2 −1 krankerl.toml
  9. 0 l10n/.gitkeep
  10. +19 −0 l10n/ar.js
  11. +17 −0 l10n/ar.json
  12. +6 −0 l10n/ast.js
  13. +4 −0 l10n/ast.json
  14. +8 −0 l10n/bg.js
  15. +6 −0 l10n/bg.json
  16. +6 −0 l10n/br.js
  17. +4 −0 l10n/br.json
  18. +8 −0 l10n/ca.js
  19. +6 −0 l10n/ca.json
  20. +8 −0 l10n/cs.js
  21. +6 −0 l10n/cs.json
  22. +6 −0 l10n/cy_GB.js
  23. +4 −0 l10n/cy_GB.json
  24. +8 −0 l10n/da.js
  25. +6 −0 l10n/da.json
  26. +8 −0 l10n/de.js
  27. +6 −0 l10n/de.json
  28. +19 −0 l10n/de_DE.js
  29. +17 −0 l10n/de_DE.json
  30. +8 −0 l10n/el.js
  31. +6 −0 l10n/el.json
  32. +19 −0 l10n/en_GB.js
  33. +17 −0 l10n/en_GB.json
  34. +6 −0 l10n/eo.js
  35. +4 −0 l10n/eo.json
  36. +8 −0 l10n/es.js
  37. +6 −0 l10n/es.json
  38. +7 −0 l10n/es_419.js
  39. +5 −0 l10n/es_419.json
  40. +7 −0 l10n/es_CL.js
  41. +5 −0 l10n/es_CL.json
  42. +7 −0 l10n/es_CO.js
  43. +5 −0 l10n/es_CO.json
  44. +7 −0 l10n/es_CR.js
  45. +5 −0 l10n/es_CR.json
  46. +7 −0 l10n/es_DO.js
  47. +5 −0 l10n/es_DO.json
  48. +8 −0 l10n/es_EC.js
  49. +6 −0 l10n/es_EC.json
  50. +7 −0 l10n/es_GT.js
  51. +5 −0 l10n/es_GT.json
  52. +7 −0 l10n/es_HN.js
  53. +5 −0 l10n/es_HN.json
  54. +8 −0 l10n/es_MX.js
  55. +6 −0 l10n/es_MX.json
  56. +7 −0 l10n/es_NI.js
  57. +5 −0 l10n/es_NI.json
  58. +7 −0 l10n/es_PA.js
  59. +5 −0 l10n/es_PA.json
  60. +7 −0 l10n/es_PE.js
  61. +5 −0 l10n/es_PE.json
  62. +7 −0 l10n/es_PR.js
  63. +5 −0 l10n/es_PR.json
  64. +7 −0 l10n/es_PY.js
  65. +5 −0 l10n/es_PY.json
  66. +7 −0 l10n/es_SV.js
  67. +5 −0 l10n/es_SV.json
  68. +7 −0 l10n/es_UY.js
  69. +5 −0 l10n/es_UY.json
  70. +6 −0 l10n/et_EE.js
  71. +4 −0 l10n/et_EE.json
  72. +7 −0 l10n/eu.js
  73. +5 −0 l10n/eu.json
  74. +7 −0 l10n/fa.js
  75. +5 −0 l10n/fa.json
  76. +18 −0 l10n/fi.js
  77. +16 −0 l10n/fi.json
  78. +11 −0 l10n/fr.js
  79. +9 −0 l10n/fr.json
  80. +7 −0 l10n/ga.js
  81. +5 −0 l10n/ga.json
  82. +19 −0 l10n/gl.js
  83. +17 −0 l10n/gl.json
  84. +6 −0 l10n/he.js
  85. +4 −0 l10n/he.json
  86. +7 −0 l10n/hr.js
  87. +5 −0 l10n/hr.json
  88. +8 −0 l10n/hu.js
  89. +6 −0 l10n/hu.json
  90. +8 −0 l10n/is.js
  91. +6 −0 l10n/is.json
  92. +8 −0 l10n/it.js
  93. +6 −0 l10n/it.json
  94. +8 −0 l10n/ja.js
  95. +6 −0 l10n/ja.json
  96. +7 −0 l10n/ka.js
  97. +5 −0 l10n/ka.json
  98. +7 −0 l10n/ka_GE.js
  99. +5 −0 l10n/ka_GE.json
  100. +16 −0 l10n/ko.js
  101. +14 −0 l10n/ko.json
  102. +6 −0 l10n/lt_LT.js
  103. +4 −0 l10n/lt_LT.json
  104. +7 −0 l10n/lv.js
  105. +5 −0 l10n/lv.json
  106. +7 −0 l10n/mk.js
  107. +5 −0 l10n/mk.json
  108. +6 −0 l10n/mn.js
  109. +4 −0 l10n/mn.json
  110. +19 −0 l10n/nb.js
  111. +17 −0 l10n/nb.json
  112. +8 −0 l10n/nl.js
  113. +6 −0 l10n/nl.json
  114. +7 −0 l10n/oc.js
  115. +5 −0 l10n/oc.json
  116. +8 −0 l10n/pl.js
  117. +6 −0 l10n/pl.json
  118. +19 −0 l10n/pt_BR.js
  119. +17 −0 l10n/pt_BR.json
  120. +6 −0 l10n/pt_PT.js
  121. +4 −0 l10n/pt_PT.json
  122. +7 −0 l10n/ro.js
  123. +5 −0 l10n/ro.json
  124. +8 −0 l10n/ru.js
  125. +6 −0 l10n/ru.json
  126. +6 −0 l10n/sc.js
  127. +4 −0 l10n/sc.json
  128. +6 −0 l10n/si.js
  129. +4 −0 l10n/si.json
  130. +8 −0 l10n/sk.js
  131. +6 −0 l10n/sk.json
  132. +8 −0 l10n/sl.js
  133. +6 −0 l10n/sl.json
  134. +6 −0 l10n/sq.js
  135. +4 −0 l10n/sq.json
  136. +8 −0 l10n/sr.js
  137. +6 −0 l10n/sr.json
  138. +8 −0 l10n/sv.js
  139. +6 −0 l10n/sv.json
  140. +19 −0 l10n/tr.js
  141. +17 −0 l10n/tr.json
  142. +7 −0 l10n/uk.js
  143. +5 −0 l10n/uk.json
  144. +7 −0 l10n/vi.js
  145. +5 −0 l10n/vi.json
  146. +8 −0 l10n/zh_CN.js
  147. +6 −0 l10n/zh_CN.json
  148. +8 −0 l10n/zh_HK.js
  149. +6 −0 l10n/zh_HK.json
  150. +11 −0 l10n/zh_TW.js
  151. +9 −0 l10n/zh_TW.json
  152. +11 −1 lib/AppInfo/Application.php
  153. +1 −1 lib/Controller/SettingsController.php
  154. +9 −5 lib/Listener/RegisterTemplateCreatorListener.php
  155. +338 −252 package-lock.json
  156. +10 −10 package.json
  157. +5 −0 src/main.tsx
  158. +4 −2 src/settings/Settings.vue
  159. +1 −0 websocket_server/SocketManager.js
22 changes: 22 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -12,6 +12,9 @@ updates:
time: "03:00"
timezone: Europe/Paris
open-pull-requests-limit: 10
labels:
- 3. to review
- dependencies
reviewers:
- juliushaertl
- hweihwang
@@ -25,6 +28,25 @@ updates:
time: "03:00"
timezone: Europe/Paris
open-pull-requests-limit: 10
labels:
- 3. to review
- dependencies
reviewers:
- juliushaertl
- hweihwang
- grnd-alt

- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "weekly"
day: saturday
time: "03:00"
timezone: Europe/Paris
open-pull-requests-limit: 10
labels:
- 3. to review
- dependencies
reviewers:
- juliushaertl
- hweihwang
4 changes: 4 additions & 0 deletions .l10nignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# SPDX-FileCopyrightText: none
# SPDX-License-Identifier: CC0-1.0
js/
websocket_server/
3 changes: 1 addition & 2 deletions .tx/config
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
[main]
host = https://www.transifex.com
lang_map = ja_JP: ja, bg_BG: bg, cs_CZ: cs, fi_FI: fi, hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th
lang_map = hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja, bg_BG: bg, cs_CZ: cs, fi_FI: fi

[o:nextcloud:p:nextcloud:r:whiteboard]
file_filter = translationfiles/<lang>/whiteboard.po
source_file = translationfiles/templates/whiteboard.pot
source_lang = en
type = PO

26 changes: 24 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
# Changelog

## 1.0.3

- Start translating the app #202
- public shares check for mimetype #201

## 1.0.2

### Fixed

- fix: Make template file creator registration compatible with 28/29 @juliushaertl [#169](https://github.com/nextcloud/whiteboard/pull/169)
- fix: Use proper server url parameter from the frontend @juliushaertl [#167](https://github.com/nextcloud/whiteboard/pull/167)
- fix: Update room data in storage when adding a file @juliushaertl [#170](https://github.com/nextcloud/whiteboard/pull/170)
- fix: Properly set URL for settings check if running in a subdirectory @juliushaertl [#158](https://github.com/nextcloud/whiteboard/pull/158)

## 1.0.1

### Fixed

- fix: Include composer dependencies in the release bundle @juliushaertl [#157](https://github.com/nextcloud/whiteboard/pull/157)

## 1.0.0

Initial release

## 1.0.0-rc.2

### Other
@@ -10,5 +34,3 @@
## 1.0.0-rc.1

Initial release


14 changes: 11 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -9,6 +9,8 @@

The official whiteboard app for Nextcloud. It allows users to create and share whiteboards with other users and collaborate in real-time.

You can create whiteboards in the files app and share and collaborate on them.

## Features

- 🎨 Drawing shapes, writing text, connecting elements
@@ -32,6 +34,7 @@ occ config:app:set whiteboard jwt_secret_key --value="some-random"

#### Local node

This mode requires at least Node 20 and NPM 10 to be installed. You can clone this repository, checkout the release version matching your whiteboard app.
The server can be run locally using the following command:

```bash
@@ -46,7 +49,7 @@ JWT_SECRET_KEY="some-random" NEXTCLOUD_URL=http://nextcloud.local npm run server
The image can be built using the following command:

```bash
docker build -t nextcloud-whiteboard-server -f Dockerfile ../
docker build -t nextcloud-whiteboard-server
```

### Running the server
@@ -56,7 +59,7 @@ The server requires the `NEXTCLOUD_URL` environment variable to be set to the UR
The server can be run in a container using the following command:

```bash
docker run -e JWT_SECRET_KEY=some-random -e NEXTCLOUD_URL=https://nextcloud.local --rm nextcloud-whiteboard-server
docker run -e JWT_SECRET_KEY=some-random -e NEXTCLOUD_URL=https://nextcloud.local --restart unless-stopped -d ghcr.io/nextcloud-releases/whiteboard:release
```

Docker compose can also be used to run the server:
@@ -65,9 +68,10 @@ Docker compose can also be used to run the server:
version: '3.7'
services:
nextcloud-whiteboard-server:
image: nextcloud-whiteboard-server
image: ghcr.io/nextcloud-releases/whiteboard:release
ports:
- 3002:3002
environment:
environment:
- NEXTCLOUD_URL=https://nextcloud.local
- JWT_SECRET_KEY=some-random-key
@@ -100,3 +104,7 @@ location /whiteboard/ {
proxy_set_header Connection "upgrade";
}
```

### Known issues

If the [integration_whiteboard](https://github.com/nextcloud/integration_whiteboard) app was previously installed there might be a leftover non-standard mimetype configured. In this case opening the whiteboard may fail and a file is downloaded instead. Make sure to remove any entry in config/mimetypealiases.json mentioning whiteboard and run `occ maintenance:mimetype:update-db` and `occ maintenance:mimetype:update-js`.
2 changes: 1 addition & 1 deletion appinfo/info.xml
Original file line number Diff line number Diff line change
@@ -23,7 +23,7 @@ The official whiteboard app for Nextcloud. It allows users to create and share w
]]>
</description>
<version>1.0.0-rc.2</version>
<version>1.0.3</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<namespace>Whiteboard</namespace>
20 changes: 10 additions & 10 deletions composer.lock

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

3 changes: 2 additions & 1 deletion krankerl.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
[package]
before_cmds = [
'composer install --no-dev',
'npm ci',
'npm run build'
'npm run build'
]
Empty file added l10n/.gitkeep
Empty file.
19 changes: 19 additions & 0 deletions l10n/ar.js

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

17 changes: 17 additions & 0 deletions l10n/ar.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{ "translations": {
"New whiteboard" : "سبورة بيضاء جديدة",
"Create new whiteboard" : "إنشاء سبورة بيضاء جديدة",
"Whiteboard" : "لوحة Whiteboard",
"Whiteboard app" : "تطبيق \"السبورة البيضاء\" Whiteboard",
"The official whiteboard app for Nextcloud. It allows users to create and share whiteboards with other users and collaborate in real-time.\n\n**Whiteboard requires a separate collaboration server to work.** Please see the [documentation](https://github.com/nextcloud/whiteboard?tab=readme-ov-file#backend) on how to install it.\n\n- 🎨 Drawing shapes, writing text, connecting elements\n- 📝 Real-time collaboration\n- 🖼️ Add images with drag and drop\n- 📊 Easily add mermaid diagrams\n- ✨ Use the smartpicker to embed other elements from Nextcloud\n- 📦 Image export\n- 💪 Strong foundation: We use Excalidraw as our base library" : "تطبيق \"السبورة البيضاء\" Whiteboard الرسمي لنكست كلاود. يسمح للمستخدمين بإنشاء السبورة البيضاء ومشاركتها مع مستخدمين آخرين والتعاون في الوقت الفعلي. \n\n**يتطلب تطبيق السبورة البيضاء خادوم تعاوني مستقل للعمل. ** يرجى الاطلاع على [الوثائق](https://github.com/nextcloud/whiteboard?tab=readme-ov-file#backend) لمعرفة كيفية تثبيته. \n\n- 🎨 رسم الأشكال وكتابة النصوص وربط العناصر \n- 📝 التعاون في الوقت الفعلي \n- 🖼️ إضافة الصور بالسحب والإفلات \n- 📊 إضافة مخططات عروس البحر بسهولة \n- ✨ استخدام اللاقط الذكي لتضمين عناصر أخرى من نكست كلاود \n- 📦 تصدير الصور \n- 💪 أساس قوي: نستخدم Excalidraw كمكتبة أساسية لدينا",
"Whiteboard settings" : "إعدادات السبورة البيضاء",
"Whiteboard backend server is configured and connected." : "خادوم الواجهة الخلفية للسبورة البيضاء مُهيّأ و مُتّصل.",
"Failed to verify the connection:" : "فشل التحقق من الاتصال:",
"Verifying connection…" : "التحقق من الاتصال جارٍ ...",
"Whiteboard requires a separate collaboration server that is connected to Nextcloud." : "السبورة البيضاء تحتاج إلى خادوم تعاوني مستقبل متصل بنكست كلاود.",
"See the documentation on how to install it." : "أنظر الوثائق حول كيفية تثبيته.",
"Whiteboard server URL" : "عنوان URL لخادوم السبورة البيضاء",
"Shared secret" : "السر المشترك",
"Save settings" : "حفظ الإعدادات"
},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
6 changes: 6 additions & 0 deletions l10n/ast.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
OC.L10N.register(
"whiteboard",
{
"Whiteboard" : "Pizarra"
},
"nplurals=2; plural=(n != 1);");
4 changes: 4 additions & 0 deletions l10n/ast.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{ "translations": {
"Whiteboard" : "Pizarra"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
8 changes: 8 additions & 0 deletions l10n/bg.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
OC.L10N.register(
"whiteboard",
{
"Whiteboard" : "Табло",
"Shared secret" : "Споделена тайна",
"Save settings" : "Запазване на настройките"
},
"nplurals=2; plural=(n != 1);");
6 changes: 6 additions & 0 deletions l10n/bg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{ "translations": {
"Whiteboard" : "Табло",
"Shared secret" : "Споделена тайна",
"Save settings" : "Запазване на настройките"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
6 changes: 6 additions & 0 deletions l10n/br.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
OC.L10N.register(
"whiteboard",
{
"Shared secret" : "Secret rannet"
},
"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);");
4 changes: 4 additions & 0 deletions l10n/br.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{ "translations": {
"Shared secret" : "Secret rannet"
},"pluralForm" :"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"
}
8 changes: 8 additions & 0 deletions l10n/ca.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
OC.L10N.register(
"whiteboard",
{
"Whiteboard" : "Pissarra blanca",
"Shared secret" : "Clau secreta compartida",
"Save settings" : "Desa els paràmetres"
},
"nplurals=2; plural=(n != 1);");
6 changes: 6 additions & 0 deletions l10n/ca.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{ "translations": {
"Whiteboard" : "Pissarra blanca",
"Shared secret" : "Clau secreta compartida",
"Save settings" : "Desa els paràmetres"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
8 changes: 8 additions & 0 deletions l10n/cs.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
OC.L10N.register(
"whiteboard",
{
"Whiteboard" : "Tabule",
"Shared secret" : "Předsdílené heslo",
"Save settings" : "Uložit nastavení"
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");
6 changes: 6 additions & 0 deletions l10n/cs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{ "translations": {
"Whiteboard" : "Tabule",
"Shared secret" : "Předsdílené heslo",
"Save settings" : "Uložit nastavení"
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
}
6 changes: 6 additions & 0 deletions l10n/cy_GB.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
OC.L10N.register(
"whiteboard",
{
"Whiteboard" : "Bwrdd gwyn"
},
"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;");
4 changes: 4 additions & 0 deletions l10n/cy_GB.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{ "translations": {
"Whiteboard" : "Bwrdd gwyn"
},"pluralForm" :"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"
}
8 changes: 8 additions & 0 deletions l10n/da.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
OC.L10N.register(
"whiteboard",
{
"Whiteboard" : "Whiteboard",
"Shared secret" : "Delt hemmelighed",
"Save settings" : "Gem indstillinger"
},
"nplurals=2; plural=(n != 1);");
6 changes: 6 additions & 0 deletions l10n/da.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{ "translations": {
"Whiteboard" : "Whiteboard",
"Shared secret" : "Delt hemmelighed",
"Save settings" : "Gem indstillinger"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
8 changes: 8 additions & 0 deletions l10n/de.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
OC.L10N.register(
"whiteboard",
{
"Whiteboard" : "Whiteboard",
"Shared secret" : "Geteiltes Geheimnis",
"Save settings" : "Einstellungen speichern"
},
"nplurals=2; plural=(n != 1);");
6 changes: 6 additions & 0 deletions l10n/de.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{ "translations": {
"Whiteboard" : "Whiteboard",
"Shared secret" : "Geteiltes Geheimnis",
"Save settings" : "Einstellungen speichern"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
Loading