浏览代码

Post work PR #2990

maziggy 3 天之前
父节点
当前提交
f4cd71aa97
共有 100 个文件被更改,包括 14 次插入 和 4 次删除
  1. 1 0
      CHANGELOG.md
  2. 0 0
      static/assets/ImagePreviewModal-E5tbKkAh.js
  3. 1 0
      static/assets/PdfPreviewModal-Drl3fe6Q.js
  4. 0 1
      static/assets/PdfPreviewModal-yZr5_glF.js
  5. 0 1
      static/assets/SpreadsheetPreviewModal-1B_pviLD.js
  6. 1 0
      static/assets/SpreadsheetPreviewModal-DocBznaT.js
  7. 0 1
      static/assets/index-BPzhtnhZ.js
  8. 1 0
      static/assets/index-BX9ENa4J.css
  9. 0 1
      static/assets/index-CmAe-C0m.css
  10. 0 0
      static/assets/pdf-D2DQ_x9Q.js
  11. 二进制
      static/assets/pdfjs/cmaps/78-EUC-H.bcmap
  12. 二进制
      static/assets/pdfjs/cmaps/78-EUC-V.bcmap
  13. 二进制
      static/assets/pdfjs/cmaps/78-H.bcmap
  14. 二进制
      static/assets/pdfjs/cmaps/78-RKSJ-H.bcmap
  15. 二进制
      static/assets/pdfjs/cmaps/78-RKSJ-V.bcmap
  16. 二进制
      static/assets/pdfjs/cmaps/78-V.bcmap
  17. 二进制
      static/assets/pdfjs/cmaps/78ms-RKSJ-H.bcmap
  18. 二进制
      static/assets/pdfjs/cmaps/78ms-RKSJ-V.bcmap
  19. 二进制
      static/assets/pdfjs/cmaps/83pv-RKSJ-H.bcmap
  20. 二进制
      static/assets/pdfjs/cmaps/90ms-RKSJ-H.bcmap
  21. 二进制
      static/assets/pdfjs/cmaps/90ms-RKSJ-V.bcmap
  22. 二进制
      static/assets/pdfjs/cmaps/90msp-RKSJ-H.bcmap
  23. 二进制
      static/assets/pdfjs/cmaps/90msp-RKSJ-V.bcmap
  24. 二进制
      static/assets/pdfjs/cmaps/90pv-RKSJ-H.bcmap
  25. 二进制
      static/assets/pdfjs/cmaps/90pv-RKSJ-V.bcmap
  26. 二进制
      static/assets/pdfjs/cmaps/Add-H.bcmap
  27. 二进制
      static/assets/pdfjs/cmaps/Add-RKSJ-H.bcmap
  28. 二进制
      static/assets/pdfjs/cmaps/Add-RKSJ-V.bcmap
  29. 二进制
      static/assets/pdfjs/cmaps/Add-V.bcmap
  30. 二进制
      static/assets/pdfjs/cmaps/Adobe-CNS1-0.bcmap
  31. 二进制
      static/assets/pdfjs/cmaps/Adobe-CNS1-1.bcmap
  32. 二进制
      static/assets/pdfjs/cmaps/Adobe-CNS1-2.bcmap
  33. 二进制
      static/assets/pdfjs/cmaps/Adobe-CNS1-3.bcmap
  34. 二进制
      static/assets/pdfjs/cmaps/Adobe-CNS1-4.bcmap
  35. 二进制
      static/assets/pdfjs/cmaps/Adobe-CNS1-5.bcmap
  36. 二进制
      static/assets/pdfjs/cmaps/Adobe-CNS1-6.bcmap
  37. 二进制
      static/assets/pdfjs/cmaps/Adobe-CNS1-UCS2.bcmap
  38. 二进制
      static/assets/pdfjs/cmaps/Adobe-GB1-0.bcmap
  39. 二进制
      static/assets/pdfjs/cmaps/Adobe-GB1-1.bcmap
  40. 二进制
      static/assets/pdfjs/cmaps/Adobe-GB1-2.bcmap
  41. 二进制
      static/assets/pdfjs/cmaps/Adobe-GB1-3.bcmap
  42. 二进制
      static/assets/pdfjs/cmaps/Adobe-GB1-4.bcmap
  43. 二进制
      static/assets/pdfjs/cmaps/Adobe-GB1-5.bcmap
  44. 二进制
      static/assets/pdfjs/cmaps/Adobe-GB1-UCS2.bcmap
  45. 二进制
      static/assets/pdfjs/cmaps/Adobe-Japan1-0.bcmap
  46. 二进制
      static/assets/pdfjs/cmaps/Adobe-Japan1-1.bcmap
  47. 二进制
      static/assets/pdfjs/cmaps/Adobe-Japan1-2.bcmap
  48. 二进制
      static/assets/pdfjs/cmaps/Adobe-Japan1-3.bcmap
  49. 二进制
      static/assets/pdfjs/cmaps/Adobe-Japan1-4.bcmap
  50. 二进制
      static/assets/pdfjs/cmaps/Adobe-Japan1-5.bcmap
  51. 二进制
      static/assets/pdfjs/cmaps/Adobe-Japan1-6.bcmap
  52. 二进制
      static/assets/pdfjs/cmaps/Adobe-Japan1-UCS2.bcmap
  53. 二进制
      static/assets/pdfjs/cmaps/Adobe-Korea1-0.bcmap
  54. 二进制
      static/assets/pdfjs/cmaps/Adobe-Korea1-1.bcmap
  55. 二进制
      static/assets/pdfjs/cmaps/Adobe-Korea1-2.bcmap
  56. 二进制
      static/assets/pdfjs/cmaps/Adobe-Korea1-UCS2.bcmap
  57. 二进制
      static/assets/pdfjs/cmaps/B5-H.bcmap
  58. 二进制
      static/assets/pdfjs/cmaps/B5-V.bcmap
  59. 二进制
      static/assets/pdfjs/cmaps/B5pc-H.bcmap
  60. 二进制
      static/assets/pdfjs/cmaps/B5pc-V.bcmap
  61. 二进制
      static/assets/pdfjs/cmaps/CNS-EUC-H.bcmap
  62. 二进制
      static/assets/pdfjs/cmaps/CNS-EUC-V.bcmap
  63. 二进制
      static/assets/pdfjs/cmaps/CNS1-H.bcmap
  64. 二进制
      static/assets/pdfjs/cmaps/CNS1-V.bcmap
  65. 二进制
      static/assets/pdfjs/cmaps/CNS2-H.bcmap
  66. 3 0
      static/assets/pdfjs/cmaps/CNS2-V.bcmap
  67. 二进制
      static/assets/pdfjs/cmaps/ETHK-B5-H.bcmap
  68. 二进制
      static/assets/pdfjs/cmaps/ETHK-B5-V.bcmap
  69. 二进制
      static/assets/pdfjs/cmaps/ETen-B5-H.bcmap
  70. 二进制
      static/assets/pdfjs/cmaps/ETen-B5-V.bcmap
  71. 3 0
      static/assets/pdfjs/cmaps/ETenms-B5-H.bcmap
  72. 二进制
      static/assets/pdfjs/cmaps/ETenms-B5-V.bcmap
  73. 二进制
      static/assets/pdfjs/cmaps/EUC-H.bcmap
  74. 二进制
      static/assets/pdfjs/cmaps/EUC-V.bcmap
  75. 二进制
      static/assets/pdfjs/cmaps/Ext-H.bcmap
  76. 二进制
      static/assets/pdfjs/cmaps/Ext-RKSJ-H.bcmap
  77. 二进制
      static/assets/pdfjs/cmaps/Ext-RKSJ-V.bcmap
  78. 二进制
      static/assets/pdfjs/cmaps/Ext-V.bcmap
  79. 二进制
      static/assets/pdfjs/cmaps/GB-EUC-H.bcmap
  80. 二进制
      static/assets/pdfjs/cmaps/GB-EUC-V.bcmap
  81. 4 0
      static/assets/pdfjs/cmaps/GB-H.bcmap
  82. 二进制
      static/assets/pdfjs/cmaps/GB-V.bcmap
  83. 二进制
      static/assets/pdfjs/cmaps/GBK-EUC-H.bcmap
  84. 二进制
      static/assets/pdfjs/cmaps/GBK-EUC-V.bcmap
  85. 二进制
      static/assets/pdfjs/cmaps/GBK2K-H.bcmap
  86. 二进制
      static/assets/pdfjs/cmaps/GBK2K-V.bcmap
  87. 二进制
      static/assets/pdfjs/cmaps/GBKp-EUC-H.bcmap
  88. 二进制
      static/assets/pdfjs/cmaps/GBKp-EUC-V.bcmap
  89. 二进制
      static/assets/pdfjs/cmaps/GBT-EUC-H.bcmap
  90. 二进制
      static/assets/pdfjs/cmaps/GBT-EUC-V.bcmap
  91. 二进制
      static/assets/pdfjs/cmaps/GBT-H.bcmap
  92. 二进制
      static/assets/pdfjs/cmaps/GBT-V.bcmap
  93. 二进制
      static/assets/pdfjs/cmaps/GBTpc-EUC-H.bcmap
  94. 二进制
      static/assets/pdfjs/cmaps/GBTpc-EUC-V.bcmap
  95. 二进制
      static/assets/pdfjs/cmaps/GBpc-EUC-H.bcmap
  96. 二进制
      static/assets/pdfjs/cmaps/GBpc-EUC-V.bcmap
  97. 二进制
      static/assets/pdfjs/cmaps/H.bcmap
  98. 二进制
      static/assets/pdfjs/cmaps/HKdla-B5-H.bcmap
  99. 二进制
      static/assets/pdfjs/cmaps/HKdla-B5-V.bcmap
  100. 二进制
      static/assets/pdfjs/cmaps/HKdlb-B5-H.bcmap

+ 1 - 0
CHANGELOG.md

@@ -5,6 +5,7 @@ All notable changes to Bambuddy will be documented in this file.
 ## [1.2.6b1] - Unreleased
 
 ### Added
+- **File Manager previews open larger, zoom, go fullscreen and cover images (#2976, requested and contributed by @Thomansky in #2990)** — PDF, spreadsheet and 3D previews now open in the same large window, with a fullscreen button; double-click the preview to toggle fullscreen. PDFs zoom with Ctrl/⌘ + wheel, a trackpad or touch pinch, or the `+`, `-` and `0` keys. In the 3D viewer the wheel no longer zooms past the model into empty space, and the new zoom and reset buttons return to the framed view. PNG, JPG, GIF, WebP and BMP files get a preview with zoom and pan; TIFF keeps its thumbnail but no preview, because most browsers cannot show it. Double-click a file in the grid or list to open its preview, or select one file and use **Preview** in the toolbar. PDFs get **Generate Thumbnail** in the card menu and list row, like STLs. PDFs with Japanese, Chinese or Korean text, JPEG2000 images or ICC colour now render correctly; they came out blank or wrong before, because pdf.js could not load its font maps and image decoders. The page's security policy no longer allows WebAssembly; only the two preview workers that need it do. Very large zooms on iPhone and iPad stop gaining sharpness instead of showing a blank page. All previews run in the browser, not on the Bambuddy server.
 - **Find a spool by its label number, and assign it to a printer slot from the spool itself (#2978, requested and contributed by @pd81 in #2998)** — Typing `#3` in the inventory search now finds only spool 3. A plain `3` still matches anything containing it, such as #13 or #30, so existing searches behave as before. The spool pickers show each spool's `#ID`, so identical spools can be told apart. A spool with no slot now has an **Assign Spool** button in its editor, which is also where scanning a spool's QR code lands. It opens one dialog to pick the printer, then the AMS, AMS-HT or external slot. Nothing changes until you confirm, and a material mismatch still asks first. The SpoolBuddy kiosk offers the same printer choice when no printer is selected, instead of reporting it disconnected. On dual-nozzle printers the left external slot was labelled "Ext-R" in the assignment confirmation; it now reads "Ext-L". The AMS slots in the dialog can be picked with the keyboard, and screen readers announce each slot by name.
 - **Ambient drying can wait until the humidity stays high, so opening the AMS lid no longer buys a drying cycle (#2518, requested by @ryansouza, contributed by @M2ABRAMSTANK in #2895)** — Ambient auto-drying started on the first humidity reading above the threshold. Opening the AMS lid to swap a spool lets room air reach the sensor for a few minutes, and that brief spike was enough to start a cycle of up to 12 hours. A new **Require sustained humidity** switch in the **Queue Auto-Drying** card under Settings → Workflow, shown while **Ambient drying** is on, sets how long the humidity has to stay above the threshold before a cycle starts: 5 to 240 minutes, 15 when first switched on. It is off by default, so nothing changes until it is turned on. The 15 minutes come from a measured trace on an H2D: after the lid had been open for one to five minutes, every unit was back at or below 25% within about 12 minutes of opening, and the wait only starts counting at the first high reading. One reading at or below the threshold starts the wait over, and so does a gap of more than two minutes without a reading (a disconnect, or a print on a printer that isn't drying while printing), which is logged with the measured gap. A missing reading changes nothing. A printer with a scheduled print pending still starts at once, for every AMS unit on it, because that drying has a deadline. The wait also applies to a printer that is printing with **Continue drying while printing** on, but not while ambient drying itself is off. It runs alongside the cooldown after a cycle instead of being added to it, never interrupts a running or manual cycle, and does not log a wait for a unit the printer refuses to dry. Translated in all locales.
 - **Other applications can send messages through your notification channels** — A new switch per notification provider, **Messages from connected apps** (off by default), lets an application such as Bambuddy Orders send its own messages ("3 orders need you") to Telegram, ntfy, email and the other channels. The app calls `POST /api/v1/notifications/app-message` with an API key that has the new **Send Notifications** permission (off by default; the key's owner also needs `notifications:update`). Messages go through quiet hours, the daily digest and the notification log like Bambuddy's own. Text is plain, links must be http(s), and each key is limited to 20 messages a minute. `GET /api/v1/notifications/app-message/channels` tells the app which channels take its messages. The check behind the electricity-price door and this one is now one shared helper.

文件差异内容过多而无法显示
+ 0 - 0
static/assets/ImagePreviewModal-E5tbKkAh.js


文件差异内容过多而无法显示
+ 1 - 0
static/assets/PdfPreviewModal-Drl3fe6Q.js


文件差异内容过多而无法显示
+ 0 - 1
static/assets/PdfPreviewModal-yZr5_glF.js


文件差异内容过多而无法显示
+ 0 - 1
static/assets/SpreadsheetPreviewModal-1B_pviLD.js


文件差异内容过多而无法显示
+ 1 - 0
static/assets/SpreadsheetPreviewModal-DocBznaT.js


文件差异内容过多而无法显示
+ 0 - 1
static/assets/index-BPzhtnhZ.js


文件差异内容过多而无法显示
+ 1 - 0
static/assets/index-BX9ENa4J.css


文件差异内容过多而无法显示
+ 0 - 1
static/assets/index-CmAe-C0m.css


文件差异内容过多而无法显示
+ 0 - 0
static/assets/pdf-D2DQ_x9Q.js


二进制
static/assets/pdfjs/cmaps/78-EUC-H.bcmap


二进制
static/assets/pdfjs/cmaps/78-EUC-V.bcmap


二进制
static/assets/pdfjs/cmaps/78-H.bcmap


二进制
static/assets/pdfjs/cmaps/78-RKSJ-H.bcmap


二进制
static/assets/pdfjs/cmaps/78-RKSJ-V.bcmap


二进制
static/assets/pdfjs/cmaps/78-V.bcmap


二进制
static/assets/pdfjs/cmaps/78ms-RKSJ-H.bcmap


二进制
static/assets/pdfjs/cmaps/78ms-RKSJ-V.bcmap


二进制
static/assets/pdfjs/cmaps/83pv-RKSJ-H.bcmap


二进制
static/assets/pdfjs/cmaps/90ms-RKSJ-H.bcmap


二进制
static/assets/pdfjs/cmaps/90ms-RKSJ-V.bcmap


二进制
static/assets/pdfjs/cmaps/90msp-RKSJ-H.bcmap


二进制
static/assets/pdfjs/cmaps/90msp-RKSJ-V.bcmap


二进制
static/assets/pdfjs/cmaps/90pv-RKSJ-H.bcmap


二进制
static/assets/pdfjs/cmaps/90pv-RKSJ-V.bcmap


二进制
static/assets/pdfjs/cmaps/Add-H.bcmap


二进制
static/assets/pdfjs/cmaps/Add-RKSJ-H.bcmap


二进制
static/assets/pdfjs/cmaps/Add-RKSJ-V.bcmap


二进制
static/assets/pdfjs/cmaps/Add-V.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-CNS1-0.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-CNS1-1.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-CNS1-2.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-CNS1-3.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-CNS1-4.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-CNS1-5.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-CNS1-6.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-CNS1-UCS2.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-GB1-0.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-GB1-1.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-GB1-2.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-GB1-3.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-GB1-4.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-GB1-5.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-GB1-UCS2.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-Japan1-0.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-Japan1-1.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-Japan1-2.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-Japan1-3.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-Japan1-4.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-Japan1-5.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-Japan1-6.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-Japan1-UCS2.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-Korea1-0.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-Korea1-1.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-Korea1-2.bcmap


二进制
static/assets/pdfjs/cmaps/Adobe-Korea1-UCS2.bcmap


二进制
static/assets/pdfjs/cmaps/B5-H.bcmap


二进制
static/assets/pdfjs/cmaps/B5-V.bcmap


二进制
static/assets/pdfjs/cmaps/B5pc-H.bcmap


二进制
static/assets/pdfjs/cmaps/B5pc-V.bcmap


二进制
static/assets/pdfjs/cmaps/CNS-EUC-H.bcmap


二进制
static/assets/pdfjs/cmaps/CNS-EUC-V.bcmap


二进制
static/assets/pdfjs/cmaps/CNS1-H.bcmap


二进制
static/assets/pdfjs/cmaps/CNS1-V.bcmap


二进制
static/assets/pdfjs/cmaps/CNS2-H.bcmap


+ 3 - 0
static/assets/pdfjs/cmaps/CNS2-V.bcmap

@@ -0,0 +1,3 @@
+àRCopyright 1990-2009 Adobe Systems Incorporated.
+All rights reserved.
+See ./LICENSEáCNS2-H

二进制
static/assets/pdfjs/cmaps/ETHK-B5-H.bcmap


二进制
static/assets/pdfjs/cmaps/ETHK-B5-V.bcmap


二进制
static/assets/pdfjs/cmaps/ETen-B5-H.bcmap


二进制
static/assets/pdfjs/cmaps/ETen-B5-V.bcmap


+ 3 - 0
static/assets/pdfjs/cmaps/ETenms-B5-H.bcmap

@@ -0,0 +1,3 @@
+àRCopyright 1990-2009 Adobe Systems Incorporated.
+All rights reserved.
+See ./LICENSEá	ETen-B5-H` ^

二进制
static/assets/pdfjs/cmaps/ETenms-B5-V.bcmap


二进制
static/assets/pdfjs/cmaps/EUC-H.bcmap


二进制
static/assets/pdfjs/cmaps/EUC-V.bcmap


二进制
static/assets/pdfjs/cmaps/Ext-H.bcmap


二进制
static/assets/pdfjs/cmaps/Ext-RKSJ-H.bcmap


二进制
static/assets/pdfjs/cmaps/Ext-RKSJ-V.bcmap


二进制
static/assets/pdfjs/cmaps/Ext-V.bcmap


二进制
static/assets/pdfjs/cmaps/GB-EUC-H.bcmap


二进制
static/assets/pdfjs/cmaps/GB-EUC-V.bcmap


+ 4 - 0
static/assets/pdfjs/cmaps/GB-H.bcmap

@@ -0,0 +1,4 @@
+àRCopyright 1990-2009 Adobe Systems Incorporated.
+All rights reserved.
+See ./LICENSE!!�º]aX!!]`�21�>	�p�z�$]‚�"R‚d�-Uƒ7�*„
4„%�+ „Z „{�/…%…<�9K…b�1]†.�"‡‰`]‡,�"]ˆ
+�"]ˆh�"]‰F�"]Š$�"]‹�"]‹`�"]Œ>�"]��"]�z�"]ŽX�"]�6�"]��"]�r�"]‘P�"]’.�"]“�"]“j�"]”H�"]•&�"]–�"]–b�"]—@�"]˜�"]˜|�"]™Z�"]š8�"]›�"]›t�"]œR�"]�0�"]ž�"]žl�"]ŸJ�"] (�"]¡�"]¡d�"]¢B�"]£ �"X£~�']¤W�"]¥5�"]¦�"]¦q�"]§O�"]¨-�"]©�"]©i�"]ªG�"]«%�"]¬�"]¬a�"]­?�"]®�"]®{�"]¯Y�"]°7�"]±�"]±s�"]²Q�"]³/�"]´
�"]´k�"]µI�"]¶'�"]·�"]·c�"]¸A�"]¹�"]¹}�"]º[�"]»9

二进制
static/assets/pdfjs/cmaps/GB-V.bcmap


二进制
static/assets/pdfjs/cmaps/GBK-EUC-H.bcmap


二进制
static/assets/pdfjs/cmaps/GBK-EUC-V.bcmap


二进制
static/assets/pdfjs/cmaps/GBK2K-H.bcmap


二进制
static/assets/pdfjs/cmaps/GBK2K-V.bcmap


二进制
static/assets/pdfjs/cmaps/GBKp-EUC-H.bcmap


二进制
static/assets/pdfjs/cmaps/GBKp-EUC-V.bcmap


二进制
static/assets/pdfjs/cmaps/GBT-EUC-H.bcmap


二进制
static/assets/pdfjs/cmaps/GBT-EUC-V.bcmap


二进制
static/assets/pdfjs/cmaps/GBT-H.bcmap


二进制
static/assets/pdfjs/cmaps/GBT-V.bcmap


二进制
static/assets/pdfjs/cmaps/GBTpc-EUC-H.bcmap


二进制
static/assets/pdfjs/cmaps/GBTpc-EUC-V.bcmap


二进制
static/assets/pdfjs/cmaps/GBpc-EUC-H.bcmap


二进制
static/assets/pdfjs/cmaps/GBpc-EUC-V.bcmap


二进制
static/assets/pdfjs/cmaps/H.bcmap


二进制
static/assets/pdfjs/cmaps/HKdla-B5-H.bcmap


二进制
static/assets/pdfjs/cmaps/HKdla-B5-V.bcmap


二进制
static/assets/pdfjs/cmaps/HKdlb-B5-H.bcmap


部分文件因为文件数量过多而无法显示