@ethersphere/bee-dashboard 0.35.2 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +16 -0
  2. package/build/assets/{__vite-browser-external-9jrN1CIx.js → __vite-browser-external-D_bWAWBK.js} +2 -2
  3. package/build/assets/{download.browser-DkW-1Tu7.js → download.browser-DiGQFa2N.js} +1 -1
  4. package/build/assets/{download.node-DYTXAdrY.js → download.node-CzjvEswv.js} +1 -1
  5. package/build/assets/{fs.node-DwBlG7zh.js → fs.node-B87L1gKf.js} +2 -2
  6. package/build/assets/index-Dd3cxIPS.js +133 -0
  7. package/build/assets/vendor-ethers-DdwEM-gK.js +87 -0
  8. package/build/assets/vendor-react-mui-tUcmOwCz.js +227 -0
  9. package/build/index.html +3 -3
  10. package/lib/{App-BaED7J22.mjs → App-DNdxuM_D.mjs} +11167 -21655
  11. package/lib/{App-C_kvJWIL.js → App-bJc-m8lc.js} +11167 -21655
  12. package/lib/App.cjs.js +1 -1
  13. package/lib/App.d.ts +5 -1
  14. package/lib/App.js +1 -1
  15. package/lib/assets/data/nodes-db.json.d.ts +8670 -47142
  16. package/lib/components/ChainSync.d.ts +1 -1
  17. package/lib/components/Flex.d.ts +1 -1
  18. package/lib/{download.browser-Brcsou-R.js → download.browser-BtsZfHY2.js} +1 -1
  19. package/lib/{download.browser-CuzNogtF.mjs → download.browser-xicfmV_K.mjs} +1 -1
  20. package/lib/{download.node-Bnd9C4co.js → download.node-Bzm4Mzw4.js} +1 -1
  21. package/lib/{download.node-C_QRIakM.mjs → download.node-Cot8qXzn.mjs} +1 -1
  22. package/lib/{fs.node-p28LxQ49.mjs → fs.node-6BiRJR_i.mjs} +1 -1
  23. package/lib/{fs.node-BOfQnDum.js → fs.node-CVEodnBo.js} +1 -1
  24. package/lib/modules/filemanager/components/CustomDropdown/CustomDropdown.d.ts +1 -1
  25. package/lib/modules/filemanager/components/VersionHistoryModal/VersionList/VersionList.d.ts +1 -1
  26. package/lib/pages/filemanager/SearchContext.d.ts +1 -1
  27. package/lib/pages/filemanager/ViewContext.d.ts +1 -1
  28. package/lib/pages/giftCode/index.d.ts +1 -1
  29. package/lib/pages/info/ChequebookInfoCard.d.ts +1 -1
  30. package/lib/pages/info/WalletInfoCard.d.ts +1 -1
  31. package/lib/providers/FileManager.d.ts +1 -1
  32. package/lib/providers/Settings.d.ts +10 -0
  33. package/lib/theme.d.ts +1 -1
  34. package/lib/{upload.node-BsycYU0Z.mjs → upload.node-Do4ZBa7z.mjs} +3 -3
  35. package/lib/{upload.node-BOc26jHW.js → upload.node-Lj4JAWof.js} +3 -3
  36. package/lib/utils/bee-error.d.ts +22 -0
  37. package/lib/utils/common.d.ts +1 -0
  38. package/lib/utils/desktop.d.ts +4 -0
  39. package/lib/utils/index.d.ts +1 -0
  40. package/package.json +9 -6
  41. package/build/assets/index-BWr_7okq.js +0 -126
  42. package/build/assets/vendor-ethers-Dmh4iz5c.js +0 -87
  43. package/build/assets/vendor-react-mui-Dv6xxk4a.js +0 -227
package/README.md CHANGED
@@ -133,6 +133,22 @@ pnpm start
133
133
  pnpm run desktop # This will inject the API key to the Dashboard
134
134
  ```
135
135
 
136
+ #### Mock Bee proxy
137
+
138
+ To manually test error handling without breaking a real node, `utils/mock-bee-proxy.js` proxies all requests to a local
139
+ Bee node (`http://localhost:1633`) and can override selected endpoints with failure responses:
140
+
141
+ - `pnpm mock:bee` — base script; pass-through by default, configurable via env variables
142
+ - `pnpm mock:bee:nofunds` — preset: `POST /stamps/*` fails with `400 "out of funds"`
143
+ - `pnpm mock:bee:poor` — preset: `GET /wallet` reports near-zero xBZZ/xDAI balances
144
+
145
+ The proxy listens on `http://localhost:11633` — point the dashboard's Bee API endpoint (Settings page) there.
146
+ For cases not covered by the presets, set the env variables (`STATUS`, `MESSAGE`, `POOR_WALLET`, `PLUR`, `WEI`) directly:
147
+
148
+ ```sh
149
+ STATUS=507 MESSAGE='batch too large' pnpm mock:bee
150
+ ```
151
+
136
152
  ## File Manager
137
153
 
138
154
  The File Manager module provides intuitive decentralized file storage and management.
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/fs.node-DwBlG7zh.js","assets/vendor-react-mui-Dv6xxk4a.js","assets/index-BWr_7okq.js","assets/vendor-ethers-Dmh4iz5c.js","assets/index-DMp5phAM.css"])))=>i.map(i=>d[i]);
2
- import{_ as s}from"./vendor-react-mui-Dv6xxk4a.js";import{e as l}from"./vendor-ethers-Dmh4iz5c.js";import{F as w}from"./index-BWr_7okq.js";async function f(e,t,r,a,o){const i=await u(e,new l(t),r.path,{...a,act:!1},o);let n;r.previewPath&&(n=await u(e,new l(t),r.previewPath,{...a,act:!1},o));const c={uploadFilesRes:i.reference.toString(),uploadPreviewRes:n?.reference.toString()};return await e.uploadData(t,JSON.stringify(c),{...a,act:!0},o)}async function u(e,t,r,a,o){const{isDir:i}=await s(async()=>{const{isDir:c}=await import("./fs.node-DwBlG7zh.js");return{isDir:c}},__vite__mapDeps([0,1,2,3,4]));return await i(r)?y(e,t,r,a,o):p(e,t,r,a,o)}async function p(e,t,r,a,o){try{const{readFile:i}=await s(async()=>{const{readFile:_}=await import("./fs.node-DwBlG7zh.js");return{readFile:_}},__vite__mapDeps([0,1,2,3,4])),{data:n,name:c,contentType:d}=await i(r);return await e.uploadFile(t,n,c,{...a,contentType:d},o)}catch(i){throw new w(`Failed to upload file ${r}: ${i}`)}}async function y(e,t,r,a,o){try{return await e.uploadFilesFromDirectory(t,r,a,o)}catch(i){throw new w(`Failed to upload directory ${r}: ${i}`)}}async function F(e,t,r,a,o){if(!r.path)throw new Error("File path is required.");const i=await f(e,t.batchId,r,a,o);return{reference:i.reference.toString(),historyRef:i.historyAddress.getOrThrow().toString()}}const h=Object.freeze(Object.defineProperty({__proto__:null,processUploadNode:F},Symbol.toStringTag,{value:"Module"})),S=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));export{S as _,h as u};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/fs.node-B87L1gKf.js","assets/vendor-react-mui-tUcmOwCz.js","assets/index-Dd3cxIPS.js","assets/vendor-ethers-DdwEM-gK.js","assets/index-DMp5phAM.css"])))=>i.map(i=>d[i]);
2
+ import{_ as s}from"./vendor-react-mui-tUcmOwCz.js";import{k as l}from"./vendor-ethers-DdwEM-gK.js";import{F as w}from"./index-Dd3cxIPS.js";async function f(e,t,r,a,o){const i=await u(e,new l(t),r.path,{...a,act:!1},o);let n;r.previewPath&&(n=await u(e,new l(t),r.previewPath,{...a,act:!1},o));const c={uploadFilesRes:i.reference.toString(),uploadPreviewRes:n?.reference.toString()};return await e.uploadData(t,JSON.stringify(c),{...a,act:!0},o)}async function u(e,t,r,a,o){const{isDir:i}=await s(async()=>{const{isDir:c}=await import("./fs.node-B87L1gKf.js");return{isDir:c}},__vite__mapDeps([0,1,2,3,4]));return await i(r)?y(e,t,r,a,o):p(e,t,r,a,o)}async function p(e,t,r,a,o){try{const{readFile:i}=await s(async()=>{const{readFile:_}=await import("./fs.node-B87L1gKf.js");return{readFile:_}},__vite__mapDeps([0,1,2,3,4])),{data:n,name:c,contentType:d}=await i(r);return await e.uploadFile(t,n,c,{...a,contentType:d},o)}catch(i){throw new w(`Failed to upload file ${r}: ${i}`)}}async function y(e,t,r,a,o){try{return await e.uploadFilesFromDirectory(t,r,a,o)}catch(i){throw new w(`Failed to upload directory ${r}: ${i}`)}}async function F(e,t,r,a,o){if(!r.path)throw new Error("File path is required.");const i=await f(e,t.batchId,r,a,o);return{reference:i.reference.toString(),historyRef:i.historyAddress.getOrThrow().toString()}}const h=Object.freeze(Object.defineProperty({__proto__:null,processUploadNode:F},Symbol.toStringTag,{value:"Module"})),S=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));export{S as _,h as u};
@@ -1 +1 @@
1
- import{R as d,P as m}from"./vendor-ethers-Dmh4iz5c.js";import{T as e}from"./index-BWr_7okq.js";import"./vendor-react-mui-Dv6xxk4a.js";async function u(r,t,a,s,o){s&&(s=f(s));const n=await fetch(`${t}/${a}/${r.toString()}`,{method:"GET",headers:{...o?.headers,...l(s)},signal:o?.signal});if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);if(!n.body)throw new Error("ReadableStream is not supported in this environment.");return n.body}function l(r){const t={};if(!r)return t;const a=e.asObject(r);return a.redundancyStrategy&&(t["swarm-redundancy-strategy"]=String(a.redundancyStrategy)),e.isBoolean(a.fallback)&&(t["swarm-redundancy-fallback-mode"]=a.fallback.toString()),a.timeoutMs&&(t["swarm-chunk-retrieval-timeout"]=String(a.timeoutMs)),t}function f(r){const t=e.asObject(r,{name:"DownloadOptions"});return{redundancyStrategy:e.asOptional(a=>e.asInteger(a,{name:"redundancyStrategy"}),t.redundancyStrategy),fallback:e.asOptional(a=>e.asBoolean(a,{name:"fallback"}),t.fallback),timeoutMs:e.asOptional(a=>e.asInteger(a,{name:"timeoutMs",min:0}),t.timeoutMs),actPublisher:e.asOptional(a=>new m(a),t.actPublisher),actHistoryAddress:e.asOptional(a=>new d(a),t.actHistoryAddress),actTimestamp:e.asOptional(a=>e.asNumber(a,{name:"actTimestamp"}),t.actTimestamp)}}async function w(r,t,a,s,o){const n=[];for(const i of r){const c=await u(i,t,a,s,o);n.push(c)}return n}export{w as downloadBrowser};
1
+ import{R as d,P as m}from"./vendor-ethers-DdwEM-gK.js";import{T as e}from"./index-Dd3cxIPS.js";import"./vendor-react-mui-tUcmOwCz.js";async function u(r,t,a,s,o){s&&(s=f(s));const n=await fetch(`${t}/${a}/${r.toString()}`,{method:"GET",headers:{...o?.headers,...l(s)},signal:o?.signal});if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);if(!n.body)throw new Error("ReadableStream is not supported in this environment.");return n.body}function l(r){const t={};if(!r)return t;const a=e.asObject(r);return a.redundancyStrategy&&(t["swarm-redundancy-strategy"]=String(a.redundancyStrategy)),e.isBoolean(a.fallback)&&(t["swarm-redundancy-fallback-mode"]=a.fallback.toString()),a.timeoutMs&&(t["swarm-chunk-retrieval-timeout"]=String(a.timeoutMs)),t}function f(r){const t=e.asObject(r,{name:"DownloadOptions"});return{redundancyStrategy:e.asOptional(a=>e.asInteger(a,{name:"redundancyStrategy"}),t.redundancyStrategy),fallback:e.asOptional(a=>e.asBoolean(a,{name:"fallback"}),t.fallback),timeoutMs:e.asOptional(a=>e.asInteger(a,{name:"timeoutMs",min:0}),t.timeoutMs),actPublisher:e.asOptional(a=>new m(a),t.actPublisher),actHistoryAddress:e.asOptional(a=>new d(a),t.actHistoryAddress),actTimestamp:e.asOptional(a=>e.asNumber(a,{name:"actTimestamp"}),t.actTimestamp)}}async function w(r,t,a,s,o){const n=[];for(const i of r){const c=await u(i,t,a,s,o);n.push(c)}return n}export{w as downloadBrowser};
@@ -1 +1 @@
1
- import{s as i}from"./index-BWr_7okq.js";import"./vendor-react-mui-Dv6xxk4a.js";import"./vendor-ethers-Dmh4iz5c.js";async function p(r,a,e,n){const s=[];for(const o of a)s.push(r.downloadData(o,e,n));const t=[];return await i(s,o=>{t.push(o)}),t}export{p as downloadNode};
1
+ import{s as i}from"./index-Dd3cxIPS.js";import"./vendor-react-mui-tUcmOwCz.js";import"./vendor-ethers-DdwEM-gK.js";async function p(r,a,e,n){const s=[];for(const o of a)s.push(r.downloadData(o,e,n));const t=[];return await i(s,o=>{t.push(o)}),t}export{p as downloadNode};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/__vite-browser-external-9jrN1CIx.js","assets/vendor-react-mui-Dv6xxk4a.js","assets/vendor-ethers-Dmh4iz5c.js","assets/index-BWr_7okq.js","assets/index-DMp5phAM.css"])))=>i.map(i=>d[i]);
2
- import{_ as i}from"./vendor-react-mui-Dv6xxk4a.js";import{F as m}from"./index-BWr_7okq.js";import"./vendor-ethers-Dmh4iz5c.js";const p=new Map([[".mp4","video/mp4"],[".webm","video/webm"],[".ogv","video/ogg"],[".mp3","audio/mpeg"],[".m4a","audio/mp4"],[".aac","audio/aac"],[".wav","audio/wav"],[".ogg","audio/ogg"],[".png","image/png"],[".jpg","image/jpeg"],[".jpeg","image/jpeg"],[".gif","image/gif"],[".webp","image/webp"],[".avif","image/avif"],[".svg","image/svg+xml"],[".pdf","application/pdf"],[".txt","text/plain"],[".md","text/markdown"],[".json","application/json"],[".csv","text/csv"],[".html","text/html"],[".htm","text/html"]]);async function g(t){const{extname:e}=await i(async()=>{const{extname:n}=await import("./__vite-browser-external-9jrN1CIx.js").then(o=>o._);return{extname:n}},__vite__mapDeps([0,1,2,3,4])),a=e(t).toLowerCase();return p.get(a)||"application/octet-stream"}async function u(t){const{existsSync:e,lstatSync:a}=await i(async()=>{const{existsSync:n,lstatSync:o}=await import("./__vite-browser-external-9jrN1CIx.js").then(r=>r._);return{existsSync:n,lstatSync:o}},__vite__mapDeps([0,1,2,3,4]));if(!e(t))throw new m(`Path ${t} does not exist!`);return a(t).isDirectory()}async function v(t){const{createReadStream:e}=await i(async()=>{const{createReadStream:s}=await import("./__vite-browser-external-9jrN1CIx.js").then(c=>c._);return{createReadStream:s}},__vite__mapDeps([0,1,2,3,4])),{basename:a}=await i(async()=>{const{basename:s}=await import("./__vite-browser-external-9jrN1CIx.js").then(c=>c._);return{basename:s}},__vite__mapDeps([0,1,2,3,4])),n=e(t),o=a(t),r=await g(t);return{data:n,name:o,contentType:r}}export{g as getContentType,u as isDir,v as readFile};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/__vite-browser-external-D_bWAWBK.js","assets/vendor-react-mui-tUcmOwCz.js","assets/vendor-ethers-DdwEM-gK.js","assets/index-Dd3cxIPS.js","assets/index-DMp5phAM.css"])))=>i.map(i=>d[i]);
2
+ import{_ as i}from"./vendor-react-mui-tUcmOwCz.js";import{F as m}from"./index-Dd3cxIPS.js";import"./vendor-ethers-DdwEM-gK.js";const p=new Map([[".mp4","video/mp4"],[".webm","video/webm"],[".ogv","video/ogg"],[".mp3","audio/mpeg"],[".m4a","audio/mp4"],[".aac","audio/aac"],[".wav","audio/wav"],[".ogg","audio/ogg"],[".png","image/png"],[".jpg","image/jpeg"],[".jpeg","image/jpeg"],[".gif","image/gif"],[".webp","image/webp"],[".avif","image/avif"],[".svg","image/svg+xml"],[".pdf","application/pdf"],[".txt","text/plain"],[".md","text/markdown"],[".json","application/json"],[".csv","text/csv"],[".html","text/html"],[".htm","text/html"]]);async function g(t){const{extname:e}=await i(async()=>{const{extname:n}=await import("./__vite-browser-external-D_bWAWBK.js").then(o=>o._);return{extname:n}},__vite__mapDeps([0,1,2,3,4])),a=e(t).toLowerCase();return p.get(a)||"application/octet-stream"}async function u(t){const{existsSync:e,lstatSync:a}=await i(async()=>{const{existsSync:n,lstatSync:o}=await import("./__vite-browser-external-D_bWAWBK.js").then(r=>r._);return{existsSync:n,lstatSync:o}},__vite__mapDeps([0,1,2,3,4]));if(!e(t))throw new m(`Path ${t} does not exist!`);return a(t).isDirectory()}async function v(t){const{createReadStream:e}=await i(async()=>{const{createReadStream:s}=await import("./__vite-browser-external-D_bWAWBK.js").then(c=>c._);return{createReadStream:s}},__vite__mapDeps([0,1,2,3,4])),{basename:a}=await i(async()=>{const{basename:s}=await import("./__vite-browser-external-D_bWAWBK.js").then(c=>c._);return{basename:s}},__vite__mapDeps([0,1,2,3,4])),n=e(t),o=a(t),r=await g(t);return{data:n,name:o,contentType:r}}export{g as getContentType,u as isDir,v as readFile};