TexteaInc / funix

Building web apps without manually creating widgets
http://funix.io
MIT License
89 stars 10 forks source link

feat: history enhancement & secret setting #67

Closed Yazawazi closed 1 year ago

Yazawazi commented 1 year ago
  1. Most widgets are bound to formData (for roll backing or view in the history page/dialog, the data is rolled back together with the widget state);
  2. Use IndexedDB instead of LocalStorage to get more space;
  3. You can set whether to save the history, the default is on. When you can't save the history, it no longer crashes.
  4. Fixed the alert box content rendering misalignment
  5. (Important) Fixed bug that can bypass secret auth (for -s startup users)
  6. You can set the app secret in frontend (set the secret of all pages).

Notes:

  1. FileUploadWidget do not save your files' metadata;
  2. FileUploadWidget and Sheet may have performance issues (when rollback);
  3. Some widgets are not bound to formData (like columns with examples, almost never used, not described in the documentation, code logic is more complex);
  4. Not fully tested.

TODO.

After the merge, release 0.4.1.

socket-security[bot] commented 1 year ago

New dependency changes detected. Learn more about Socket for GitHub ↗︎


👍 No new dependency issues detected in pull request

Bot Commands

To ignore an alert, reply with a comment starting with @SocketSecurity ignore followed by a space separated list of package-name@version specifiers. e.g. @SocketSecurity ignore foo@1.0.0 bar@* or ignore all packages with @SocketSecurity ignore-all

Pull request alert summary
Issue Status
Install scripts ✅ 0 issues
Native code ✅ 0 issues
Bin script shell injection ✅ 0 issues
Unresolved require ✅ 0 issues
Invalid package.json ✅ 0 issues
HTTP dependency ✅ 0 issues
Git dependency ✅ 0 issues
Potential typo squat ✅ 0 issues
Known Malware ✅ 0 issues
Telemetry ✅ 0 issues
Protestware/Troll package ✅ 0 issues

📊 Modified Dependency Overview:

➕ Added Package Capability Access +/- Transitive Count Publisher
localforage@1.10.0 network +2 tofumatt
notistack@3.0.1 environment +1 iamhosseindhv
Yazawazi commented 1 year ago

I hope there is no big problem now.

For useEffect widgets that use formData as a dependency, they have no complex logic (except Sheet, sorry, I don't want to refactor it 😭), so I think they can accept multiple renders.

For FileUploadWidget, I recommend using Funix's Web API for large files and files with more than 5 files, and for files with more than 35 MB total, it's best to turn off saving history in the settings.