lino-react 26.7.3__tar.gz → 26.7.4__tar.gz

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 (555) hide show
  1. {lino_react-26.7.3 → lino_react-26.7.4}/.gitlab-ci.yml +38 -24
  2. {lino_react-26.7.3 → lino_react-26.7.4}/PKG-INFO +1 -1
  3. lino_react-26.7.4/ci/cleanup_releases.mjs +150 -0
  4. lino_react-26.7.4/ci/create_release.mjs +171 -0
  5. lino_react-26.7.4/ci/inject_desktopName.mjs +16 -0
  6. lino_react-26.7.4/ci/sanitize_filenames.mjs +112 -0
  7. lino_react-26.7.4/ci/upload_latest.mjs +113 -0
  8. lino_react-26.7.4/ci/upload_packages.mjs +127 -0
  9. {lino_react-26.7.3 → lino_react-26.7.4}/electron/main.mjs +49 -35
  10. {lino_react-26.7.3 → lino_react-26.7.4}/electron/preBuild.mjs +9 -1
  11. {lino_react-26.7.3 → lino_react-26.7.4}/electron-builder.js +26 -17
  12. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/__init__.py +1 -1
  13. {lino_react-26.7.3 → lino_react-26.7.4}/package.json +3 -2
  14. lino_react-26.7.4/write_electron_latest_meta.py +33 -0
  15. {lino_react-26.7.3 → lino_react-26.7.4}/.coveragerc +0 -0
  16. {lino_react-26.7.3 → lino_react-26.7.4}/.gitignore +0 -0
  17. {lino_react-26.7.3 → lino_react-26.7.4}/.travis.yml +0 -0
  18. {lino_react-26.7.3 → lino_react-26.7.4}/CHANGELOG.rst +0 -0
  19. {lino_react-26.7.3 → lino_react-26.7.4}/CONTRIBUTING.rst +0 -0
  20. {lino_react-26.7.3 → lino_react-26.7.4}/COPYING +0 -0
  21. {lino_react-26.7.3 → lino_react-26.7.4}/CSSStub.mjs +0 -0
  22. {lino_react-26.7.3 → lino_react-26.7.4}/MANIFEST.in +0 -0
  23. {lino_react-26.7.3 → lino_react-26.7.4}/README.rst +0 -0
  24. {lino_react-26.7.3 → lino_react-26.7.4}/RTL_NETWORK_TESTING.md +0 -0
  25. {lino_react-26.7.3 → lino_react-26.7.4}/babel.config.mjs +0 -0
  26. {lino_react-26.7.3 → lino_react-26.7.4}/build.sh +0 -0
  27. {lino_react-26.7.3 → lino_react-26.7.4}/cypress.json +0 -0
  28. {lino_react-26.7.3 → lino_react-26.7.4}/dev-app-update.yml +0 -0
  29. {lino_react-26.7.3 → lino_react-26.7.4}/docs/.templates/layout.html +0 -0
  30. {lino_react-26.7.3 → lino_react-26.7.4}/docs/.templates/links.html +0 -0
  31. {lino_react-26.7.3 → lino_react-26.7.4}/docs/.templates/page.html +0 -0
  32. {lino_react-26.7.3 → lino_react-26.7.4}/docs/about/index.rst +0 -0
  33. {lino_react-26.7.3 → lino_react-26.7.4}/docs/about/noi-robin-extjs.png +0 -0
  34. {lino_react-26.7.3 → lino_react-26.7.4}/docs/about/noi-robin-react.png +0 -0
  35. {lino_react-26.7.3 → lino_react-26.7.4}/docs/changes/0.0.0.rst +0 -0
  36. {lino_react-26.7.3 → lino_react-26.7.4}/docs/changes/0.1.0.rst +0 -0
  37. {lino_react-26.7.3 → lino_react-26.7.4}/docs/changes/2020.rst +0 -0
  38. {lino_react-26.7.3 → lino_react-26.7.4}/docs/changes/index.rst +0 -0
  39. {lino_react-26.7.3 → lino_react-26.7.4}/docs/conf.py +0 -0
  40. {lino_react-26.7.3 → lino_react-26.7.4}/docs/dev/App.rst +0 -0
  41. {lino_react-26.7.3 → lino_react-26.7.4}/docs/dev/Base.rst +0 -0
  42. {lino_react-26.7.3 → lino_react-26.7.4}/docs/dev/NavigationControl.rst +0 -0
  43. {lino_react-26.7.3 → lino_react-26.7.4}/docs/dev/index.rst +0 -0
  44. {lino_react-26.7.3 → lino_react-26.7.4}/docs/dev/py.rst +0 -0
  45. {lino_react-26.7.3 → lino_react-26.7.4}/docs/guide/build.rst +0 -0
  46. {lino_react-26.7.3 → lino_react-26.7.4}/docs/guide/i18n.rst +0 -0
  47. {lino_react-26.7.3 → lino_react-26.7.4}/docs/guide/index.rst +0 -0
  48. {lino_react-26.7.3 → lino_react-26.7.4}/docs/guide/npm.rst +0 -0
  49. {lino_react-26.7.3 → lino_react-26.7.4}/docs/guide/test.rst +0 -0
  50. {lino_react-26.7.3 → lino_react-26.7.4}/docs/index.rst +0 -0
  51. {lino_react-26.7.3 → lino_react-26.7.4}/docs/typedoc.conf.json +0 -0
  52. {lino_react-26.7.3 → lino_react-26.7.4}/electron/README.md +0 -0
  53. {lino_react-26.7.3 → lino_react-26.7.4}/electron/build/icons/1024x1024.png +0 -0
  54. {lino_react-26.7.3 → lino_react-26.7.4}/electron/build/icons/128x128.png +0 -0
  55. {lino_react-26.7.3 → lino_react-26.7.4}/electron/build/icons/16x16.png +0 -0
  56. {lino_react-26.7.3 → lino_react-26.7.4}/electron/build/icons/24x24.png +0 -0
  57. {lino_react-26.7.3 → lino_react-26.7.4}/electron/build/icons/256x256.png +0 -0
  58. {lino_react-26.7.3 → lino_react-26.7.4}/electron/build/icons/32x32.png +0 -0
  59. {lino_react-26.7.3 → lino_react-26.7.4}/electron/build/icons/48x48.png +0 -0
  60. {lino_react-26.7.3 → lino_react-26.7.4}/electron/build/icons/512x512.png +0 -0
  61. {lino_react-26.7.3 → lino_react-26.7.4}/electron/build/icons/64x64.png +0 -0
  62. {lino_react-26.7.3 → lino_react-26.7.4}/electron/build/icons/icon.icns +0 -0
  63. {lino_react-26.7.3 → lino_react-26.7.4}/electron/build/icons/icon.ico +0 -0
  64. {lino_react-26.7.3 → lino_react-26.7.4}/electron/build-config.json +0 -0
  65. {lino_react-26.7.3 → lino_react-26.7.4}/electron/menu.mjs +0 -0
  66. {lino_react-26.7.3 → lino_react-26.7.4}/electron/postBuild.mjs +0 -0
  67. {lino_react-26.7.3 → lino_react-26.7.4}/electron/preload.cjs +0 -0
  68. {lino_react-26.7.3 → lino_react-26.7.4}/electron/printer-config-dialog.html +0 -0
  69. {lino_react-26.7.3 → lino_react-26.7.4}/electron/printing.mjs +0 -0
  70. {lino_react-26.7.3 → lino_react-26.7.4}/electron/updateProvider.mjs +0 -0
  71. {lino_react-26.7.3 → lino_react-26.7.4}/electronConfig/app-update.yml +0 -0
  72. {lino_react-26.7.3 → lino_react-26.7.4}/electronConfig/default-config.json +0 -0
  73. {lino_react-26.7.3 → lino_react-26.7.4}/electronConfig/desktop.template +0 -0
  74. {lino_react-26.7.3 → lino_react-26.7.4}/electronConfig/master_icon.png +0 -0
  75. {lino_react-26.7.3 → lino_react-26.7.4}/eslint.config.mts +0 -0
  76. {lino_react-26.7.3 → lino_react-26.7.4}/forge.config.mjs +0 -0
  77. {lino_react-26.7.3 → lino_react-26.7.4}/jest-puppeteer.config.mjs +0 -0
  78. {lino_react-26.7.3 → lino_react-26.7.4}/jest.config.ts +0 -0
  79. {lino_react-26.7.3 → lino_react-26.7.4}/jest_puppeteer_test.sh +0 -0
  80. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/projects/__init__.py +0 -0
  81. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/projects/avanti/__init__.py +0 -0
  82. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/projects/avanti/manage.py +0 -0
  83. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/projects/avanti/settings.py +0 -0
  84. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/projects/noi/__init__.py +0 -0
  85. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/projects/noi/manage.py +0 -0
  86. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/projects/noi/settings.py +0 -0
  87. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/__init__.py +0 -0
  88. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/ActionHandler.tsx +0 -0
  89. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/App.css +0 -0
  90. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/App.jsx +0 -0
  91. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/AppCSS.js +0 -0
  92. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/AppInlineProfile.jsx +0 -0
  93. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/AppMenu.css +0 -0
  94. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/AppMenu.jsx +0 -0
  95. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/AppTopBar.css +0 -0
  96. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/AppTopbar.jsx +0 -0
  97. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/AutoComplete.tsx +0 -0
  98. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/Base.ts +0 -0
  99. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/DashboardItems.jsx +0 -0
  100. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/DataProvider.jsx +0 -0
  101. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/ForeignKeyElement.jsx +0 -0
  102. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/GridElement.css +0 -0
  103. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/GridElement.jsx +0 -0
  104. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoBbar.css +0 -0
  105. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoBbar.jsx +0 -0
  106. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoBody.css +0 -0
  107. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoBody.jsx +0 -0
  108. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoChatter/ConversationList.css +0 -0
  109. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoChatter/ConversationListItem.css +0 -0
  110. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoChatter/Conversations.css +0 -0
  111. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoChatter/GroupChatChooser.js +0 -0
  112. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoChatter/LinoChats.js +0 -0
  113. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoChatter/LinoChatter.js +0 -0
  114. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoChatter/Messenger.css +0 -0
  115. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoCodex.css +0 -0
  116. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoCodex.tsx +0 -0
  117. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoComponentUtils.jsx +0 -0
  118. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoComponents.css +0 -0
  119. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoComponents.jsx +0 -0
  120. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoDataView.css +0 -0
  121. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoDataView.jsx +0 -0
  122. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoDetail.jsx +0 -0
  123. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoDialog.jsx +0 -0
  124. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoEditor.jsx +0 -0
  125. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoExposedAPI.tsx +0 -0
  126. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoPaginator.jsx +0 -0
  127. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoParamsPanel.jsx +0 -0
  128. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoToolbar.css +0 -0
  129. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoToolbar.jsx +0 -0
  130. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoUtils.js +0 -0
  131. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LinoWebCam.tsx +0 -0
  132. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/LoadingMask.jsx +0 -0
  133. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/NavigationControl.js +0 -0
  134. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/SiteContext.jsx +0 -0
  135. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/TextFieldElement.css +0 -0
  136. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/TextFieldElement.jsx +0 -0
  137. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/ToolbarComponents.tsx +0 -0
  138. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/__tests__/README.rst +0 -0
  139. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/__tests__/avanti/URLContext.ts +0 -0
  140. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/__tests__/noi/URLContext.ts +0 -0
  141. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/__tests__/noi/actionHandler.tsx +0 -0
  142. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/__tests__/noi/appLinkTopbar.tsx +0 -0
  143. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/__tests__/noi/cloneUI.ts +0 -0
  144. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/__tests__/noi/functional.tsx +0 -0
  145. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/__tests__/noi/paramChanges.ts +0 -0
  146. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/__tests__/noi/quill.tsx +0 -0
  147. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/constants.js +0 -0
  148. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/custom-service-worker.js +0 -0
  149. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/custom_hooks.js +0 -0
  150. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/datetime.jsx +0 -0
  151. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/i18n.js +0 -0
  152. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/index.html +0 -0
  153. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/layout/layout.css +0 -0
  154. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/layout/layout.scss +0 -0
  155. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/layout/sass/_calander.scss +0 -0
  156. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/layout/sass/_dashboard.scss +0 -0
  157. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/layout/sass/_editor.scss +0 -0
  158. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/layout/sass/_layout.scss +0 -0
  159. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/layout/sass/_main.scss +0 -0
  160. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/layout/sass/_mixins.scss +0 -0
  161. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/layout/sass/_splash.scss +0 -0
  162. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/layout/sass/_utils.scss +0 -0
  163. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/preprocessors.tsx +0 -0
  164. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/quillmodules.css +0 -0
  165. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/quillmodules.tsx +0 -0
  166. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/components/types.ts +0 -0
  167. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/config/react/linoweb.json +0 -0
  168. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/config/react/main.html +0 -0
  169. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/config/react/service-worker.js +0 -0
  170. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/config/react/service-worker.js.LICENSE.txt +0 -0
  171. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/config/react/service-worker.js.map +0 -0
  172. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/icons.py +0 -0
  173. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/index.js +0 -0
  174. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/locale/bn/LC_MESSAGES/django.mo +0 -0
  175. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/locale/bn/LC_MESSAGES/django.po +0 -0
  176. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/locale/de/LC_MESSAGES/django.mo +0 -0
  177. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/locale/de/LC_MESSAGES/django.po +0 -0
  178. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/locale/django.pot +0 -0
  179. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/locale/et/LC_MESSAGES/django.po +0 -0
  180. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/locale/fr/LC_MESSAGES/django.po +0 -0
  181. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/models.py +0 -0
  182. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/renderer.py +0 -0
  183. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/sphinxconf.py +0 -0
  184. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/024b32cc7bf399b1a847.woff2 +0 -0
  185. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/8931fda1930c3bd21e96.woff +0 -0
  186. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/a5c2a53d1ff7a9ff5933.ttf +0 -0
  187. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/af84cba1cef5b79f2489.svg +0 -0
  188. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/ff0c4cd79b2ffca2de54.eot +0 -0
  189. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/locales/bn/translation.json +0 -0
  190. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/locales/de/translation.json +0 -0
  191. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/locales/en/translation.json +0 -0
  192. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/locales/et/translation.json +0 -0
  193. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/locales/fr/translation.json +0 -0
  194. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.1a0be10407f74d6f08b7.js +0 -0
  195. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.1a0be10407f74d6f08b7.js.LICENSE.txt +0 -0
  196. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.1a0be10407f74d6f08b7.js.map +0 -0
  197. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.2395.f838f1a7ee4b1f6b77f5.js +0 -0
  198. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.2395.f838f1a7ee4b1f6b77f5.js.map +0 -0
  199. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.2544.dbb45af480b8f8906159.js +0 -0
  200. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.2544.dbb45af480b8f8906159.js.map +0 -0
  201. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.2555.f25b73feb4f6c334d0e7.js +0 -0
  202. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.2555.f25b73feb4f6c334d0e7.js.LICENSE.txt +0 -0
  203. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.2555.f25b73feb4f6c334d0e7.js.map +0 -0
  204. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.2663.2f15a73349351ccef6be.js +0 -0
  205. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.2663.2f15a73349351ccef6be.js.LICENSE.txt +0 -0
  206. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.2663.2f15a73349351ccef6be.js.map +0 -0
  207. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.2756.6aa9457cf38f63587803.js +0 -0
  208. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.2756.6aa9457cf38f63587803.js.map +0 -0
  209. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.6799.8109de3c00c8e40536a2.js +0 -0
  210. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.6799.8109de3c00c8e40536a2.js.map +0 -0
  211. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.6836.369bdfc75b736d74d1a0.js +0 -0
  212. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.6836.369bdfc75b736d74d1a0.js.map +0 -0
  213. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.7135.58c18e294262eb3b7f7f.js +0 -0
  214. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.7135.58c18e294262eb3b7f7f.js.map +0 -0
  215. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.8605.899b7207aac937369ad1.js +0 -0
  216. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.8605.899b7207aac937369ad1.js.map +0 -0
  217. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.9685.3752a6b84a3e5c918d21.js +0 -0
  218. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.9685.3752a6b84a3e5c918d21.js.map +0 -0
  219. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.9897.a0640325f2389539ef52.js +0 -0
  220. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.9897.a0640325f2389539ef52.js.map +0 -0
  221. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.AppCSS.cc97d4341387686c1205.js +0 -0
  222. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.AppCSS.cc97d4341387686c1205.js.map +0 -0
  223. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.AutoComplete_LinoToolbar.a304a0cd5e8894f8caa2.js +0 -0
  224. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.AutoComplete_LinoToolbar.a304a0cd5e8894f8caa2.js.map +0 -0
  225. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.DashboardItems_SiteContext.6878bf9ee8e56b5b2f8f.js +0 -0
  226. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.DashboardItems_SiteContext.6878bf9ee8e56b5b2f8f.js.map +0 -0
  227. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.LinoBbar_LinoDialog.0a5028dfc02ad1ae0f4e.js +0 -0
  228. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.LinoBbar_LinoDialog.0a5028dfc02ad1ae0f4e.js.map +0 -0
  229. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.LinoBody_SiteContext.b94bf3d4dccbe52a5ddd.js +0 -0
  230. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.LinoBody_SiteContext.b94bf3d4dccbe52a5ddd.js.map +0 -0
  231. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.LinoComponents_LinoDetail.ff5cb0078720fa8b0471.js +0 -0
  232. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.LinoComponents_LinoDetail.ff5cb0078720fa8b0471.js.map +0 -0
  233. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.LinoEditor_LinoBody.0ec34afcafd1df2fafef.js +0 -0
  234. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.LinoEditor_LinoBody.0ec34afcafd1df2fafef.js.map +0 -0
  235. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.LinoParamsPanel_LinoComponents.f1823bc3fcdad8c3632c.js +0 -0
  236. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.LinoParamsPanel_LinoComponents.f1823bc3fcdad8c3632c.js.map +0 -0
  237. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.LinoToolbar_LinoComponents.776d8bf132e44e700055.js +0 -0
  238. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.LinoToolbar_LinoComponents.776d8bf132e44e700055.js.map +0 -0
  239. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.LinoUtils_LinoBody.5d6cee1b53d0e00362af.js +0 -0
  240. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.LinoUtils_LinoBody.5d6cee1b53d0e00362af.js.map +0 -0
  241. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.LinoWebCam_LinoDialog.e845fb75256ee63e9c00.js +0 -0
  242. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.LinoWebCam_LinoDialog.e845fb75256ee63e9c00.js.map +0 -0
  243. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.NavigationControl_App.9a01deccaa2a720551cc.js +0 -0
  244. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.NavigationControl_App.9a01deccaa2a720551cc.js.map +0 -0
  245. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.NavigationControl_SiteContext.9ef2e83681c76e875a2e.js +0 -0
  246. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.NavigationControl_SiteContext.9ef2e83681c76e875a2e.js.map +0 -0
  247. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.SiteContext_App.0c6a736adf33d155af84.js +0 -0
  248. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.SiteContext_App.0c6a736adf33d155af84.js.map +0 -0
  249. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.SiteContext_LinoComponentUtils.cb88929333d4914380e1.js +0 -0
  250. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.SiteContext_LinoComponentUtils.cb88929333d4914380e1.js.map +0 -0
  251. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.ToolbarComponents_LinoComponents.5c16e456c112cc7586b9.js +0 -0
  252. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.ToolbarComponents_LinoComponents.5c16e456c112cc7586b9.js.map +0 -0
  253. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.datetime_GridElement.106875e6e31724ec8d67.js +0 -0
  254. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.datetime_GridElement.106875e6e31724ec8d67.js.map +0 -0
  255. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.i18n_App.ed24d930d1ece95cdd4e.js +0 -0
  256. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.i18n_App.ed24d930d1ece95cdd4e.js.map +0 -0
  257. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.lodash_LinoBbar.cb0d57bd9fd5e9eb6325.js +0 -0
  258. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.lodash_LinoBbar.cb0d57bd9fd5e9eb6325.js.LICENSE.txt +0 -0
  259. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.lodash_LinoBbar.cb0d57bd9fd5e9eb6325.js.map +0 -0
  260. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prAPI_App.c91a0b7ea7c3556e7727.js +0 -0
  261. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prAPI_App.c91a0b7ea7c3556e7727.js.map +0 -0
  262. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prAppRequire.d3e88b254e602ecd4c7c.js +0 -0
  263. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prAppRequire.d3e88b254e602ecd4c7c.js.map +0 -0
  264. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prButton_App.58643901f6b8782c8ea0.js +0 -0
  265. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prButton_App.58643901f6b8782c8ea0.js.map +0 -0
  266. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prCalendar_datetime.9a67044348d1478ff756.js +0 -0
  267. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prCalendar_datetime.9a67044348d1478ff756.js.map +0 -0
  268. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prCard_LinoDataView.062d50f6d446ecaf225c.js +0 -0
  269. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prCard_LinoDataView.062d50f6d446ecaf225c.js.map +0 -0
  270. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prCheckbox_LinoComponents.3cf3bb05491b2a1f055e.js +0 -0
  271. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prCheckbox_LinoComponents.3cf3bb05491b2a1f055e.js.map +0 -0
  272. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prDataTable_GridElement.12a3b34c102d1a065fee.js +0 -0
  273. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prDataTable_GridElement.12a3b34c102d1a065fee.js.map +0 -0
  274. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prDataView_LinoDataView.b612103f3f6ae55153cc.js +0 -0
  275. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prDataView_LinoDataView.b612103f3f6ae55153cc.js.map +0 -0
  276. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prDialog_LinoDialog.7b2f925af4058c66db3a.js +0 -0
  277. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prDialog_LinoDialog.7b2f925af4058c66db3a.js.map +0 -0
  278. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prDropDown_LinoPaginator.9caee7a457a7327de568.js +0 -0
  279. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prDropDown_LinoPaginator.9caee7a457a7327de568.js.map +0 -0
  280. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prFieldset_LinoComponents.e534eb3254fef30d6b5f.js +0 -0
  281. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prFieldset_LinoComponents.e534eb3254fef30d6b5f.js.map +0 -0
  282. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prFileUpload_LinoComponents.6a914a23cd2183ceb71f.js +0 -0
  283. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prFileUpload_LinoComponents.6a914a23cd2183ceb71f.js.map +0 -0
  284. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prFlex_AppCSS.d6b883c3c89a35c0fd27.js +0 -0
  285. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prFlex_AppCSS.d6b883c3c89a35c0fd27.js.map +0 -0
  286. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prGalleria_LinoDataView.11763f8d831c13466d39.js +0 -0
  287. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prGalleria_LinoDataView.11763f8d831c13466d39.js.map +0 -0
  288. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prInputNumber_GridElement.94a8efec3b8d882fe237.js +0 -0
  289. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prInputNumber_GridElement.94a8efec3b8d882fe237.js.map +0 -0
  290. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prInputNumber_LinoComponents.67a7e12f671b1a72fd78.js +0 -0
  291. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prInputNumber_LinoComponents.67a7e12f671b1a72fd78.js.map +0 -0
  292. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prInputText_GridElement.9ee3334ed7e13e749315.js +0 -0
  293. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prInputText_GridElement.9ee3334ed7e13e749315.js.map +0 -0
  294. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prLinoBodyRequire.834ca59b77c1f280ee08.js +0 -0
  295. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prLinoBodyRequire.834ca59b77c1f280ee08.js.map +0 -0
  296. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prLinoBodyRequireChunk2.b2d4c41d137bdd79d198.js +0 -0
  297. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prLinoBodyRequireChunk2.b2d4c41d137bdd79d198.js.map +0 -0
  298. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prLinoComponentsRequire.3adbea76bc194d66bbfc.js +0 -0
  299. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prLinoComponentsRequire.3adbea76bc194d66bbfc.js.map +0 -0
  300. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prLocale.743097c3cd8d752132df.js +0 -0
  301. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prLocale.743097c3cd8d752132df.js.map +0 -0
  302. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prMultiSelect_GridElement.e8b5de43c8f3b4ebfafd.js +0 -0
  303. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prMultiSelect_GridElement.e8b5de43c8f3b4ebfafd.js.map +0 -0
  304. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prOverlayPanel_GridElement.9682fe0a7c41b0a67982.js +0 -0
  305. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prOverlayPanel_GridElement.9682fe0a7c41b0a67982.js.map +0 -0
  306. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prPaginator_LinoPaginator.c58fd9e6a557afdaa7f8.js +0 -0
  307. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prPaginator_LinoPaginator.c58fd9e6a557afdaa7f8.js.map +0 -0
  308. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prPanel_LinoComponents.65972c1f2658fa696a28.js +0 -0
  309. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prPanel_LinoComponents.65972c1f2658fa696a28.js.map +0 -0
  310. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prPassword_LinoComponents.120c4d554f753b1b3e02.js +0 -0
  311. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prPassword_LinoComponents.120c4d554f753b1b3e02.js.map +0 -0
  312. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prSelectButton_GridElement.c9c6ba1894ee20a2cbbb.js +0 -0
  313. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prSelectButton_GridElement.c9c6ba1894ee20a2cbbb.js.map +0 -0
  314. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prSiteContextRequire.70ad32740c927773f008.js +0 -0
  315. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prSiteContextRequire.70ad32740c927773f008.js.map +0 -0
  316. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prSplitButton_LinoBbar.b7158c632c761c1f4c90.js +0 -0
  317. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prSplitButton_LinoBbar.b7158c632c761c1f4c90.js.map +0 -0
  318. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prTabView_LinoComponents.8ce34a9bc219db71ffa9.js +0 -0
  319. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prTabView_LinoComponents.8ce34a9bc219db71ffa9.js.map +0 -0
  320. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prToast_App.dbfcf317d9ca2356d263.js +0 -0
  321. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prToast_App.dbfcf317d9ca2356d263.js.map +0 -0
  322. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prToggleButton_LinoToolbar.ed7eb9ef47cbf7f7bbb4.js +0 -0
  323. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prToggleButton_LinoToolbar.ed7eb9ef47cbf7f7bbb4.js.map +0 -0
  324. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prTriStateCheckbox_GridElement.7f634321ef8c82456bc8.js +0 -0
  325. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.prTriStateCheckbox_GridElement.7f634321ef8c82456bc8.js.map +0 -0
  326. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.queryString_App.87f6da241a1a79bec441.js +0 -0
  327. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.queryString_App.87f6da241a1a79bec441.js.map +0 -0
  328. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.quill.78b1a88b0266b35d88ab.js +0 -0
  329. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.quill.78b1a88b0266b35d88ab.js.map +0 -0
  330. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.quillmodules_LinoEditor.7aa94785477a849f54a1.js +0 -0
  331. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.quillmodules_LinoEditor.7aa94785477a849f54a1.js.map +0 -0
  332. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.quillmodules_TextFieldElement.bd250533680f9b1ce344.js +0 -0
  333. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.quillmodules_TextFieldElement.bd250533680f9b1ce344.js.map +0 -0
  334. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.reactI18n_SiteContext.703426bc6f2f806774c3.js +0 -0
  335. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.reactI18n_SiteContext.703426bc6f2f806774c3.js.map +0 -0
  336. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.reactRouterDom_App.6a44a1d847a1c02779aa.js +0 -0
  337. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.reactRouterDom_App.6a44a1d847a1c02779aa.js.LICENSE.txt +0 -0
  338. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.reactRouterDom_App.6a44a1d847a1c02779aa.js.map +0 -0
  339. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.runtime.0bcccd406812b203fdab.js +0 -0
  340. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.runtime.0bcccd406812b203fdab.js.map +0 -0
  341. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.tpdep.d31fb3466cb158504e82.js +0 -0
  342. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.tpdep.d31fb3466cb158504e82.js.LICENSE.txt +0 -0
  343. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/main.tpdep.d31fb3466cb158504e82.js.map +0 -0
  344. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/arya-blue/theme.css +0 -0
  345. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/arya-green/theme.css +0 -0
  346. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/arya-orange/theme.css +0 -0
  347. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/arya-purple/theme.css +0 -0
  348. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/bootstrap4-dark-blue/theme.css +0 -0
  349. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/bootstrap4-dark-purple/theme.css +0 -0
  350. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/bootstrap4-light-blue/theme.css +0 -0
  351. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/bootstrap4-light-purple/theme.css +0 -0
  352. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/fluent-light/theme.css +0 -0
  353. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-amber/fonts/InterVariable-Italic.woff2 +0 -0
  354. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-amber/fonts/InterVariable.woff2 +0 -0
  355. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-amber/theme.css +0 -0
  356. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-blue/fonts/InterVariable-Italic.woff2 +0 -0
  357. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-blue/fonts/InterVariable.woff2 +0 -0
  358. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-blue/theme.css +0 -0
  359. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-cyan/fonts/InterVariable-Italic.woff2 +0 -0
  360. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-cyan/fonts/InterVariable.woff2 +0 -0
  361. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-cyan/theme.css +0 -0
  362. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-green/fonts/InterVariable-Italic.woff2 +0 -0
  363. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-green/fonts/InterVariable.woff2 +0 -0
  364. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-green/theme.css +0 -0
  365. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-indigo/fonts/InterVariable-Italic.woff2 +0 -0
  366. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-indigo/fonts/InterVariable.woff2 +0 -0
  367. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-indigo/theme.css +0 -0
  368. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-pink/fonts/InterVariable-Italic.woff2 +0 -0
  369. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-pink/fonts/InterVariable.woff2 +0 -0
  370. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-pink/theme.css +0 -0
  371. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-purple/fonts/InterVariable-Italic.woff2 +0 -0
  372. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-purple/fonts/InterVariable.woff2 +0 -0
  373. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-purple/theme.css +0 -0
  374. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-teal/fonts/InterVariable-Italic.woff2 +0 -0
  375. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-teal/fonts/InterVariable.woff2 +0 -0
  376. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-dark-teal/theme.css +0 -0
  377. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-amber/fonts/InterVariable-Italic.woff2 +0 -0
  378. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-amber/fonts/InterVariable.woff2 +0 -0
  379. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-amber/theme.css +0 -0
  380. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-blue/fonts/InterVariable-Italic.woff2 +0 -0
  381. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-blue/fonts/InterVariable.woff2 +0 -0
  382. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-blue/theme.css +0 -0
  383. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-cyan/fonts/InterVariable-Italic.woff2 +0 -0
  384. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-cyan/fonts/InterVariable.woff2 +0 -0
  385. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-cyan/theme.css +0 -0
  386. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-green/fonts/InterVariable-Italic.woff2 +0 -0
  387. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-green/fonts/InterVariable.woff2 +0 -0
  388. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-green/theme.css +0 -0
  389. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-indigo/fonts/InterVariable-Italic.woff2 +0 -0
  390. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-indigo/fonts/InterVariable.woff2 +0 -0
  391. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-indigo/theme.css +0 -0
  392. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-pink/fonts/InterVariable-Italic.woff2 +0 -0
  393. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-pink/fonts/InterVariable.woff2 +0 -0
  394. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-pink/theme.css +0 -0
  395. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-purple/fonts/InterVariable-Italic.woff2 +0 -0
  396. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-purple/fonts/InterVariable.woff2 +0 -0
  397. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-purple/theme.css +0 -0
  398. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-teal/fonts/InterVariable-Italic.woff2 +0 -0
  399. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-teal/fonts/InterVariable.woff2 +0 -0
  400. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/lara-light-teal/theme.css +0 -0
  401. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/luna-amber/theme.css +0 -0
  402. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/luna-blue/theme.css +0 -0
  403. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/luna-green/theme.css +0 -0
  404. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/luna-pink/theme.css +0 -0
  405. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
  406. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
  407. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
  408. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
  409. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
  410. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
  411. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-dark-deeppurple/theme.css +0 -0
  412. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
  413. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
  414. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
  415. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
  416. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
  417. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-dark-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
  418. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-dark-indigo/theme.css +0 -0
  419. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
  420. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
  421. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
  422. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
  423. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
  424. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-light-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
  425. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-light-deeppurple/theme.css +0 -0
  426. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
  427. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
  428. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
  429. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
  430. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
  431. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
  432. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/md-light-indigo/theme.css +0 -0
  433. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
  434. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
  435. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
  436. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
  437. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
  438. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-dark-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
  439. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-dark-deeppurple/theme.css +0 -0
  440. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
  441. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
  442. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
  443. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
  444. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
  445. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-dark-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
  446. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-dark-indigo/theme.css +0 -0
  447. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
  448. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
  449. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
  450. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
  451. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
  452. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-light-deeppurple/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
  453. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-light-deeppurple/theme.css +0 -0
  454. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff +0 -0
  455. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff2 +0 -0
  456. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff +0 -0
  457. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff2 +0 -0
  458. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff +0 -0
  459. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
  460. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mdc-light-indigo/theme.css +0 -0
  461. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mira/fonts/Inter-Bold.woff +0 -0
  462. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mira/fonts/Inter-Bold.woff2 +0 -0
  463. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mira/fonts/Inter-Medium.woff +0 -0
  464. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mira/fonts/Inter-Medium.woff2 +0 -0
  465. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mira/fonts/Inter-Regular.woff +0 -0
  466. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mira/fonts/Inter-Regular.woff2 +0 -0
  467. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mira/fonts/Inter-SemiBold.woff +0 -0
  468. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mira/fonts/Inter-SemiBold.woff2 +0 -0
  469. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/mira/theme.css +0 -0
  470. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/nano/theme.css +0 -0
  471. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/nova/theme.css +0 -0
  472. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/nova-accent/theme.css +0 -0
  473. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/nova-alt/theme.css +0 -0
  474. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/rhea/theme.css +0 -0
  475. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/saga-blue/theme.css +0 -0
  476. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/saga-green/theme.css +0 -0
  477. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/saga-orange/theme.css +0 -0
  478. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/saga-purple/theme.css +0 -0
  479. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/soho-dark/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
  480. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/soho-dark/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
  481. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/soho-dark/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
  482. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/soho-dark/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
  483. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/soho-dark/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
  484. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/soho-dark/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
  485. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/soho-dark/theme.css +0 -0
  486. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/soho-light/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
  487. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/soho-light/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
  488. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/soho-light/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
  489. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/soho-light/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
  490. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/soho-light/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
  491. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/soho-light/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
  492. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/soho-light/theme.css +0 -0
  493. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-Bold.woff +0 -0
  494. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-Bold.woff2 +0 -0
  495. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-Light.woff +0 -0
  496. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-Light.woff2 +0 -0
  497. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-Medium.woff +0 -0
  498. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-Medium.woff2 +0 -0
  499. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-Regular.woff +0 -0
  500. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-Regular.woff2 +0 -0
  501. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-SemiBold.woff +0 -0
  502. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/tailwind-light/fonts/Inter-SemiBold.woff2 +0 -0
  503. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/tailwind-light/theme.css +0 -0
  504. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/vela-blue/theme.css +0 -0
  505. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/vela-green/theme.css +0 -0
  506. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/vela-orange/theme.css +0 -0
  507. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/vela-purple/theme.css +0 -0
  508. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-300.woff +0 -0
  509. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-300.woff2 +0 -0
  510. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-600.woff +0 -0
  511. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-600.woff2 +0 -0
  512. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-700.woff +0 -0
  513. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-700.woff2 +0 -0
  514. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-regular.woff +0 -0
  515. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-regular.woff2 +0 -0
  516. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/viva-dark/theme.css +0 -0
  517. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/viva-light/fonts/poppins-v15-latin-ext_latin-300.woff +0 -0
  518. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/viva-light/fonts/poppins-v15-latin-ext_latin-300.woff2 +0 -0
  519. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/viva-light/fonts/poppins-v15-latin-ext_latin-600.woff +0 -0
  520. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/viva-light/fonts/poppins-v15-latin-ext_latin-600.woff2 +0 -0
  521. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/viva-light/fonts/poppins-v15-latin-ext_latin-700.woff +0 -0
  522. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/viva-light/fonts/poppins-v15-latin-ext_latin-700.woff2 +0 -0
  523. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/viva-light/fonts/poppins-v15-latin-ext_latin-regular.woff +0 -0
  524. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/viva-light/fonts/poppins-v15-latin-ext_latin-regular.woff2 +0 -0
  525. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/static/react/themes/viva-light/theme.css +0 -0
  526. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/testSetup/RTL_AUTH_GUIDE.md +0 -0
  527. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/testSetup/mocks/emptyMock.js +0 -0
  528. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/testSetup/mocks/quillMentionMock.js +0 -0
  529. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/testSetup/mswHandlers.ts +0 -0
  530. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/testSetup/rtlTestHelpers.ts +0 -0
  531. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/testSetup/setupJEST.mjs +0 -0
  532. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/testSetup/setupTests.ts +0 -0
  533. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/testSetup/teardownJEST.mjs +0 -0
  534. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/testSetup/testEnvironment.mjs +0 -0
  535. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/react/views.py +0 -0
  536. {lino_react-26.7.3 → lino_react-26.7.4}/lino_react/translations/i18n-scan.mjs +0 -0
  537. {lino_react-26.7.3 → lino_react-26.7.4}/make_messages +0 -0
  538. {lino_react-26.7.3 → lino_react-26.7.4}/message_extractors.ini +0 -0
  539. {lino_react-26.7.3 → lino_react-26.7.4}/network-testing/README.md +0 -0
  540. {lino_react-26.7.3 → lino_react-26.7.4}/network-testing/docs/GITLAB_PACKAGE_REGISTRY.md +0 -0
  541. {lino_react-26.7.3 → lino_react-26.7.4}/network-testing/docs/gitlab-ci-example.yml +0 -0
  542. {lino_react-26.7.3 → lino_react-26.7.4}/network-testing/logs/README.md +0 -0
  543. {lino_react-26.7.3 → lino_react-26.7.4}/network-testing/tools/download_cache_from_gitlab.sh +0 -0
  544. {lino_react-26.7.3 → lino_react-26.7.4}/network-testing/tools/migrate_to_ndjson.js +0 -0
  545. {lino_react-26.7.3 → lino_react-26.7.4}/network-testing/tools/publish_cache_to_gitlab.sh +0 -0
  546. {lino_react-26.7.3 → lino_react-26.7.4}/node_version.txt +0 -0
  547. {lino_react-26.7.3 → lino_react-26.7.4}/package-lock.json +0 -0
  548. {lino_react-26.7.3 → lino_react-26.7.4}/pyproject.toml +0 -0
  549. {lino_react-26.7.3 → lino_react-26.7.4}/pytest.ini +0 -0
  550. {lino_react-26.7.3 → lino_react-26.7.4}/requirements-install.txt +0 -0
  551. {lino_react-26.7.3 → lino_react-26.7.4}/requirements.txt +0 -0
  552. {lino_react-26.7.3 → lino_react-26.7.4}/tasks.py +0 -0
  553. {lino_react-26.7.3 → lino_react-26.7.4}/tests/__init__.py +0 -0
  554. {lino_react-26.7.3 → lino_react-26.7.4}/tsconfig.json +0 -0
  555. {lino_react-26.7.3 → lino_react-26.7.4}/webpack.config.js +0 -0
@@ -62,7 +62,12 @@ detect_version_change:
62
62
  script:
63
63
  - git fetch origin master --depth=2
64
64
  - CURRENT_VERSION=$(node -p "require('./package.json').version")
65
- - PREVIOUS_VERSION=$(git show HEAD~1:package.json 2>/dev/null | node -p "const data = fs.readFileSync(0, 'utf-8'); try { JSON.parse(data).version } catch { '0.0.0' }") || PREVIOUS_VERSION="0.0.0"
65
+ # - PREVIOUS_VERSION=$(git show HEAD~1:package.json 2>/dev/null | node -p "const data = fs.readFileSync(0, 'utf-8'); try { JSON.parse(data).version } catch { '0.0.0' }") || PREVIOUS_VERSION="0.0.0"
66
+ - |
67
+ PREVIOUS_VERSION=$(
68
+ git show HEAD~1:package.json 2>/dev/null |
69
+ node -p "const data = fs.readFileSync(0, 'utf-8'); try { JSON.parse(data).version } catch { '0.0.0' }"
70
+ ) || PREVIOUS_VERSION="0.0.0"
66
71
  - echo "Previous version was $PREVIOUS_VERSION. Current version is $CURRENT_VERSION."
67
72
  - |
68
73
  if [ "$CURRENT_VERSION" = "$PREVIOUS_VERSION" ]; then
@@ -77,7 +82,7 @@ detect_version_change:
77
82
  dotenv: build.env
78
83
 
79
84
  publish_apps:
80
- image: node:22-bookworm
85
+ image: node:24-bookworm
81
86
  stage: build-and-publish
82
87
  dependencies:
83
88
  - detect_version_change
@@ -92,16 +97,18 @@ publish_apps:
92
97
  - dpkg --add-architecture i386
93
98
  - apt-get update -y
94
99
  - apt-get install -y wine wine32 wine64 libwine texlive libxtst6
100
+ - apt-get install -y python3
101
+ - apt-get install -y python3-yaml
102
+ - apt-get install -y rpm
95
103
  - npm ci
96
104
  rules:
97
105
  - if: '$CI_COMMIT_BRANCH == "master"'
98
106
  script:
99
- # - |
100
- # if [ "$VERSION_CHANGED" != "true" ]; then
101
- # echo "Bypassing compilation. No version bump recorded."
102
- # exit 0
103
- # fi
104
- - export GITLAB_TOKEN="${GITLAB_TOKEN}"
107
+ - |
108
+ if [ "$VERSION_CHANGED" != "true" ]; then
109
+ echo "Bypassing compilation. No version bump recorded."
110
+ exit 0
111
+ fi
105
112
 
106
113
  # DYNAMICALLY EXTRACT AND EXPORT THE CURRENT VERSION FOR THE API URL
107
114
  - export CURRENT_VERSION=$(node -p "require('./package.json').version")
@@ -110,26 +117,33 @@ publish_apps:
110
117
  - export APP_FLAVOR="prontobd"
111
118
  - export OVERRIDE_PRODUCT_NAME="Pronto BD"
112
119
  - export BUILD_URL="https://pronto.bd"
120
+ - export PACKAGE="lino-electron"
121
+ - echo "Project ID - $CI_PROJECT_ID"
122
+
123
+ # === 0. SET DESKTOP NAME IN PACKAGE.JSON ===
124
+ - node ci/inject_desktopName.mjs
113
125
 
114
- # === 1. BUILD LINUX VERSION SEQUELETIALLY ===
115
- - echo "Compiling Linux Assets..."
126
+ # === 1. BUILD LINUX & WINDOWS ASSETS ===
127
+ - echo "Compiling Linux & Windows Assets..."
116
128
  - npm run pre
117
- - npx electron-builder --linux --config=electron-builder.js --config.directories.output=eldist --publish always
118
- - find eldist -maxdepth 2 -type f
119
- - echo "===== builder-debug.yml ====="
120
- - cat eldist/builder-debug.yml
121
- # - cat eldist/prontobd.yml
129
+ - npx electron-builder --linux --win --config=electron-builder.js --publish never
122
130
  - npm run post
131
+
132
+ # === 2. SANITIZE & PUBLISH LINUX & WINDOW ASSETS ===
133
+ - mkdir -p latest
134
+ - cp edist/*.yml latest/
135
+ - node ci/sanitize_filenames.mjs
136
+ - node ci/upload_packages.mjs
123
137
 
124
- # === 2. BUILD WINDOWS VERSION SEQUELETIALLY (Uses Wine on Linux Host) ===
125
- - echo "Compiling Windows Assets..."
126
- - npm run pre
127
- - npx electron-builder --win --config=electron-builder.js --publish always
128
- - find edist -maxdepth 2 -type f
129
- - echo "===== builder-debug.yml ====="
130
- - cat edist/builder-debug.yml
131
- # - cat edist/prontobd.yml
132
- - npm run post
138
+ # === 3. BUILD & PUBLISH LATEST META ===
139
+ - python3 write_electron_latest_meta.py "$CURRENT_VERSION" "$PACKAGE" "$CI_PROJECT_ID" "$CI_API_V4_URL" latest/prontobd.yml latest/prontobd-linux.yml
140
+ - node ci/upload_latest.mjs
141
+
142
+ # === 4. CREATE RELEASE TAG & ASSET LINKS ===
143
+ - node ci/create_release.mjs
144
+
145
+ # === 5. CLEANUP ===
146
+ - KEEP=10 node ci/cleanup_releases.mjs
133
147
 
134
148
  test:
135
149
  stage: test
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lino_react
3
- Version: 26.7.3
3
+ Version: 26.7.4
4
4
  Summary: The React front end for Lino
5
5
  Project-URL: Homepage, https://react.lino-framework.org
6
6
  Project-URL: Repository, https://gitlab.com/lino-framework/react
@@ -0,0 +1,150 @@
1
+ #!/usr/bin/env node
2
+
3
+ const KEEP = Number(process.env.KEEP ?? 10);
4
+
5
+ const {
6
+ GITLAB_TOKEN,
7
+ CI_API_V4_URL,
8
+ CI_PROJECT_ID,
9
+ PACKAGE,
10
+ CURRENT_VERSION,
11
+ } = process.env;
12
+
13
+ for (const variable of [
14
+ "GITLAB_TOKEN",
15
+ "CI_API_V4_URL",
16
+ "CI_PROJECT_ID",
17
+ "PACKAGE",
18
+ "CURRENT_VERSION",
19
+ ]) {
20
+ if (!process.env[variable]) {
21
+ console.error(`Missing environment variable: ${variable}`);
22
+ process.exit(1);
23
+ }
24
+ }
25
+
26
+ const api = `${CI_API_V4_URL}/projects/${encodeURIComponent(CI_PROJECT_ID)}`;
27
+
28
+ async function request(path, options = {}) {
29
+ const response = await fetch(`${api}${path}`, {
30
+ ...options,
31
+ headers: {
32
+ "PRIVATE-TOKEN": GITLAB_TOKEN,
33
+ ...(options.headers ?? {}),
34
+ },
35
+ });
36
+
37
+ if (!response.ok) {
38
+ const text = await response.text();
39
+ throw new Error(
40
+ `${response.status} ${response.statusText}\n${path}\n${text}`
41
+ );
42
+ }
43
+
44
+ if (response.status === 204)
45
+ return null;
46
+
47
+ return response.json();
48
+ }
49
+
50
+ async function fetchAllPackages() {
51
+ const packages = [];
52
+ let page = 1;
53
+
54
+ while (true) {
55
+ console.log(`Fetching package page ${page}...`);
56
+
57
+ const result = await request(
58
+ `/packages?package_name=${encodeURIComponent(PACKAGE)}&package_type=generic&per_page=100&page=${page}`
59
+ );
60
+
61
+ if (result.length === 0)
62
+ break;
63
+
64
+ packages.push(...result);
65
+ page++;
66
+ }
67
+
68
+ return packages;
69
+ }
70
+
71
+ async function removeReleaseAssets(version) {
72
+ try {
73
+ const release = await request(`/releases/v${version}`);
74
+
75
+ if (!release.assets?.links?.length) {
76
+ console.log(` No release asset links.`);
77
+ return;
78
+ }
79
+
80
+ for (const link of release.assets.links) {
81
+ console.log(` Removing asset: ${link.name}`);
82
+
83
+ await request(
84
+ `/releases/v${version}/assets/links/${link.id}`,
85
+ {
86
+ method: "DELETE",
87
+ }
88
+ );
89
+ }
90
+ }
91
+ catch (err) {
92
+ console.warn(` Couldn't update release v${version}: ${err.message}`);
93
+ }
94
+ }
95
+
96
+ async function deletePackage(packageId) {
97
+ await request(`/packages/${packageId}`, {
98
+ method: "DELETE",
99
+ });
100
+ }
101
+
102
+ async function main() {
103
+
104
+ const packages = await fetchAllPackages();
105
+
106
+ packages.sort(
107
+ (a, b) =>
108
+ new Date(b.created_at) -
109
+ new Date(a.created_at)
110
+ );
111
+
112
+ console.log("");
113
+ console.log(`Found ${packages.length} package versions.`);
114
+ console.log(`Keeping newest ${KEEP}.`);
115
+ console.log("");
116
+
117
+ for (let index = 0; index < packages.length; index++) {
118
+
119
+ const pkg = packages[index];
120
+
121
+ if (index < KEEP) {
122
+ console.log(`Keeping ${pkg.version}`);
123
+ continue;
124
+ }
125
+
126
+ if (pkg.version === CURRENT_VERSION) {
127
+ console.log(`Skipping current version ${pkg.version}`);
128
+ continue;
129
+ }
130
+
131
+ console.log("");
132
+ console.log(`Cleaning ${pkg.version}`);
133
+
134
+ await removeReleaseAssets(pkg.version);
135
+
136
+ console.log(` Deleting package...`);
137
+
138
+ await deletePackage(pkg.id);
139
+
140
+ console.log(` Done.`);
141
+ }
142
+
143
+ console.log("");
144
+ console.log("Cleanup complete.");
145
+ }
146
+
147
+ main().catch(error => {
148
+ console.error(error);
149
+ process.exit(1);
150
+ });
@@ -0,0 +1,171 @@
1
+ import fs from "node:fs/promises";
2
+ import path from "node:path";
3
+
4
+ const {
5
+ GITLAB_TOKEN,
6
+ CI_API_V4_URL,
7
+ CI_PROJECT_ID,
8
+ CI_COMMIT_SHA,
9
+ CI_COMMIT_MESSAGE,
10
+ CURRENT_VERSION,
11
+ PACKAGE,
12
+ } = process.env;
13
+
14
+ for (const variable of [
15
+ "GITLAB_TOKEN",
16
+ "CI_API_V4_URL",
17
+ "CI_PROJECT_ID",
18
+ "CI_COMMIT_SHA",
19
+ "CI_COMMIT_MESSAGE",
20
+ "PACKAGE",
21
+ "CURRENT_VERSION",
22
+ ]) {
23
+ if (!process.env[variable]) {
24
+ console.error(`Missing environment variable: ${variable}`);
25
+ process.exit(1);
26
+ }
27
+ }
28
+
29
+
30
+ const api = `${CI_API_V4_URL}/projects/${CI_PROJECT_ID}`;
31
+
32
+ async function postForm(url, fields) {
33
+ const form = new FormData();
34
+
35
+ for (const [key, value] of Object.entries(fields)) {
36
+ form.append(key, value);
37
+ }
38
+
39
+ const response = await fetch(url, {
40
+ method: "POST",
41
+ headers: {
42
+ "PRIVATE-TOKEN": GITLAB_TOKEN,
43
+ },
44
+ body: form,
45
+ });
46
+
47
+ if (!response.ok) {
48
+ throw new Error(
49
+ `${response.status} ${response.statusText}\n${await response.text()}`
50
+ );
51
+ }
52
+
53
+ return response.json().catch(() => ({}));
54
+ }
55
+
56
+ function extractReleaseNotes(message) {
57
+ const lines = message.split(/\r?\n/);
58
+
59
+ const output = [];
60
+ let capture = false;
61
+
62
+ for (const line of lines) {
63
+ if (!capture) {
64
+ if (line.trim() === "Electron Release Note:") {
65
+ capture = true;
66
+ }
67
+ continue;
68
+ }
69
+
70
+ // if (line.trim() === "") {
71
+ // break;
72
+ // }
73
+
74
+ output.push(line);
75
+ }
76
+
77
+ return output.join("\n");
78
+ }
79
+
80
+ async function createTag() {
81
+ console.log(`Creating tag v${CURRENT_VERSION}`);
82
+
83
+ await postForm(`${api}/repository/tags`, {
84
+ tag_name: `v${CURRENT_VERSION}`,
85
+ ref: CI_COMMIT_SHA,
86
+ });
87
+ }
88
+
89
+ async function createRelease(notes) {
90
+ console.log(`Creating release v${CURRENT_VERSION}`);
91
+
92
+ await postForm(`${api}/releases`, {
93
+ name: `v${CURRENT_VERSION}`,
94
+ tag_name: `v${CURRENT_VERSION}`,
95
+ description: notes,
96
+ });
97
+ }
98
+
99
+ async function addAsset(name, filename) {
100
+ console.log(`Adding asset: ${filename}`);
101
+
102
+ const encoded = encodeURIComponent(filename);
103
+
104
+ const url =
105
+ `${CI_API_V4_URL}/projects/${CI_PROJECT_ID}` +
106
+ `/packages/generic/${PACKAGE}/${CURRENT_VERSION}/${encoded}`;
107
+
108
+ await postForm(
109
+ `${api}/releases/v${CURRENT_VERSION}/assets/links`,
110
+ {
111
+ name,
112
+ url,
113
+ },
114
+ );
115
+ }
116
+
117
+ async function collectFiles(dir) {
118
+ try {
119
+ const entries = await fs.readdir(dir, { withFileTypes: true });
120
+
121
+ return entries
122
+ .filter((e) => e.isFile())
123
+ .map((e) => path.join(dir, e.name));
124
+ }
125
+ catch {
126
+ return [];
127
+ }
128
+ }
129
+
130
+ const assetNames = {
131
+ ".exe": "Windows Installer",
132
+ ".deb": "Debian Package",
133
+ ".rpm": "RPM Package",
134
+ ".AppImage": "AppImage",
135
+ };
136
+
137
+ async function main() {
138
+ const notes = extractReleaseNotes(CI_COMMIT_MESSAGE ?? "");
139
+
140
+ await createTag();
141
+ await createRelease(notes);
142
+
143
+ const files = [
144
+ ...(await collectFiles("edist")),
145
+ ];
146
+
147
+ for (const file of files) {
148
+ const basename = path.basename(file);
149
+
150
+ let displayName = null;
151
+
152
+ if (basename.endsWith(".AppImage")) {
153
+ displayName = assetNames[".AppImage"];
154
+ } else {
155
+ displayName = assetNames[path.extname(basename)];
156
+ }
157
+
158
+ if (!displayName) {
159
+ continue;
160
+ }
161
+
162
+ await addAsset(displayName, basename);
163
+ }
164
+
165
+ console.log("Release completed.");
166
+ }
167
+
168
+ main().catch((err) => {
169
+ console.error(err);
170
+ process.exit(1);
171
+ });
@@ -0,0 +1,16 @@
1
+ import fs from "node:fs/promises";
2
+
3
+ const packageJson = JSON.parse(
4
+ await fs.readFile("package.json", "utf8")
5
+ );
6
+
7
+ if (process.env.APP_FLAVOR) {
8
+ packageJson.desktopName = `${packageJson.desktopName}.${process.env.APP_FLAVOR}`;
9
+
10
+ await fs.writeFile(
11
+ "package.json",
12
+ JSON.stringify(packageJson, null, 2) + "\n"
13
+ );
14
+
15
+ console.log("desktopName =", packageJson.desktopName);
16
+ }
@@ -0,0 +1,112 @@
1
+ // ci/sanitize_filenames.mjs
2
+
3
+ import fs from "node:fs/promises";
4
+ import path from "node:path";
5
+
6
+ const DIRECTORIES = ["edist", "latest"];
7
+
8
+ /**
9
+ * Replace characters GitLab Generic Registry dislikes.
10
+ * Currently:
11
+ * - whitespace -> -
12
+ *
13
+ * You can easily extend this later if necessary.
14
+ */
15
+ function sanitize(name) {
16
+ return name.replace(/\s+/g, "-")
17
+ .replace(/[^a-zA-Z0-9._+~@-]/g, '');
18
+ }
19
+
20
+ async function renameDirectory(dir) {
21
+ const mapping = new Map();
22
+
23
+ let entries;
24
+
25
+ try {
26
+ entries = await fs.readdir(dir, { withFileTypes: true });
27
+ }
28
+ catch {
29
+ return mapping;
30
+ }
31
+
32
+ for (const entry of entries) {
33
+ if (!entry.isFile())
34
+ continue;
35
+
36
+ const oldName = entry.name;
37
+ const newName = sanitize(oldName);
38
+
39
+ if (oldName === newName)
40
+ continue;
41
+
42
+ await fs.rename(
43
+ path.join(dir, oldName),
44
+ path.join(dir, newName),
45
+ );
46
+
47
+ console.log(`${oldName} -> ${newName}`);
48
+
49
+ mapping.set(oldName, newName);
50
+ }
51
+
52
+ return mapping;
53
+ }
54
+
55
+ async function rewriteYaml(dir, mapping) {
56
+ let entries;
57
+
58
+ try {
59
+ entries = await fs.readdir(dir, { withFileTypes: true });
60
+ }
61
+ catch {
62
+ return;
63
+ }
64
+
65
+ for (const entry of entries) {
66
+
67
+ if (!entry.isFile() || !entry.name.endsWith(".yml"))
68
+ continue;
69
+
70
+ const file = path.join(dir, entry.name);
71
+
72
+ let text = await fs.readFile(file, "utf8");
73
+
74
+ for (const [oldName, newName] of mapping) {
75
+ text = text.split(oldName).join(newName);
76
+ }
77
+
78
+ await fs.writeFile(file, text);
79
+
80
+ console.log(`Updated ${file}`);
81
+ }
82
+ }
83
+
84
+ async function main() {
85
+
86
+ const mapping = new Map();
87
+
88
+ // Rename files
89
+ for (const dir of DIRECTORIES) {
90
+ const local = await renameDirectory(dir);
91
+
92
+ for (const [k, v] of local)
93
+ mapping.set(k, v);
94
+ }
95
+
96
+ if (mapping.size === 0) {
97
+ console.log("Nothing to sanitize.");
98
+ return;
99
+ }
100
+
101
+ // Rewrite metadata
102
+ for (const dir of DIRECTORIES) {
103
+ await rewriteYaml(dir, mapping);
104
+ }
105
+
106
+ console.log("Done.");
107
+ }
108
+
109
+ main().catch(err => {
110
+ console.error(err);
111
+ process.exit(1);
112
+ });
@@ -0,0 +1,113 @@
1
+ // electron/uploadLatest.mjs
2
+
3
+ import fs from "node:fs/promises";
4
+ import path from "node:path";
5
+
6
+ import { execFile } from "node:child_process";
7
+ import { promisify } from "node:util";
8
+
9
+
10
+ const {
11
+ CI_API_V4_URL,
12
+ CI_PROJECT_ID,
13
+ CI_JOB_TOKEN,
14
+ PACKAGE,
15
+ } = process.env;
16
+
17
+ for (const variable of [
18
+ "CI_API_V4_URL",
19
+ "CI_PROJECT_ID",
20
+ "CI_JOB_TOKEN",
21
+ "PACKAGE",
22
+ ]) {
23
+ if (!process.env[variable]) {
24
+ console.error(`Missing environment variable: ${variable}`);
25
+ process.exit(1);
26
+ }
27
+ }
28
+
29
+ const execFileAsync = promisify(execFile);
30
+
31
+ async function curlUpload(filePath, url) {
32
+ try {
33
+ await execFileAsync("curl", [
34
+ "--fail",
35
+ "--show-error",
36
+ "--silent",
37
+ "--header", `JOB-TOKEN: ${CI_JOB_TOKEN}`,
38
+ "--upload-file", filePath,
39
+ url,
40
+ ]);
41
+ }
42
+ catch (err) {
43
+ console.error(`Upload failed: ${filePath}`);
44
+ console.error(`URL: ${url}`);
45
+
46
+ if (err.stderr) {
47
+ console.error(err.stderr);
48
+ }
49
+
50
+ throw err;
51
+ }
52
+ }
53
+
54
+ const latestDir = "latest";
55
+
56
+ async function uploadFile(filePath) {
57
+ const fileName = path.basename(filePath);
58
+
59
+ const url =
60
+ `${CI_API_V4_URL}/projects/${CI_PROJECT_ID}` +
61
+ `/packages/generic/${PACKAGE}/latest/${fileName}`;
62
+
63
+ console.log(`Uploading ${fileName}...`);
64
+
65
+ await curlUpload(filePath, url);
66
+
67
+ console.log(`✓ Uploaded ${fileName}`);
68
+ }
69
+
70
+ // async function uploadFile(filePath) {
71
+ // const fileName = path.basename(filePath);
72
+
73
+ // const url =
74
+ // `${CI_API_V4_URL}/projects/${CI_PROJECT_ID}` +
75
+ // `/packages/generic/${PACKAGE}/latest/${encodeURIComponent(fileName)}`;
76
+
77
+ // console.log(`Uploading ${fileName}...`);
78
+
79
+ // const response = await fetch(url, {
80
+ // method: "PUT",
81
+ // headers: {
82
+ // "JOB-TOKEN": CI_JOB_TOKEN,
83
+ // },
84
+ // body: await fs.readFile(filePath),
85
+ // });
86
+
87
+ // if (!response.ok) {
88
+ // throw new Error(
89
+ // `${response.status} ${response.statusText}\n${await response.text()}`
90
+ // );
91
+ // }
92
+
93
+ // console.log(`✓ Uploaded ${fileName}`);
94
+ // }
95
+
96
+ async function main() {
97
+ const entries = await fs.readdir(latestDir, { withFileTypes: true });
98
+
99
+ for (const entry of entries) {
100
+ if (!entry.isFile()) {
101
+ continue;
102
+ }
103
+
104
+ await uploadFile(path.join(latestDir, entry.name));
105
+ }
106
+
107
+ console.log("All latest metadata uploaded.");
108
+ }
109
+
110
+ main().catch((err) => {
111
+ console.error(err);
112
+ process.exit(1);
113
+ });