@sync-in/server 1.6.1 → 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 (277) hide show
  1. package/CHANGELOG.md +169 -55
  2. package/environment/environment.dist.yaml +14 -5
  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 +17 -2
  139. package/server/authentication/auth.config.js.map +1 -1
  140. package/server/authentication/constants/auth-ldap.js +2 -1
  141. package/server/authentication/constants/auth-ldap.js.map +1 -1
  142. package/server/authentication/guards/auth-basic.strategy.js +4 -2
  143. package/server/authentication/guards/auth-basic.strategy.js.map +1 -1
  144. package/server/authentication/guards/auth-local.strategy.js +2 -0
  145. package/server/authentication/guards/auth-local.strategy.js.map +1 -1
  146. package/server/authentication/services/auth-methods/auth-method-ldap.service.js +75 -32
  147. package/server/authentication/services/auth-methods/auth-method-ldap.service.js.map +1 -1
  148. package/server/authentication/services/auth-methods/auth-method-ldap.service.spec.js +2 -1
  149. package/server/authentication/services/auth-methods/auth-method-ldap.service.spec.js.map +1 -1
  150. package/server/common/i18n.js +52 -0
  151. package/server/common/i18n.js.map +1 -0
  152. package/server/common/image.js +49 -33
  153. package/server/common/image.js.map +1 -1
  154. package/server/common/interfaces.js.map +1 -1
  155. package/server/common/shared.js +5 -2
  156. package/server/common/shared.js.map +1 -1
  157. package/server/configuration/config.validation.js +3 -3
  158. package/server/configuration/config.validation.js.map +1 -1
  159. package/server/infrastructure/cache/adapters/mysql-cache.adapter.js +8 -6
  160. package/server/infrastructure/cache/adapters/mysql-cache.adapter.js.map +1 -1
  161. package/server/infrastructure/cache/adapters/redis-cache.adapter.js +22 -17
  162. package/server/infrastructure/cache/adapters/redis-cache.adapter.js.map +1 -1
  163. package/server/infrastructure/cache/cache.e2e-spec.js +1 -0
  164. package/server/infrastructure/cache/cache.e2e-spec.js.map +1 -1
  165. package/server/infrastructure/cache/cache.module.js +1 -14
  166. package/server/infrastructure/cache/cache.module.js.map +1 -1
  167. package/server/infrastructure/cache/services/cache.service.js.map +1 -1
  168. package/server/infrastructure/database/database.module.js +20 -1
  169. package/server/infrastructure/database/database.module.js.map +1 -1
  170. package/server/infrastructure/database/utils.js +48 -0
  171. package/server/infrastructure/database/utils.js.map +1 -1
  172. package/server/infrastructure/scheduler/scheduler.module.js +1 -1
  173. package/server/infrastructure/scheduler/scheduler.module.js.map +1 -1
  174. package/server/infrastructure/websocket/adapters/cluster.adapter.js +1 -3
  175. package/server/infrastructure/websocket/adapters/cluster.adapter.js.map +1 -1
  176. package/static/3rdpartylicenses.txt +137 -137
  177. package/static/chunk-2KLC4T2Z.js +1 -0
  178. package/static/chunk-373XVRXW.js +1 -0
  179. package/static/chunk-3GMLWAFZ.js +1 -0
  180. package/static/chunk-3XVM35O2.js +1 -0
  181. package/static/chunk-3YVRP3VM.js +2 -0
  182. package/static/chunk-5NMSIIQB.js +1 -0
  183. package/static/chunk-AF24EYXU.js +1 -0
  184. package/static/chunk-AKQVEHO6.js +2 -0
  185. package/static/{chunk-LUWQFIWR.js → chunk-AY2SZ3G6.js} +1 -1
  186. package/static/chunk-BCVX464U.js +2 -0
  187. package/static/{chunk-IPAC4VAF.js → chunk-BIKLW4YS.js} +1 -1
  188. package/static/chunk-C36MW4ME.js +562 -0
  189. package/static/chunk-CHJ64RJM.js +1 -0
  190. package/static/chunk-DKSEQTMX.js +1 -0
  191. package/static/chunk-DM4NXKEP.js +1 -0
  192. package/static/chunk-DPUVSXRB.js +1 -0
  193. package/static/chunk-DSWEWLXJ.js +1 -0
  194. package/static/chunk-FJE6BOFL.js +1 -0
  195. package/static/chunk-FZ3JPGYZ.js +1 -0
  196. package/static/chunk-GUGNR5TF.js +3 -0
  197. package/static/chunk-H6NE33VX.js +1 -0
  198. package/static/{chunk-S75P2FFI.js → chunk-HAS5ZOTR.js} +1 -1
  199. package/static/chunk-HNQRZALS.js +1 -0
  200. package/static/chunk-JPT5WEAT.js +1 -0
  201. package/static/{chunk-ZQQPUYLU.js → chunk-JSWCNGXJ.js} +1 -1
  202. package/static/chunk-KFJIQIGR.js +1 -0
  203. package/static/chunk-LNTUR3GU.js +1 -0
  204. package/static/chunk-LVM4QB22.js +1 -0
  205. package/static/chunk-M3XVNQZQ.js +1 -0
  206. package/static/{chunk-AWQ2YTVC.js → chunk-MFLIJH6T.js} +1 -1
  207. package/static/{chunk-IQOALFYU.js → chunk-MSUHTBB2.js} +1 -1
  208. package/static/chunk-N3U6637P.js +1 -0
  209. package/static/chunk-NNV4OXSB.js +1 -0
  210. package/static/chunk-NO2LTNW3.js +1 -0
  211. package/static/chunk-OOGP4WSH.js +2 -0
  212. package/static/chunk-PB4AIT7O.js +1 -0
  213. package/static/chunk-PCWDQPOM.js +2 -0
  214. package/static/chunk-PGZZP5W3.js +1 -0
  215. package/static/chunk-PVDHBQRM.js +1 -0
  216. package/static/chunk-Q5KM7LTX.js +1 -0
  217. package/static/chunk-QHC6ZPQ4.js +1 -0
  218. package/static/chunk-QO6BTONN.js +1 -0
  219. package/static/chunk-QZU2S5CV.js +1 -0
  220. package/static/chunk-SBZ572Q4.js +2 -0
  221. package/static/chunk-SHIVUDP3.js +1 -0
  222. package/static/chunk-SLHTEGRU.js +1 -0
  223. package/static/{chunk-SH5EVL4E.js → chunk-SSFF27P2.js} +1 -1
  224. package/static/chunk-TPYBFZS5.js +1 -0
  225. package/static/chunk-UEQCWMXD.js +1 -0
  226. package/static/chunk-UG5DMXYO.js +1 -0
  227. package/static/chunk-UJPPR4MX.js +1 -0
  228. package/static/chunk-UNCPXHHT.js +1 -0
  229. package/static/chunk-URHTCJ7G.js +1 -0
  230. package/static/chunk-V3AT2BKP.js +1 -0
  231. package/static/chunk-VKK5BSLX.js +1 -0
  232. package/static/{chunk-7DN7ZAPU.js → chunk-VM4YX6Q7.js} +1 -1
  233. package/static/chunk-WJW7CT6G.js +27 -0
  234. package/static/{chunk-7ITZXYYJ.js → chunk-WLMNXRBS.js} +1 -1
  235. package/static/chunk-X5XGK6T7.js +4 -0
  236. package/static/chunk-YEKR5OPO.js +1 -0
  237. package/static/chunk-YW57T2PF.js +1 -0
  238. package/static/chunk-Z5J5F5SX.js +1 -0
  239. package/static/chunk-ZIJQRARU.js +1 -0
  240. package/static/chunk-ZPF2DSQV.js +1 -0
  241. package/static/chunk-ZTCRGJ6Y.js +7 -0
  242. package/static/index.html +2 -2
  243. package/static/main-VOL6OMJ5.js +9 -0
  244. package/static/scripts-WRDOQIU5.js +24 -0
  245. package/static/{styles-A5VYX3CE.css → styles-2C2UNCNB.css} +1 -1
  246. package/server/applications/spaces/interfaces/space-quota.interface.js +0 -10
  247. package/server/applications/spaces/interfaces/space-quota.interface.js.map +0 -1
  248. package/static/chunk-22EANI6R.js +0 -1
  249. package/static/chunk-27YQB3TE.js +0 -1
  250. package/static/chunk-2I4CUFUA.js +0 -1
  251. package/static/chunk-2MTM6SWN.js +0 -4
  252. package/static/chunk-34MKICK5.js +0 -27
  253. package/static/chunk-5O3DIUU3.js +0 -1
  254. package/static/chunk-6NMVZIIT.js +0 -1
  255. package/static/chunk-7FUM3JGM.js +0 -1
  256. package/static/chunk-7P27WBGC.js +0 -4
  257. package/static/chunk-ATP3BFHV.js +0 -562
  258. package/static/chunk-DSOE3FEP.js +0 -1
  259. package/static/chunk-EFKMBLRE.js +0 -1
  260. package/static/chunk-FUFKVHPU.js +0 -1
  261. package/static/chunk-HCDLWTMW.js +0 -7
  262. package/static/chunk-JASU3CIH.js +0 -1
  263. package/static/chunk-JQ5FTO2M.js +0 -1
  264. package/static/chunk-JUNZFADM.js +0 -1
  265. package/static/chunk-JXZCNFW7.js +0 -1
  266. package/static/chunk-LJUKI4SQ.js +0 -1
  267. package/static/chunk-ORMRCEGT.js +0 -1
  268. package/static/chunk-Q7D6RN4N.js +0 -1
  269. package/static/chunk-QJX6ITLW.js +0 -1
  270. package/static/chunk-QQ6UQQBR.js +0 -1
  271. package/static/chunk-RTRJ3KFH.js +0 -1
  272. package/static/chunk-S2HDY3OL.js +0 -1
  273. package/static/chunk-T3EYFSVZ.js +0 -1
  274. package/static/chunk-U34OZUZ7.js +0 -1
  275. package/static/chunk-Y7EH7G5K.js +0 -1
  276. package/static/main-7SQDDVMD.js +0 -9
  277. package/static/scripts-VZVAP2P4.js +0 -30
package/CHANGELOG.md CHANGED
@@ -1,11 +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.6.1](https://github.com/Sync-in/server/compare/v1.6.0...v1.6.1) (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**.
12
+
13
+ ➡️ [More details](https://sync-in.com/news/sync-in-server-1-8)
14
+
15
+ ### Features
16
+
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))
53
+
54
+ ### Bug Fixes
3
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)
4
99
 
5
100
  ### Bug Fixes
6
101
 
7
- * **backend:auth:** improve AD/LDAP authentication handling and normalization ([db1a9e3](https://github.com/Sync-in/server/commit/db1a9e3d4a02c6be5ef594b4a383e05d0bc50fc4))
8
- * **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))
9
106
 
10
107
  ## [1.6.0](https://github.com/Sync-in/server/compare/v1.5.2...v1.6.0) (2025-09-26)
11
108
 
@@ -13,88 +110,99 @@
13
110
 
14
111
  ### Features
15
112
 
16
- * **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))
17
- * **backend:sync:** handle 2FA during client registration ([b0aadde](https://github.com/Sync-in/server/commit/b0aadde6323ffc9a61f43ea424b7cff8922f718d))
18
- * **backend:auth:** add support for AD-specific LDAP attributes ([1b6a8fc](https://github.com/Sync-in/server/commit/1b6a8fc139db54a71a4aaa5cba7715d349ffef0f))
19
- * **backend:infrastructure:** allow configuration of ignoreTLS and rejectUnauthorized for SMTP transport ([c1b3f5a](https://github.com/Sync-in/server/commit/c1b3f5a810e2cdc6977b48022f491e602b70ee9f))
20
- * **backend:notifications:** add email notifications for two-factor authentication security events ([b207f33](https://github.com/Sync-in/server/commit/b207f336c2dc75deec7992975b7aa1376289ee42))
21
- * **backend:notifications:** include link password in sent emails ([1a3ed0a](https://github.com/Sync-in/server/commit/1a3ed0a7624c16986ced259d8e272eaa2872c8a8))
22
- * **backend:users:** add email notifications when account is locked ([954bb10](https://github.com/Sync-in/server/commit/954bb1061e6399768aad13d9822491975a843b9b))
23
-
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))
24
127
 
25
128
  ### Bug Fixes
26
129
 
27
130
  * **backend:auth:** improve handling of sql errors ([f4b78fa](https://github.com/Sync-in/server/commit/f4b78fa2779d2fea01d7dd554d861cb6272b594e))
28
- * **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))
29
133
 
30
134
  ## [1.5.2](https://github.com/Sync-in/server/compare/v1.5.1...v1.5.2) (2025-09-09)
31
135
 
32
-
33
136
  ### Bug Fixes
34
137
 
35
- * 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))
36
140
 
37
141
  ## [1.5.1](https://github.com/Sync-in/server/compare/v1.5.0...v1.5.1) (2025-09-07)
38
142
 
39
-
40
143
  ### Bug Fixes
41
144
 
42
145
  * **docker:** fix /app ownership for .init file ([e43f478](https://github.com/Sync-in/server/commit/e43f47873768fa24ba2e66bc1bbd90214bde5ca1))
43
146
 
44
147
  ## [1.5.0](https://github.com/Sync-in/server/compare/v1.4.0...v1.5.0) (2025-09-07)
45
148
 
46
-
47
149
  ### Features
48
150
 
49
- * **files:** optimize document opening to avoid extra API calls ([bf57d93](https://github.com/Sync-in/server/commit/bf57d93dcaea312328db9f1f5290e46471d2f638))
50
- * **frontend:files:** display count for multiple selected files and open sidebar pasteboard when adding files ([39feccd](https://github.com/Sync-in/server/commit/39feccd3d89f29cdc4effb2bb4c016c7c1258729))
51
- * **frontend:spaces:** enable keyboard navigation when files are selected in list mode ([7e38ce2](https://github.com/Sync-in/server/commit/7e38ce29fbfe11b84ccd7824aea1e43ae46e0d0f))
52
-
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))
53
157
 
54
158
  ### Bug Fixes
55
159
 
56
- * **backend:links:** increment nbAccess even when no limit is set ([d6d2e74](https://github.com/Sync-in/server/commit/d6d2e7425c16510ee9e15107a02f21d2038be89f))
57
- * **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))
58
164
 
59
165
  ### Performance
60
- * **docker:** only change application data ownership ([6e88991](https://github.com/Sync-in/server/commit/6e889915fedf613030e43919e637d7888aea94a1))
61
166
 
167
+ * **docker:** only change application data ownership ([6e88991](https://github.com/Sync-in/server/commit/6e889915fedf613030e43919e637d7888aea94a1))
62
168
 
63
169
  ## [1.4.0](https://github.com/Sync-in/server/compare/v1.3.9...v1.4.0) (2025-08-26)
64
170
 
65
-
66
171
  ### Features
67
172
 
68
- * **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))
69
- * **backend:files:** add showHiddenFiles option to toggle visibility of dotfiles ([ed47fbf](https://github.com/Sync-in/server/commit/ed47fbf3fe7fe5b66868489c319d3c438fde0dbf))
70
- * **backend:files:** allow markdown files to be edited with onlyOffice ([c3d9d85](https://github.com/Sync-in/server/commit/c3d9d85d3f1dc90f4afae8db8ce9d128c8ecadf2))
71
- * **frontend:spaces:** open documents in edit mode on double-click ([d6ef175](https://github.com/Sync-in/server/commit/d6ef175d951b4e11ce78d280e4982e3ed8a4bb3f))
72
-
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))
73
181
 
74
182
  ### Bug Fixes
75
183
 
76
- * **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))
77
186
 
78
187
  ## [1.3.9](https://github.com/Sync-in/server/compare/v1.3.8...v1.3.9) (2025-08-22)
79
188
 
80
-
81
189
  ### Features
82
190
 
83
- * **backend:** allow IPv6 in database fields for IP addresses ([757f2d1](https://github.com/Sync-in/server/commit/757f2d117865fa41c2cdf759b9f54477434dee79))
84
-
191
+ * **backend:** allow IPv6 in database fields for IP
192
+ addresses ([757f2d1](https://github.com/Sync-in/server/commit/757f2d117865fa41c2cdf759b9f54477434dee79))
85
193
 
86
194
  ### Bug Fixes
87
195
 
88
196
  * **backend:config:** do not lowercase env var values ([cb73ab0](https://github.com/Sync-in/server/commit/cb73ab0287346b58ae8f34ed985d891a9a5a6732))
89
- * **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))
90
199
 
91
200
  ## [1.3.8](https://github.com/Sync-in/server/compare/v1.3.7...v1.3.8) (2025-08-19)
92
201
 
93
-
94
202
  ### Bug Fixes
95
203
 
96
- * **frontend:assets:** replace symlinked SVGs with real files to fix Angular 20 build issues ([3749e44](https://github.com/Sync-in/server/commit/3749e4419ad4bce037297bd9872c0b585af6c73f))
97
-
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))
98
206
 
99
207
  ### Chores
100
208
 
@@ -104,19 +212,20 @@
104
212
 
105
213
  ## [1.3.7](https://github.com/Sync-in/server/compare/v1.3.2...v1.3.7) (2025-08-19)
106
214
 
107
-
108
215
  ### Bug Fixes
109
216
 
110
- * **backend:files:** correct archive name when downloading a folder ([1474949](https://github.com/Sync-in/server/commit/147494906e7a04f520195dfb747eb791daabfbc3))
111
- * **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))
112
-
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))
113
221
 
114
222
  ### Chores
115
223
 
116
224
  * **docker:** allow http2 in nginx directives ([4ad2ffb](https://github.com/Sync-in/server/commit/4ad2ffbfe12720af75aeac1d7ee7e383d73ad981))
117
225
  * **frontend:** add missing video-mp4 mime type ([d210268](https://github.com/Sync-in/server/commit/d210268bc8cb5a5e61e0bbc24f431915b509b32d))
118
226
  * **frontend:** bump to angular 20 ([363671a](https://github.com/Sync-in/server/commit/363671ac5e6ad6299477bf07f0bcffe1cff3e3f4))
119
- * **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))
120
229
  * **frontend:** update-angular-19-to-20 ([14f0397](https://github.com/Sync-in/server/commit/14f03973a77370f531bd1ed4c6c2052b76c15ea2))
121
230
  * **ci:** add Husky pre-commit hook for lint and test ([281e32d](https://github.com/Sync-in/server/commit/281e32df28e092b6ea0a57d94b6f8279ca67c4c1))
122
231
  * **ci:** remove husky prepare ([8e911ab](https://github.com/Sync-in/server/commit/8e911abf11e5a3265ea6afe30e26879452766a20))
@@ -127,23 +236,23 @@
127
236
 
128
237
  * **cli** add create-user command to manage user creation
129
238
 
130
-
131
239
  ## [1.3.1](https://github.com/Sync-in/server/compare/v1.3.0...v1.3.1) (2025-08-08)
132
240
 
133
-
134
241
  ### Bug Fixes
135
242
 
136
- * **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))
137
245
  * **backend:test:** log path ([eabf3d7](https://github.com/Sync-in/server/commit/eabf3d734721fbfd821489ac2bc83913c9afaf2e))
138
246
  * **backend:validation:** log file path ([0e8c695](https://github.com/Sync-in/server/commit/0e8c695437dae0e6000e213382e1f4c7d91aef93))
139
247
 
140
248
  ## [1.3.0](https://github.com/Sync-in/server/compare/v1.2.2...v1.3.0) (2025-08-08)
141
249
 
142
-
143
250
  ### Features
144
251
 
145
- * add support for npm distribution and server management CLI ([4a5f821](https://github.com/Sync-in/server/commit/4a5f8215d1caf6d7a3296f223a8ec90a20fe46e0))
146
- * **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))
147
256
 
148
257
  ## [1.2.2](https://github.com/Sync-in/server/compare/v1.2.1...v1.2.2) (2025-08-04)
149
258
 
@@ -158,15 +267,20 @@
158
267
 
159
268
  ## [1.2.1](https://github.com/Sync-in/server/compare/v1.2.0...v1.2.1) (2025-08-02)
160
269
 
161
-
162
270
  ### Bug Fixes
163
271
 
164
- * **backend:files:** await lock creation to prevent premature destruction ([05f1a98](https://github.com/Sync-in/server/commit/05f1a98077eceb33fdc3b8312fc0884870c40a38))
165
- * **backend:files:** remove duplicate extension on compressed archives introduced by path-traversal security patch ([9deeafc](https://github.com/Sync-in/server/commit/9deeafcd2cacd6371e0e423416425511ae3e9ff7))
166
- * **backend:files:** restore folder upload regression after path-traversal patch ([3204fd0](https://github.com/Sync-in/server/commit/3204fd0524b87edd0a7450bb3d27315e5a390452))
167
- * **backend:users:** support client WebSocket IP from x-forwarded-for when trustProxy is enabled ([3e66c40](https://github.com/Sync-in/server/commit/3e66c40b6d0884b66b8f45c183ea0253903e4c16))
168
- * **docker:** use INIT_ADMIN env var to control admin account creation ([c6bb358](https://github.com/Sync-in/server/commit/c6bb3589e832bf46a492814bc05e2d8de2699435))
169
- * **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))
170
284
 
171
285
  ## [1.2.0](https://github.com/Sync-in/server/compare/v1.1.1...v1.2.0) (2025-07-28)
172
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
@@ -115,23 +115,32 @@ auth:
115
115
  ldap:
116
116
  # e.g: [ldap://localhost:389, ldaps://localhost:636] (array required)
117
117
  servers: []
118
- # baseDN: distinguished name ( e.g.ou=people,dc=ldap,dc=sync-in,dc=com)
118
+ # baseDN: distinguished name (e.g., ou=people,dc=ldap,dc=sync-in,dc=com)
119
119
  baseDN:
120
120
  # filter, e.g: (acl=admin)
121
121
  filter:
122
122
  attributes:
123
- # login attribute: `uid` | `sAMAccountName` | `userPrincipalName`
123
+ # login attribute: `uid` | `sAMAccountName` | `userPrincipalName`, used to authenticate the user
124
124
  # default: `uid`
125
125
  login: uid
126
126
  # email attribute: `mail` or `email`
127
127
  # default: `mail`
128
128
  email: mail
129
+ # adminGroup: The CN of a group containing Sync-in administrators (e.g., administrators)
130
+ adminGroup:
131
+ # upnSuffix: AD domain suffix used with `userPrincipalName` to build UPN-style logins (e.g., user@`sync-in.com`)
132
+ upnSuffix:
133
+ # netbiosName: NetBIOS domain name used with `sAMAccountName` to build legacy logins (e.g., `SYNC_IN`\user)
134
+ netbiosName:
129
135
  applications:
130
136
  files:
131
137
  # required
132
138
  dataPath: /home/sync-in
133
139
  # default: 5368709120 (5 GB)
134
140
  maxUploadSize: 5368709120
141
+ # Enable indexing of file contents for search (disabling this turns off full-text search)
142
+ # default: true
143
+ contentIndexing: true
135
144
  # Show files starting with a dot in the file explorer
136
145
  # default: false
137
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;