Skip to content

Update Logs

carefree0910 edited this page May 20, 2023 · 34 revisions

If something in Roadmap is finished, or I fixed some bugs/implemented some new features/wrote some Wiki, I'll put them here.

2023-05-21

  • Improved accessibility, now we can use runtime environment variables, so deployment will be much easier.

Beware that these variables shoud NOT contain any sensitive information, since they will be exposed to the frontend!

  • Supported IListField (392c027).
  • Supported editing text color in TextEditor (010d7e5).
  • Supported 'input & search' in SelectField (6d6073d).
  • Fixed project management system with FileLock (97ca37d and some following commits).
  • Supported I18N in ISelectField (607fef4).

2023-05-14

  • Implemented ISelectLocalField (102a887).
  • Extracted some common settings to the env (see Environment Variables for more details).
  • Wrote Design Details of the plugin system.
  • Supported requirements & notification (b295e03).
  • Improved accessibility, now the --unified mode can let you deploy carefree-drawboard 🎨 to your own server with zero modifications.
  • Improved user experience by hiding plugins when users:
    • clicked on the drawboard 🎨.
    • pressed the Esc key.

2023-05-07

  • Supported PluginGroup (which is also a plugin), so we can manage plugins better (605eabd).
  • Introduced nodeConstraintRules system (ecaf5fd).
  • Supported socket-based constraints (i.e., send socket message to the backend to see if we should show the plugin or not) (8dd450b).

This serves as a universal fallback.

  • Replaced some events with mobx store, which improves the performance/maintainability quite a lot.
  • Implemented cfdraw build CLI, which can be used to build the frontend assets.
  • Supported extra_responses.

So we can deliver some extra data to the frontend.

  • Implemented send_exception.

So we can send exceptions to the frontend more easily.

  • Optimized the positioning system (a6e8501 and some commits around it).
  • Supported i18n stuffs at backend side (e3c8ce4).

So we can specify the label, tooltip, and (almost) any other messages in an internationalized way at backend side (e.g., Python).

  • Implemented a (simple) ChatPlugin (cbe5911).
  • Unified useOnMessage (f2dd7cf), so now implementing new plugins will be much easier and much less error-prone.
  • Implemented the carefree-creator example.

And therefore launched the first public available, production ready, AI magics powered drawboard 🎨 (click here to try it out).

  • Supported adding blank canvas.

Which is essential for techniques such as outpainting.

  • Implemented ISelectLocalField (102a887).

2023-04-30

  • Some nice CircularProgress are introduced at pending status & working status (6899641).
  • Internal plugins (e.g., sync) can now bypass the RequestQueue and be executed immediately (5f60042).
  • Introduced ElapsedTimes system (ceab3d4).
  • Supported tooltip for plugins (ae5d114).
  • Upgraded general styles (c544865, a6e6f38).
  • Fixed known issue: interactions on the drawboard 🎨 will be interrupted if the mouse slipped pass any plugin (be1b433).
  • Supported specifying more settings via backend (i.e., Python) (c4853b2).
  • Some meta data will now be injected to the PNG images processed by the drawboard 🎨 (cec4195, 5cfb178).
  • Introduced authentication system (now will only check for userId).
  • Introduced loading page (2029161).
  • Supported deleting projects (56edbe5).
  • Introduced Auto Save.
  • Supported guarding the loading page until target resources are loaded (See Loading Page for more details).
  • Supported icon loading animation (1a16b2d).
  • Supported specifying numRows (815409f).

So we can make some fields (typically, the ITextField) larger, which may provide better user experience.

2023-04-23

  • Hosting is now supported.
  • Google Colab example is now provided.
  • Tornado integration is now supported.
  • Removed tornado stuffs and replaced them with FastAPI.

Rapid changes, huh?

  • http stuffs are deprecated, socket stuffs are ready.
  • RequestQueue is implemented (pretty nicely).

2023-04-16

  • Implemented SyncSocketPlugin & useSyncPython (4c06392).
    • Now we can send Definitions & Settings from Python to React via WebSocket instead of file system.
    • This also ease the migration from Python to other programming languages, because all communications between frontend and backend are now based on a static set of APIs (see Extensibility for more details).
  • Somehow wrote a brief guide on how to write plugins in other programming languages (the Extensibility section).
  • Supported Hide All / Show All plugins (516b0f3).
Clone this wiki locally