@sync-in/server 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/CHANGELOG.md +164 -58
  2. package/environment/environment.dist.yaml +6 -3
  3. package/migrations/0003_giant_luckman.sql +6 -0
  4. package/migrations/meta/0003_snapshot.json +2463 -0
  5. package/migrations/meta/_journal.json +7 -0
  6. package/package.json +16 -15
  7. package/server/app.bootstrap.js +1 -0
  8. package/server/app.bootstrap.js.map +1 -1
  9. package/server/app.constants.js +0 -4
  10. package/server/app.constants.js.map +1 -1
  11. package/server/app.service.js +7 -6
  12. package/server/app.service.js.map +1 -1
  13. package/server/applications/files/constants/only-office.js +12 -0
  14. package/server/applications/files/constants/only-office.js.map +1 -1
  15. package/server/applications/files/files.config.js +5 -0
  16. package/server/applications/files/files.config.js.map +1 -1
  17. package/server/applications/files/services/files-content-manager.service.js +6 -6
  18. package/server/applications/files/services/files-content-manager.service.js.map +1 -1
  19. package/server/applications/files/services/files-manager.service.js +4 -4
  20. package/server/applications/files/services/files-manager.service.js.map +1 -1
  21. package/server/applications/files/services/files-methods.service.js +5 -3
  22. package/server/applications/files/services/files-methods.service.js.map +1 -1
  23. package/server/applications/files/services/files-only-office-manager.service.js +2 -2
  24. package/server/applications/files/services/files-only-office-manager.service.js.map +1 -1
  25. package/server/applications/files/services/files-parser.service.js +6 -3
  26. package/server/applications/files/services/files-parser.service.js.map +1 -1
  27. package/server/applications/files/services/files-scheduler.service.js +51 -3
  28. package/server/applications/files/services/files-scheduler.service.js.map +1 -1
  29. package/server/applications/files/services/files-search-manager.service.js +4 -0
  30. package/server/applications/files/services/files-search-manager.service.js.map +1 -1
  31. package/server/applications/files/utils/doc-textify/adapters/pdf.js +10 -1
  32. package/server/applications/files/utils/doc-textify/adapters/pdf.js.map +1 -1
  33. package/server/applications/notifications/i18n/de.js +56 -0
  34. package/server/applications/notifications/i18n/de.js.map +1 -0
  35. package/server/applications/notifications/i18n/es.js +52 -0
  36. package/server/applications/notifications/i18n/es.js.map +1 -0
  37. package/server/applications/notifications/i18n/hi.js +52 -0
  38. package/server/applications/notifications/i18n/hi.js.map +1 -0
  39. package/server/applications/notifications/i18n/index.js +73 -8
  40. package/server/applications/notifications/i18n/index.js.map +1 -1
  41. package/server/applications/notifications/i18n/it.js +52 -0
  42. package/server/applications/notifications/i18n/it.js.map +1 -0
  43. package/server/applications/notifications/i18n/ja.js +52 -0
  44. package/server/applications/notifications/i18n/ja.js.map +1 -0
  45. package/server/applications/notifications/i18n/ko.js +52 -0
  46. package/server/applications/notifications/i18n/ko.js.map +1 -0
  47. package/server/applications/notifications/i18n/pl.js +52 -0
  48. package/server/applications/notifications/i18n/pl.js.map +1 -0
  49. package/server/applications/notifications/i18n/pt.js +52 -0
  50. package/server/applications/notifications/i18n/pt.js.map +1 -0
  51. package/server/applications/notifications/i18n/pt_br.js +52 -0
  52. package/server/applications/notifications/i18n/pt_br.js.map +1 -0
  53. package/server/applications/notifications/i18n/ru.js +52 -0
  54. package/server/applications/notifications/i18n/ru.js.map +1 -0
  55. package/server/applications/notifications/i18n/tr.js +52 -0
  56. package/server/applications/notifications/i18n/tr.js.map +1 -0
  57. package/server/applications/notifications/i18n/zh.js +52 -0
  58. package/server/applications/notifications/i18n/zh.js.map +1 -0
  59. package/server/applications/notifications/mails/models.js +6 -7
  60. package/server/applications/notifications/mails/models.js.map +1 -1
  61. package/server/applications/notifications/services/notifications-manager.service.js.map +1 -1
  62. package/server/applications/shares/dto/create-or-update-share.dto.js +11 -0
  63. package/server/applications/shares/dto/create-or-update-share.dto.js.map +1 -1
  64. package/server/applications/shares/interfaces/share-props.interface.js.map +1 -1
  65. package/server/applications/shares/schemas/share.interface.js.map +1 -1
  66. package/server/applications/shares/schemas/shares.schema.js +9 -0
  67. package/server/applications/shares/schemas/shares.schema.js.map +1 -1
  68. package/server/applications/shares/services/shares-manager.service.js +46 -17
  69. package/server/applications/shares/services/shares-manager.service.js.map +1 -1
  70. package/server/applications/shares/services/shares-queries.service.js +24 -5
  71. package/server/applications/shares/services/shares-queries.service.js.map +1 -1
  72. package/server/applications/spaces/constants/cache.js +4 -0
  73. package/server/applications/spaces/constants/cache.js.map +1 -1
  74. package/server/applications/spaces/dto/create-or-update-space.dto.js +5 -0
  75. package/server/applications/spaces/dto/create-or-update-space.dto.js.map +1 -1
  76. package/server/applications/spaces/guards/space.guard.js +3 -3
  77. package/server/applications/spaces/guards/space.guard.js.map +1 -1
  78. package/server/applications/spaces/models/space-props.model.js.map +1 -1
  79. package/server/applications/spaces/models/space.model.js.map +1 -1
  80. package/server/applications/spaces/schemas/space.interface.js.map +1 -1
  81. package/server/applications/spaces/schemas/spaces.schema.js +1 -0
  82. package/server/applications/spaces/schemas/spaces.schema.js.map +1 -1
  83. package/server/applications/spaces/services/spaces-browser.service.js.map +1 -1
  84. package/server/applications/spaces/services/spaces-manager.service.js +34 -31
  85. package/server/applications/spaces/services/spaces-manager.service.js.map +1 -1
  86. package/server/applications/spaces/services/spaces-queries.service.js +23 -7
  87. package/server/applications/spaces/services/spaces-queries.service.js.map +1 -1
  88. package/server/applications/spaces/services/spaces-scheduler.service.js +21 -20
  89. package/server/applications/spaces/services/spaces-scheduler.service.js.map +1 -1
  90. package/server/applications/spaces/spaces.controller.js +4 -2
  91. package/server/applications/spaces/spaces.controller.js.map +1 -1
  92. package/server/applications/spaces/utils/paths.js +14 -16
  93. package/server/applications/spaces/utils/paths.js.map +1 -1
  94. package/server/applications/sync/services/sync-manager.service.js +4 -3
  95. package/server/applications/sync/services/sync-manager.service.js.map +1 -1
  96. package/server/applications/sync/services/sync-paths-manager.service.js +1 -1
  97. package/server/applications/sync/services/sync-paths-manager.service.js.map +1 -1
  98. package/server/applications/sync/services/sync-paths-manager.service.spec.js +1 -1
  99. package/server/applications/sync/services/sync-paths-manager.service.spec.js.map +1 -1
  100. package/server/applications/sync/sync.controller.js +2 -1
  101. package/server/applications/sync/sync.controller.js.map +1 -1
  102. package/server/applications/users/constants/routes.js +5 -0
  103. package/server/applications/users/constants/routes.js.map +1 -1
  104. package/server/applications/users/constants/user.js +0 -16
  105. package/server/applications/users/constants/user.js.map +1 -1
  106. package/server/applications/users/dto/user-properties.dto.js +10 -0
  107. package/server/applications/users/dto/user-properties.dto.js.map +1 -1
  108. package/server/applications/users/models/user.model.js.map +1 -1
  109. package/server/applications/users/schemas/user.interface.js.map +1 -1
  110. package/server/applications/users/schemas/users.schema.js +3 -2
  111. package/server/applications/users/schemas/users.schema.js.map +1 -1
  112. package/server/applications/users/services/admin-users-manager.service.js +1 -0
  113. package/server/applications/users/services/admin-users-manager.service.js.map +1 -1
  114. package/server/applications/users/services/admin-users-manager.service.spec.js +2 -1
  115. package/server/applications/users/services/admin-users-manager.service.spec.js.map +1 -1
  116. package/server/applications/users/services/users-manager.service.js +8 -2
  117. package/server/applications/users/services/users-manager.service.js.map +1 -1
  118. package/server/applications/users/services/users-manager.service.spec.js +1 -0
  119. package/server/applications/users/services/users-manager.service.spec.js.map +1 -1
  120. package/server/applications/users/services/users-queries.service.js +18 -4
  121. package/server/applications/users/services/users-queries.service.js.map +1 -1
  122. package/server/applications/users/users.controller.js +15 -0
  123. package/server/applications/users/users.controller.js.map +1 -1
  124. package/server/applications/users/utils/test.js +2 -2
  125. package/server/applications/users/utils/test.js.map +1 -1
  126. package/server/applications/webdav/constants/routes.js +2 -2
  127. package/server/applications/webdav/constants/routes.js.map +1 -1
  128. package/server/applications/webdav/constants/webdav.js +2 -2
  129. package/server/applications/webdav/constants/webdav.js.map +1 -1
  130. package/server/applications/webdav/filters/webdav.filter.js +2 -2
  131. package/server/applications/webdav/filters/webdav.filter.js.map +1 -1
  132. package/server/applications/webdav/filters/webdav.filter.spec.js +2 -2
  133. package/server/applications/webdav/filters/webdav.filter.spec.js.map +1 -1
  134. package/server/applications/webdav/services/webdav-methods.service.js +3 -2
  135. package/server/applications/webdav/services/webdav-methods.service.js.map +1 -1
  136. package/server/applications/webdav/utils/webdav.js +1 -2
  137. package/server/applications/webdav/utils/webdav.js.map +1 -1
  138. package/server/authentication/auth.config.js +2 -2
  139. package/server/authentication/auth.config.js.map +1 -1
  140. package/server/authentication/guards/auth-basic.strategy.js +2 -2
  141. package/server/authentication/guards/auth-basic.strategy.js.map +1 -1
  142. package/server/common/i18n.js +52 -0
  143. package/server/common/i18n.js.map +1 -0
  144. package/server/common/image.js +49 -33
  145. package/server/common/image.js.map +1 -1
  146. package/server/common/interfaces.js.map +1 -1
  147. package/server/common/shared.js +5 -2
  148. package/server/common/shared.js.map +1 -1
  149. package/server/configuration/config.validation.js +3 -3
  150. package/server/configuration/config.validation.js.map +1 -1
  151. package/server/infrastructure/cache/adapters/mysql-cache.adapter.js +8 -6
  152. package/server/infrastructure/cache/adapters/mysql-cache.adapter.js.map +1 -1
  153. package/server/infrastructure/cache/adapters/redis-cache.adapter.js +22 -17
  154. package/server/infrastructure/cache/adapters/redis-cache.adapter.js.map +1 -1
  155. package/server/infrastructure/cache/cache.e2e-spec.js +1 -0
  156. package/server/infrastructure/cache/cache.e2e-spec.js.map +1 -1
  157. package/server/infrastructure/cache/cache.module.js +1 -14
  158. package/server/infrastructure/cache/cache.module.js.map +1 -1
  159. package/server/infrastructure/cache/services/cache.service.js.map +1 -1
  160. package/server/infrastructure/database/database.module.js +20 -1
  161. package/server/infrastructure/database/database.module.js.map +1 -1
  162. package/server/infrastructure/database/utils.js +48 -0
  163. package/server/infrastructure/database/utils.js.map +1 -1
  164. package/server/infrastructure/scheduler/scheduler.module.js +1 -1
  165. package/server/infrastructure/scheduler/scheduler.module.js.map +1 -1
  166. package/server/infrastructure/websocket/adapters/cluster.adapter.js +1 -3
  167. package/server/infrastructure/websocket/adapters/cluster.adapter.js.map +1 -1
  168. package/static/3rdpartylicenses.txt +137 -137
  169. package/static/chunk-2KLC4T2Z.js +1 -0
  170. package/static/chunk-373XVRXW.js +1 -0
  171. package/static/chunk-3GMLWAFZ.js +1 -0
  172. package/static/chunk-3XVM35O2.js +1 -0
  173. package/static/chunk-3YVRP3VM.js +2 -0
  174. package/static/chunk-5NMSIIQB.js +1 -0
  175. package/static/chunk-AF24EYXU.js +1 -0
  176. package/static/chunk-AKQVEHO6.js +2 -0
  177. package/static/{chunk-PTGDOWV3.js → chunk-AY2SZ3G6.js} +1 -1
  178. package/static/chunk-BCVX464U.js +2 -0
  179. package/static/{chunk-IPAC4VAF.js → chunk-BIKLW4YS.js} +1 -1
  180. package/static/chunk-C36MW4ME.js +562 -0
  181. package/static/chunk-CHJ64RJM.js +1 -0
  182. package/static/chunk-DKSEQTMX.js +1 -0
  183. package/static/chunk-DM4NXKEP.js +1 -0
  184. package/static/chunk-DPUVSXRB.js +1 -0
  185. package/static/chunk-DSWEWLXJ.js +1 -0
  186. package/static/chunk-FJE6BOFL.js +1 -0
  187. package/static/chunk-FZ3JPGYZ.js +1 -0
  188. package/static/chunk-GUGNR5TF.js +3 -0
  189. package/static/chunk-H6NE33VX.js +1 -0
  190. package/static/{chunk-DJYJ66UF.js → chunk-HAS5ZOTR.js} +1 -1
  191. package/static/chunk-HNQRZALS.js +1 -0
  192. package/static/chunk-JPT5WEAT.js +1 -0
  193. package/static/{chunk-QNJFQVYI.js → chunk-JSWCNGXJ.js} +1 -1
  194. package/static/chunk-KFJIQIGR.js +1 -0
  195. package/static/chunk-LNTUR3GU.js +1 -0
  196. package/static/chunk-LVM4QB22.js +1 -0
  197. package/static/chunk-M3XVNQZQ.js +1 -0
  198. package/static/{chunk-EVIE5F2U.js → chunk-MFLIJH6T.js} +1 -1
  199. package/static/{chunk-IQOALFYU.js → chunk-MSUHTBB2.js} +1 -1
  200. package/static/chunk-N3U6637P.js +1 -0
  201. package/static/chunk-NNV4OXSB.js +1 -0
  202. package/static/chunk-NO2LTNW3.js +1 -0
  203. package/static/chunk-OOGP4WSH.js +2 -0
  204. package/static/chunk-PB4AIT7O.js +1 -0
  205. package/static/chunk-PCWDQPOM.js +2 -0
  206. package/static/chunk-PGZZP5W3.js +1 -0
  207. package/static/chunk-PVDHBQRM.js +1 -0
  208. package/static/chunk-Q5KM7LTX.js +1 -0
  209. package/static/chunk-QHC6ZPQ4.js +1 -0
  210. package/static/chunk-QO6BTONN.js +1 -0
  211. package/static/chunk-QZU2S5CV.js +1 -0
  212. package/static/chunk-SBZ572Q4.js +2 -0
  213. package/static/chunk-SHIVUDP3.js +1 -0
  214. package/static/chunk-SLHTEGRU.js +1 -0
  215. package/static/{chunk-SH5EVL4E.js → chunk-SSFF27P2.js} +1 -1
  216. package/static/chunk-TPYBFZS5.js +1 -0
  217. package/static/chunk-UEQCWMXD.js +1 -0
  218. package/static/chunk-UG5DMXYO.js +1 -0
  219. package/static/chunk-UJPPR4MX.js +1 -0
  220. package/static/chunk-UNCPXHHT.js +1 -0
  221. package/static/chunk-URHTCJ7G.js +1 -0
  222. package/static/chunk-V3AT2BKP.js +1 -0
  223. package/static/chunk-VKK5BSLX.js +1 -0
  224. package/static/{chunk-SIPE37PA.js → chunk-VM4YX6Q7.js} +1 -1
  225. package/static/chunk-WJW7CT6G.js +27 -0
  226. package/static/{chunk-7ITZXYYJ.js → chunk-WLMNXRBS.js} +1 -1
  227. package/static/chunk-X5XGK6T7.js +4 -0
  228. package/static/chunk-YEKR5OPO.js +1 -0
  229. package/static/chunk-YW57T2PF.js +1 -0
  230. package/static/chunk-Z5J5F5SX.js +1 -0
  231. package/static/chunk-ZIJQRARU.js +1 -0
  232. package/static/chunk-ZPF2DSQV.js +1 -0
  233. package/static/chunk-ZTCRGJ6Y.js +7 -0
  234. package/static/index.html +2 -2
  235. package/static/main-VOL6OMJ5.js +9 -0
  236. package/static/scripts-WRDOQIU5.js +24 -0
  237. package/static/{styles-A5VYX3CE.css → styles-2C2UNCNB.css} +1 -1
  238. package/server/applications/spaces/interfaces/space-quota.interface.js +0 -10
  239. package/server/applications/spaces/interfaces/space-quota.interface.js.map +0 -1
  240. package/static/chunk-22EANI6R.js +0 -1
  241. package/static/chunk-3GFGJYMK.js +0 -1
  242. package/static/chunk-4YGJGZZZ.js +0 -1
  243. package/static/chunk-5K7HEX3C.js +0 -27
  244. package/static/chunk-5KLMS6A4.js +0 -1
  245. package/static/chunk-ATP3BFHV.js +0 -562
  246. package/static/chunk-BB4G55KE.js +0 -1
  247. package/static/chunk-EWKSX76T.js +0 -1
  248. package/static/chunk-FHLACA7V.js +0 -1
  249. package/static/chunk-GCATNU55.js +0 -1
  250. package/static/chunk-GYODPCIE.js +0 -1
  251. package/static/chunk-HZTFYLM5.js +0 -1
  252. package/static/chunk-JSUKJT6Z.js +0 -1
  253. package/static/chunk-JXZCNFW7.js +0 -1
  254. package/static/chunk-LTGFCQR7.js +0 -1
  255. package/static/chunk-LV3PYKWO.js +0 -1
  256. package/static/chunk-N2WFNW6M.js +0 -7
  257. package/static/chunk-ORMRCEGT.js +0 -1
  258. package/static/chunk-OUTBJSMW.js +0 -1
  259. package/static/chunk-RS2PX32L.js +0 -1
  260. package/static/chunk-RSSWH3S2.js +0 -1
  261. package/static/chunk-RTRJ3KFH.js +0 -1
  262. package/static/chunk-TKTCBDOG.js +0 -1
  263. package/static/chunk-V6K2N46L.js +0 -1
  264. package/static/chunk-XLCCZSQL.js +0 -4
  265. package/static/chunk-YPEH66GG.js +0 -1
  266. package/static/chunk-YPOIUQ57.js +0 -1
  267. package/static/chunk-ZKCFO2OA.js +0 -4
  268. package/static/main-MZ7HWZXO.js +0 -9
  269. package/static/scripts-VZVAP2P4.js +0 -30
package/CHANGELOG.md CHANGED
@@ -1,19 +1,108 @@
1
+ ## [1.8.0](https://github.com/Sync-in/server/compare/v1.7.0...v1.8.0) (2025-10-26)
1
2
 
2
- ## [1.7.0](https://github.com/Sync-in/server/compare/v1.6.1...v1.7.0) (2025-10-09)
3
+ ### Highlights
4
+
5
+ * 🌍 **14 languages supported** — added 12 new ones: 🇩🇪 🇪🇸 🇵🇹 🇧🇷 🇮🇹 🇨🇳 🇮🇳 🇹🇷 🇯🇵 🇰🇷 🇵🇱 🇷🇺
6
+ * ⚡ **Better suited for small systems** – reduced the default number of backend workers from **2 to 1** to improve memory efficiency on lightweight
7
+ setups (e.g. Raspberry Pi).
8
+ * 🔍 **Indexing & search controls** — new config to enable/disable indexing, per-space toggles, and full-text search preferences.
9
+ * 📊 **Quotas** — define storage quotas for external shares; storage from anchored external locations now counts toward the space’s total usage.
10
+ * 🖼️ **Thumbnails** — photo thumbnail generation is now **3× faster**.
11
+ * 🐳 **Docker** — minimized system dependencies for a **lighter and more efficient image**.
3
12
 
13
+ ➡️ [More details](https://sync-in.com/news/sync-in-server-1-8)
4
14
 
5
15
  ### Features
6
16
 
7
- * **backend:auth:** add `adminGroup` support and improve LDAP user role assignment ([9074145](https://github.com/Sync-in/server/commit/9074145c9c86e023c73e0a5522f87441356bb240))
8
- * **backend:auth:** enhance LDAP authentication configuration with upnSuffix and netbiosName parameters ([5a5d623](https://github.com/Sync-in/server/commit/5a5d62317198d3c1164bc6f9efe6bdb50bfe25f7))
17
+ * **backend:cache:** update Redis packages to latest versions supporting Redis 7.x and 8.x, adjust code and improve cache
18
+ handling ([daaedf3](https://github.com/Sync-in/server/commit/daaedf3676c5148cc82092f754558340f4b9f773))
19
+ * **backend:database:** implement graceful MySQL client shutdown during application
20
+ termination ([e42b843](https://github.com/Sync-in/server/commit/e42b84389fc9caee99f0125fce4e9859bee46743))
21
+ * **backend:files:** add daily cron job to clean up orphaned files and optimize
22
+ table ([19b9e6e](https://github.com/Sync-in/server/commit/19b9e6ebee9f6b05d98494f57ecbe8a82c6cfefd))
23
+ * **backend:files:** add support for editing `doc`, `xls`, and `ppt` file formats in OnlyOffice constants map (allow implicit
24
+ conversion) ([e6523f4](https://github.com/Sync-in/server/commit/e6523f410fa2f903fbbc0f5823527f6f896dfaac))
25
+ * **backend:spaces:** improve trash path resolution for spaces and shares with external
26
+ paths ([a37077a](https://github.com/Sync-in/server/commit/a37077a5cf4e1a422d949269d76a773a954cb387))
27
+ * **backend/frontend:** introduce full-text search preference for users and
28
+ spaces ([70ee799](https://github.com/Sync-in/server/commit/70ee79968e2eb88c061ee1f882d19be9354d2b2a))
29
+ * **backend/frontend:** support quota definition and usage for shares with external paths, and include storage usage from external-path space roots in
30
+ the total space usage ([0b08004](https://github.com/Sync-in/server/commit/0b08004a3a609c7b1a08aa9b664b59fcd39bee6a))
31
+ * **files:** add config toggles to enable/disable file indexing and full-text
32
+ search ([fde7c58](https://github.com/Sync-in/server/commit/fde7c58cbb94375f038353a450a786e95c382e43))
33
+ * **frontend:files:** add lock indicator to selection panel and align badge styles for
34
+ consistency ([18bf5e6](https://github.com/Sync-in/server/commit/18bf5e653253af29fb08ea2525513957c607ea00))
35
+ * **frontend:files:** display current lock indicator in file
36
+ browser ([383e6e1](https://github.com/Sync-in/server/commit/383e6e1129ae6e2ed6df30ae086cdf6f7baf7d3e))
37
+ * **frontend:i18n:** add Deutsch, Spanish, Portuguese, Italian, Chinese, and Hindi translations and update language
38
+ configuration ([3b35484](https://github.com/Sync-in/server/commit/3b354841c000689243a584a2c392c572a04e8c5b))
39
+ * **frontend:i18n:** add dynamic translation loading and missing translation
40
+ handler ([9f9baab](https://github.com/Sync-in/server/commit/9f9baab9ae2cdad6f007210c5781e3a7c2df4ecd))
41
+ * **frontend:i18n:** add Russian translations and update
42
+ language ([b791683](https://github.com/Sync-in/server/commit/b791683f8100ef9a907508b043727c11b06074a4))
43
+ * **frontend:i18n:** add support for language display names and enhance select options with localized
44
+ text ([f9a68bf](https://github.com/Sync-in/server/commit/f9a68bff83c4ce8f8964b135fbb56d5c7b33215b))
45
+ * **i18n:** add Brazilian Portuguese (pt-BR), Turkish (tr), Japanese (ja), Korean (ko), and Polish (pl) translations for frontend and
46
+ backend ([6d017c1](https://github.com/Sync-in/server/commit/6d017c11c4581b21bb16308b9360cc6f59e3f484))
47
+ * **i18n:** centralize i18n utilities, refine type safety, and enhance language normalization and storage
48
+ handling ([11650a4](https://github.com/Sync-in/server/commit/11650a4b9cf16417d0905cf28e92fe3f3f52f46c))
49
+ * **i18n:** enhance locale support by adding new languages, centralizing i18n configuration, improving storage handling, and refining locale-specific
50
+ settings ([ccd538c](https://github.com/Sync-in/server/commit/ccd538ce21fef392236ab037d4cc3ce4c313ee8a))
51
+ * **i18n:** modularize locale configurations, improve type safety, and optimize language
52
+ loading ([3b05b1b](https://github.com/Sync-in/server/commit/3b05b1b8850230f0d89013c3ea86d6a7fe94c54b))
9
53
 
10
- ## [1.6.1](https://github.com/Sync-in/server/compare/v1.6.0...v1.6.1) (2025-10-09)
54
+ ### Bug Fixes
11
55
 
56
+ * **backend:files:** adjust `analyzeFile` logic to handle space root and shared
57
+ files ([48bd843](https://github.com/Sync-in/server/commit/48bd8432a4dfdf72493f616219a61c080c701d20))
58
+ * **backend:files:** update PDF adapter to use standard_fonts directory and disable font face for improved
59
+ compatibility ([0fce762](https://github.com/Sync-in/server/commit/0fce7625cdf4373ef16b9f32150b3da2de4a7733))
60
+ * **backend:spaces,sync:** enable whitelist option in ParseArrayPipe for DTO
61
+ validation ([13fcce2](https://github.com/Sync-in/server/commit/13fcce2908261c1a010a6c6b50517c2573f4a054))
62
+ * **backend:spaces:** update query parameters to prevent runtime errors and add missing comments for
63
+ clarity ([d20604a](https://github.com/Sync-in/server/commit/d20604a9c718245393b606139cdc2d79d521301e))
64
+ * **backend:users:** extend clearWhitelistCaches to support clearing all entries, and call it after user creation to prevent stale user
65
+ cache ([92d78c9](https://github.com/Sync-in/server/commit/92d78c987e7054c5f6a06c876ceeb7af8a3098b1))
66
+ * **backend:** standardize error message handling by truncating to the first segment to hide system
67
+ paths ([f8e6f24](https://github.com/Sync-in/server/commit/f8e6f249c158e425ee0ac4858cb1a69063b198be))
68
+ * **backend:** use EXIF metadata for thumbnail
69
+ orientation ([bf03bb8](https://github.com/Sync-in/server/commit/bf03bb8dfe6b4b1a939e5e394e39b81d346602ee))
70
+ * **frontend:files:** add text wrapping for trash dialog
71
+ content ([2b38dd1](https://github.com/Sync-in/server/commit/2b38dd1e42a35dd91afd5d5a99bef537bacfa4ac))
72
+ * **frontend:files:** keep aspect ratio for thumbnails with large
73
+ width ([facff7f](https://github.com/Sync-in/server/commit/facff7fc5779ec03abc0362f0867b3ffe088822c))
74
+ * **frontend:files:** normalize file names in FormData to prevent unicode normalization
75
+ mismatches ([a0db60c](https://github.com/Sync-in/server/commit/a0db60c691b74edc0474400c95453853b73ec176))
76
+ * **frontend:files:** remove forced black background for transparent images in
77
+ viewer ([8ebcace](https://github.com/Sync-in/server/commit/8ebcace49fb5e56478ca99be01216880c1092f49))
78
+ * **frontend:search:** resolve selection issue by tracking index instead of file
79
+ ID ([8d2ebd8](https://github.com/Sync-in/server/commit/8d2ebd8fca9fbcc5ce3e296c8e0924737ade5539))
80
+ * **frontend:spaces:** ensure correct file ID assignment for new shares and anchored
81
+ files ([023adfb](https://github.com/Sync-in/server/commit/023adfb879c0839b5e7bd1c10fb68837ff508b94))
82
+ * **frontend:styles:** ensure responsive width for ngx-toastr
83
+ component ([2595563](https://github.com/Sync-in/server/commit/259556368a022762dc419d488055e3ff04131b2a))
84
+ * **frontend:** remove unnecessary `l10nTranslate` directive from badge components in multiple
85
+ views ([d38ee5a](https://github.com/Sync-in/server/commit/d38ee5a1011805e276846c1e384f8727575768ac))
86
+ * **frontend:** switch dayjs imports to esm for better tree-shaking and module
87
+ optimization ([9c31cde](https://github.com/Sync-in/server/commit/9c31cde4b04fd8b05673f22925211c2187a8ac3f))
88
+
89
+ ## [1.7.0](https://github.com/Sync-in/server/compare/v1.6.1...v1.7.0) (2025-10-09)
90
+
91
+ ### Features
92
+
93
+ * **backend:auth:** add `adminGroup` support and improve LDAP user role
94
+ assignment ([9074145](https://github.com/Sync-in/server/commit/9074145c9c86e023c73e0a5522f87441356bb240))
95
+ * **backend:auth:** enhance LDAP authentication configuration with upnSuffix and netbiosName
96
+ parameters ([5a5d623](https://github.com/Sync-in/server/commit/5a5d62317198d3c1164bc6f9efe6bdb50bfe25f7))
97
+
98
+ ## [1.6.1](https://github.com/Sync-in/server/compare/v1.6.0...v1.6.1) (2025-10-09)
12
99
 
13
100
  ### Bug Fixes
14
101
 
15
- * **backend:auth:** improve AD/LDAP authentication handling and normalization ([db1a9e3](https://github.com/Sync-in/server/commit/db1a9e3d4a02c6be5ef594b4a383e05d0bc50fc4))
16
- * **frontend:links:** fallback to default MIME URL when origin MIME URL is not found ([5724f3a](https://github.com/Sync-in/server/commit/5724f3a730fc8d8b51268071b0d3370bc62f6901))
102
+ * **backend:auth:** improve AD/LDAP authentication handling and
103
+ normalization ([db1a9e3](https://github.com/Sync-in/server/commit/db1a9e3d4a02c6be5ef594b4a383e05d0bc50fc4))
104
+ * **frontend:links:** fallback to default MIME URL when origin MIME URL is not
105
+ found ([5724f3a](https://github.com/Sync-in/server/commit/5724f3a730fc8d8b51268071b0d3370bc62f6901))
17
106
 
18
107
  ## [1.6.0](https://github.com/Sync-in/server/compare/v1.5.2...v1.6.0) (2025-09-26)
19
108
 
@@ -21,88 +110,99 @@
21
110
 
22
111
  ### Features
23
112
 
24
- * **feat: mfa and app passwords** ([5ed579f](https://github.com/Sync-in/server/commit/5ed579fd31dcf51770abe52f385b4ed306a22bd8) [431a988](https://github.com/Sync-in/server/commit/431a988c6d0b88711b50b642bd440c42f80283ce) [43a8b10](https://github.com/Sync-in/server/commit/43a8b10eb8869eafd3014cdad034c2b093237edf) [91eda5c](https://github.com/Sync-in/server/commit/91eda5cbc396da3bd6cfddf5e1e4001466327575))
25
- * **backend:sync:** handle 2FA during client registration ([b0aadde](https://github.com/Sync-in/server/commit/b0aadde6323ffc9a61f43ea424b7cff8922f718d))
26
- * **backend:auth:** add support for AD-specific LDAP attributes ([1b6a8fc](https://github.com/Sync-in/server/commit/1b6a8fc139db54a71a4aaa5cba7715d349ffef0f))
27
- * **backend:infrastructure:** allow configuration of ignoreTLS and rejectUnauthorized for SMTP transport ([c1b3f5a](https://github.com/Sync-in/server/commit/c1b3f5a810e2cdc6977b48022f491e602b70ee9f))
28
- * **backend:notifications:** add email notifications for two-factor authentication security events ([b207f33](https://github.com/Sync-in/server/commit/b207f336c2dc75deec7992975b7aa1376289ee42))
29
- * **backend:notifications:** include link password in sent emails ([1a3ed0a](https://github.com/Sync-in/server/commit/1a3ed0a7624c16986ced259d8e272eaa2872c8a8))
30
- * **backend:users:** add email notifications when account is locked ([954bb10](https://github.com/Sync-in/server/commit/954bb1061e6399768aad13d9822491975a843b9b))
31
-
113
+ * **feat: mfa and app passwords
114
+ ** ([5ed579f](https://github.com/Sync-in/server/commit/5ed579fd31dcf51770abe52f385b4ed306a22bd8) [431a988](https://github.com/Sync-in/server/commit/431a988c6d0b88711b50b642bd440c42f80283ce) [43a8b10](https://github.com/Sync-in/server/commit/43a8b10eb8869eafd3014cdad034c2b093237edf) [91eda5c](https://github.com/Sync-in/server/commit/91eda5cbc396da3bd6cfddf5e1e4001466327575))
115
+ * **backend:sync:** handle 2FA during client
116
+ registration ([b0aadde](https://github.com/Sync-in/server/commit/b0aadde6323ffc9a61f43ea424b7cff8922f718d))
117
+ * **backend:auth:** add support for AD-specific LDAP
118
+ attributes ([1b6a8fc](https://github.com/Sync-in/server/commit/1b6a8fc139db54a71a4aaa5cba7715d349ffef0f))
119
+ * **backend:infrastructure:** allow configuration of ignoreTLS and rejectUnauthorized for SMTP
120
+ transport ([c1b3f5a](https://github.com/Sync-in/server/commit/c1b3f5a810e2cdc6977b48022f491e602b70ee9f))
121
+ * **backend:notifications:** add email notifications for two-factor authentication security
122
+ events ([b207f33](https://github.com/Sync-in/server/commit/b207f336c2dc75deec7992975b7aa1376289ee42))
123
+ * **backend:notifications:** include link password in sent
124
+ emails ([1a3ed0a](https://github.com/Sync-in/server/commit/1a3ed0a7624c16986ced259d8e272eaa2872c8a8))
125
+ * **backend:users:** add email notifications when account is
126
+ locked ([954bb10](https://github.com/Sync-in/server/commit/954bb1061e6399768aad13d9822491975a843b9b))
32
127
 
33
128
  ### Bug Fixes
34
129
 
35
130
  * **backend:auth:** improve handling of sql errors ([f4b78fa](https://github.com/Sync-in/server/commit/f4b78fa2779d2fea01d7dd554d861cb6272b594e))
36
- * **backend:users:** ensure default value for user secrets when null ([090eb6e](https://github.com/Sync-in/server/commit/090eb6e61f4973522f201879e611b744aa0677e8))
131
+ * **backend:users:** ensure default value for user secrets when
132
+ null ([090eb6e](https://github.com/Sync-in/server/commit/090eb6e61f4973522f201879e611b744aa0677e8))
37
133
 
38
134
  ## [1.5.2](https://github.com/Sync-in/server/compare/v1.5.1...v1.5.2) (2025-09-09)
39
135
 
40
-
41
136
  ### Bug Fixes
42
137
 
43
- * crash on non-AVX CPUs with musl: @napi-rs/canvas >=0.1.7.8 triggers "Illegal Instruction" when AVX is not supported ([de2f983](https://github.com/Sync-in/server/commit/de2f98348395fa7e711c52c30d1e1d59579282d3))
138
+ * crash on non-AVX CPUs with musl: @napi-rs/canvas >=0.1.7.8 triggers "Illegal Instruction" when AVX is not
139
+ supported ([de2f983](https://github.com/Sync-in/server/commit/de2f98348395fa7e711c52c30d1e1d59579282d3))
44
140
 
45
141
  ## [1.5.1](https://github.com/Sync-in/server/compare/v1.5.0...v1.5.1) (2025-09-07)
46
142
 
47
-
48
143
  ### Bug Fixes
49
144
 
50
145
  * **docker:** fix /app ownership for .init file ([e43f478](https://github.com/Sync-in/server/commit/e43f47873768fa24ba2e66bc1bbd90214bde5ca1))
51
146
 
52
147
  ## [1.5.0](https://github.com/Sync-in/server/compare/v1.4.0...v1.5.0) (2025-09-07)
53
148
 
54
-
55
149
  ### Features
56
150
 
57
- * **files:** optimize document opening to avoid extra API calls ([bf57d93](https://github.com/Sync-in/server/commit/bf57d93dcaea312328db9f1f5290e46471d2f638))
58
- * **frontend:files:** display count for multiple selected files and open sidebar pasteboard when adding files ([39feccd](https://github.com/Sync-in/server/commit/39feccd3d89f29cdc4effb2bb4c016c7c1258729))
59
- * **frontend:spaces:** enable keyboard navigation when files are selected in list mode ([7e38ce2](https://github.com/Sync-in/server/commit/7e38ce29fbfe11b84ccd7824aea1e43ae46e0d0f))
60
-
151
+ * **files:** optimize document opening to avoid extra API
152
+ calls ([bf57d93](https://github.com/Sync-in/server/commit/bf57d93dcaea312328db9f1f5290e46471d2f638))
153
+ * **frontend:files:** display count for multiple selected files and open sidebar pasteboard when adding
154
+ files ([39feccd](https://github.com/Sync-in/server/commit/39feccd3d89f29cdc4effb2bb4c016c7c1258729))
155
+ * **frontend:spaces:** enable keyboard navigation when files are selected in list
156
+ mode ([7e38ce2](https://github.com/Sync-in/server/commit/7e38ce29fbfe11b84ccd7824aea1e43ae46e0d0f))
61
157
 
62
158
  ### Bug Fixes
63
159
 
64
- * **backend:links:** increment nbAccess even when no limit is set ([d6d2e74](https://github.com/Sync-in/server/commit/d6d2e7425c16510ee9e15107a02f21d2038be89f))
65
- * **frontend:spaces:** prevent false positives when checking external location ([f1fdd0d](https://github.com/Sync-in/server/commit/f1fdd0d4088e98f4e24f4a4c18cf6f67e3e5d0d4))
160
+ * **backend:links:** increment nbAccess even when no limit is
161
+ set ([d6d2e74](https://github.com/Sync-in/server/commit/d6d2e7425c16510ee9e15107a02f21d2038be89f))
162
+ * **frontend:spaces:** prevent false positives when checking external
163
+ location ([f1fdd0d](https://github.com/Sync-in/server/commit/f1fdd0d4088e98f4e24f4a4c18cf6f67e3e5d0d4))
66
164
 
67
165
  ### Performance
68
- * **docker:** only change application data ownership ([6e88991](https://github.com/Sync-in/server/commit/6e889915fedf613030e43919e637d7888aea94a1))
69
166
 
167
+ * **docker:** only change application data ownership ([6e88991](https://github.com/Sync-in/server/commit/6e889915fedf613030e43919e637d7888aea94a1))
70
168
 
71
169
  ## [1.4.0](https://github.com/Sync-in/server/compare/v1.3.9...v1.4.0) (2025-08-26)
72
170
 
73
-
74
171
  ### Features
75
172
 
76
- * **backend:webdav:** add temporary hook for Joplin sync compatibility (laurent22/joplin[#12249](https://github.com/Sync-in/server/issues/12249)) ([fc22a7d](https://github.com/Sync-in/server/commit/fc22a7d828f99abe65423d03418fe397ab45d7b0))
77
- * **backend:files:** add showHiddenFiles option to toggle visibility of dotfiles ([ed47fbf](https://github.com/Sync-in/server/commit/ed47fbf3fe7fe5b66868489c319d3c438fde0dbf))
78
- * **backend:files:** allow markdown files to be edited with onlyOffice ([c3d9d85](https://github.com/Sync-in/server/commit/c3d9d85d3f1dc90f4afae8db8ce9d128c8ecadf2))
79
- * **frontend:spaces:** open documents in edit mode on double-click ([d6ef175](https://github.com/Sync-in/server/commit/d6ef175d951b4e11ce78d280e4982e3ed8a4bb3f))
80
-
173
+ * **backend:webdav:** add temporary hook for Joplin sync compatibility (
174
+ laurent22/joplin[#12249](https://github.com/Sync-in/server/issues/12249)) ([fc22a7d](https://github.com/Sync-in/server/commit/fc22a7d828f99abe65423d03418fe397ab45d7b0))
175
+ * **backend:files:** add showHiddenFiles option to toggle visibility of
176
+ dotfiles ([ed47fbf](https://github.com/Sync-in/server/commit/ed47fbf3fe7fe5b66868489c319d3c438fde0dbf))
177
+ * **backend:files:** allow markdown files to be edited with
178
+ onlyOffice ([c3d9d85](https://github.com/Sync-in/server/commit/c3d9d85d3f1dc90f4afae8db8ce9d128c8ecadf2))
179
+ * **frontend:spaces:** open documents in edit mode on
180
+ double-click ([d6ef175](https://github.com/Sync-in/server/commit/d6ef175d951b4e11ce78d280e4982e3ed8a4bb3f))
81
181
 
82
182
  ### Bug Fixes
83
183
 
84
- * **backend:users:** ensure permission guards correctly evaluate array permissions ([c27dc7b](https://github.com/Sync-in/server/commit/c27dc7b7ac20293febca17d18ae8608d61eb1b44))
184
+ * **backend:users:** ensure permission guards correctly evaluate array
185
+ permissions ([c27dc7b](https://github.com/Sync-in/server/commit/c27dc7b7ac20293febca17d18ae8608d61eb1b44))
85
186
 
86
187
  ## [1.3.9](https://github.com/Sync-in/server/compare/v1.3.8...v1.3.9) (2025-08-22)
87
188
 
88
-
89
189
  ### Features
90
190
 
91
- * **backend:** allow IPv6 in database fields for IP addresses ([757f2d1](https://github.com/Sync-in/server/commit/757f2d117865fa41c2cdf759b9f54477434dee79))
92
-
191
+ * **backend:** allow IPv6 in database fields for IP
192
+ addresses ([757f2d1](https://github.com/Sync-in/server/commit/757f2d117865fa41c2cdf759b9f54477434dee79))
93
193
 
94
194
  ### Bug Fixes
95
195
 
96
196
  * **backend:config:** do not lowercase env var values ([cb73ab0](https://github.com/Sync-in/server/commit/cb73ab0287346b58ae8f34ed985d891a9a5a6732))
97
- * **docker:nginx:** optionalize OnlyOffice proxying and avoid startup failure when container is absent ([2be107f](https://github.com/Sync-in/server/commit/2be107feda42ca8bb1edd1a9b99e3e62ff9dc234))
197
+ * **docker:nginx:** optionalize OnlyOffice proxying and avoid startup failure when container is
198
+ absent ([2be107f](https://github.com/Sync-in/server/commit/2be107feda42ca8bb1edd1a9b99e3e62ff9dc234))
98
199
 
99
200
  ## [1.3.8](https://github.com/Sync-in/server/compare/v1.3.7...v1.3.8) (2025-08-19)
100
201
 
101
-
102
202
  ### Bug Fixes
103
203
 
104
- * **frontend:assets:** replace symlinked SVGs with real files to fix Angular 20 build issues ([3749e44](https://github.com/Sync-in/server/commit/3749e4419ad4bce037297bd9872c0b585af6c73f))
105
-
204
+ * **frontend:assets:** replace symlinked SVGs with real files to fix Angular 20 build
205
+ issues ([3749e44](https://github.com/Sync-in/server/commit/3749e4419ad4bce037297bd9872c0b585af6c73f))
106
206
 
107
207
  ### Chores
108
208
 
@@ -112,19 +212,20 @@
112
212
 
113
213
  ## [1.3.7](https://github.com/Sync-in/server/compare/v1.3.2...v1.3.7) (2025-08-19)
114
214
 
115
-
116
215
  ### Bug Fixes
117
216
 
118
- * **backend:files:** correct archive name when downloading a folder ([1474949](https://github.com/Sync-in/server/commit/147494906e7a04f520195dfb747eb791daabfbc3))
119
- * **backend:sync:** avoid "parent must exist" error when files are moved before destination folder creation during sync ([8c92535](https://github.com/Sync-in/server/commit/8c9253551aa1d90c7fe340b81e5f9b48c82b6fdf))
120
-
217
+ * **backend:files:** correct archive name when downloading a
218
+ folder ([1474949](https://github.com/Sync-in/server/commit/147494906e7a04f520195dfb747eb791daabfbc3))
219
+ * **backend:sync:** avoid "parent must exist" error when files are moved before destination folder creation during
220
+ sync ([8c92535](https://github.com/Sync-in/server/commit/8c9253551aa1d90c7fe340b81e5f9b48c82b6fdf))
121
221
 
122
222
  ### Chores
123
223
 
124
224
  * **docker:** allow http2 in nginx directives ([4ad2ffb](https://github.com/Sync-in/server/commit/4ad2ffbfe12720af75aeac1d7ee7e383d73ad981))
125
225
  * **frontend:** add missing video-mp4 mime type ([d210268](https://github.com/Sync-in/server/commit/d210268bc8cb5a5e61e0bbc24f431915b509b32d))
126
226
  * **frontend:** bump to angular 20 ([363671a](https://github.com/Sync-in/server/commit/363671ac5e6ad6299477bf07f0bcffe1cff3e3f4))
127
- * **npm-sync-in-server.js:** more verbose createUser function ([1ea155a](https://github.com/Sync-in/server/commit/1ea155a23f092312cb234758c59002bbe01458b2))
227
+ * **npm-sync-in-server.js:** more verbose createUser
228
+ function ([1ea155a](https://github.com/Sync-in/server/commit/1ea155a23f092312cb234758c59002bbe01458b2))
128
229
  * **frontend:** update-angular-19-to-20 ([14f0397](https://github.com/Sync-in/server/commit/14f03973a77370f531bd1ed4c6c2052b76c15ea2))
129
230
  * **ci:** add Husky pre-commit hook for lint and test ([281e32d](https://github.com/Sync-in/server/commit/281e32df28e092b6ea0a57d94b6f8279ca67c4c1))
130
231
  * **ci:** remove husky prepare ([8e911ab](https://github.com/Sync-in/server/commit/8e911abf11e5a3265ea6afe30e26879452766a20))
@@ -135,23 +236,23 @@
135
236
 
136
237
  * **cli** add create-user command to manage user creation
137
238
 
138
-
139
239
  ## [1.3.1](https://github.com/Sync-in/server/compare/v1.3.0...v1.3.1) (2025-08-08)
140
240
 
141
-
142
241
  ### Bug Fixes
143
242
 
144
- * **backend:conf:** handle undefined logger.stdout in some environments ([08087ba](https://github.com/Sync-in/server/commit/08087bab675860d4c35041f9cd1752840df3cc7f))
243
+ * **backend:conf:** handle undefined logger.stdout in some
244
+ environments ([08087ba](https://github.com/Sync-in/server/commit/08087bab675860d4c35041f9cd1752840df3cc7f))
145
245
  * **backend:test:** log path ([eabf3d7](https://github.com/Sync-in/server/commit/eabf3d734721fbfd821489ac2bc83913c9afaf2e))
146
246
  * **backend:validation:** log file path ([0e8c695](https://github.com/Sync-in/server/commit/0e8c695437dae0e6000e213382e1f4c7d91aef93))
147
247
 
148
248
  ## [1.3.0](https://github.com/Sync-in/server/compare/v1.2.2...v1.3.0) (2025-08-08)
149
249
 
150
-
151
250
  ### Features
152
251
 
153
- * add support for npm distribution and server management CLI ([4a5f821](https://github.com/Sync-in/server/commit/4a5f8215d1caf6d7a3296f223a8ec90a20fe46e0))
154
- * **backend:** make log file path configurable via logger.filePath ([5ffac5a](https://github.com/Sync-in/server/commit/5ffac5a9f42e707da0c9f5d6fba73d6d6022b8fb))
252
+ * add support for npm distribution and server management
253
+ CLI ([4a5f821](https://github.com/Sync-in/server/commit/4a5f8215d1caf6d7a3296f223a8ec90a20fe46e0))
254
+ * **backend:** make log file path configurable via
255
+ logger.filePath ([5ffac5a](https://github.com/Sync-in/server/commit/5ffac5a9f42e707da0c9f5d6fba73d6d6022b8fb))
155
256
 
156
257
  ## [1.2.2](https://github.com/Sync-in/server/compare/v1.2.1...v1.2.2) (2025-08-04)
157
258
 
@@ -166,15 +267,20 @@
166
267
 
167
268
  ## [1.2.1](https://github.com/Sync-in/server/compare/v1.2.0...v1.2.1) (2025-08-02)
168
269
 
169
-
170
270
  ### Bug Fixes
171
271
 
172
- * **backend:files:** await lock creation to prevent premature destruction ([05f1a98](https://github.com/Sync-in/server/commit/05f1a98077eceb33fdc3b8312fc0884870c40a38))
173
- * **backend:files:** remove duplicate extension on compressed archives introduced by path-traversal security patch ([9deeafc](https://github.com/Sync-in/server/commit/9deeafcd2cacd6371e0e423416425511ae3e9ff7))
174
- * **backend:files:** restore folder upload regression after path-traversal patch ([3204fd0](https://github.com/Sync-in/server/commit/3204fd0524b87edd0a7450bb3d27315e5a390452))
175
- * **backend:users:** support client WebSocket IP from x-forwarded-for when trustProxy is enabled ([3e66c40](https://github.com/Sync-in/server/commit/3e66c40b6d0884b66b8f45c183ea0253903e4c16))
176
- * **docker:** use INIT_ADMIN env var to control admin account creation ([c6bb358](https://github.com/Sync-in/server/commit/c6bb3589e832bf46a492814bc05e2d8de2699435))
177
- * **frontend:files:** correct folder drag-and-drop for browsers without webkitRelativePath ([e0115ec](https://github.com/Sync-in/server/commit/e0115ec38805c1dfcd39ab7522c81549ec05bdd4))
272
+ * **backend:files:** await lock creation to prevent premature
273
+ destruction ([05f1a98](https://github.com/Sync-in/server/commit/05f1a98077eceb33fdc3b8312fc0884870c40a38))
274
+ * **backend:files:** remove duplicate extension on compressed archives introduced by path-traversal security
275
+ patch ([9deeafc](https://github.com/Sync-in/server/commit/9deeafcd2cacd6371e0e423416425511ae3e9ff7))
276
+ * **backend:files:** restore folder upload regression after path-traversal
277
+ patch ([3204fd0](https://github.com/Sync-in/server/commit/3204fd0524b87edd0a7450bb3d27315e5a390452))
278
+ * **backend:users:** support client WebSocket IP from x-forwarded-for when trustProxy is
279
+ enabled ([3e66c40](https://github.com/Sync-in/server/commit/3e66c40b6d0884b66b8f45c183ea0253903e4c16))
280
+ * **docker:** use INIT_ADMIN env var to control admin account
281
+ creation ([c6bb358](https://github.com/Sync-in/server/commit/c6bb3589e832bf46a492814bc05e2d8de2699435))
282
+ * **frontend:files:** correct folder drag-and-drop for browsers without
283
+ webkitRelativePath ([e0115ec](https://github.com/Sync-in/server/commit/e0115ec38805c1dfcd39ab7522c81549ec05bdd4))
178
284
 
179
285
  ## [1.2.0](https://github.com/Sync-in/server/compare/v1.1.1...v1.2.0) (2025-07-28)
180
286
 
@@ -3,9 +3,9 @@ server:
3
3
  host: 0.0.0.0
4
4
  # default port : `8080`
5
5
  port: 8080
6
- # workers: `auto` (use all cpus) | number
7
- # regardless of the value, starts with at least 2 workers, 1 worker is dedicated to scheduled tasks
8
- workers: 2
6
+ # workers: `auto` or `0` (use all cpus) | number of CPUs to use
7
+ # default: 1
8
+ workers: 1
9
9
  # trust proxy: number (trust the nth hop from the front-facing proxy server as the client) | `true` | `false` | `127.0.0.1,192.168.1.1/24`
10
10
  # default: 1
11
11
  trustProxy: 1
@@ -138,6 +138,9 @@ applications:
138
138
  dataPath: /home/sync-in
139
139
  # default: 5368709120 (5 GB)
140
140
  maxUploadSize: 5368709120
141
+ # Enable indexing of file contents for search (disabling this turns off full-text search)
142
+ # default: true
143
+ contentIndexing: true
141
144
  # Show files starting with a dot in the file explorer
142
145
  # default: false
143
146
  showHiddenFiles: false
@@ -0,0 +1,6 @@
1
+ ALTER TABLE `users` MODIFY COLUMN `language` varchar(10);--> statement-breakpoint
2
+ ALTER TABLE `users` ADD COLUMN IF NOT EXISTS `storageIndexing` boolean DEFAULT true NOT NULL;--> statement-breakpoint
3
+ ALTER TABLE `spaces` ADD COLUMN IF NOT EXISTS `storageIndexing` boolean DEFAULT true NOT NULL;--> statement-breakpoint
4
+ ALTER TABLE `shares` ADD COLUMN IF NOT EXISTS `storageUsage` bigint unsigned DEFAULT 0 NOT NULL;--> statement-breakpoint
5
+ ALTER TABLE `shares` ADD COLUMN IF NOT EXISTS `storageQuota` bigint unsigned;--> statement-breakpoint
6
+ ALTER TABLE `shares` ADD COLUMN IF NOT EXISTS `storageIndexing` boolean DEFAULT true NOT NULL;