-
Notifications
You must be signed in to change notification settings - Fork 129
Update Logs
If something in Roadmap is finished, or I fixed some bugs/implemented some new features/wrote some Wiki, I'll put them here.
- 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
inISelectField
(607fef4).
- 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
¬ification
(b295e03). - Improved accessibility, now the
--unified
mode can let you deploycarefree-drawboard
🎨 to your own server with zero modifications. - Improved user experience by hiding plugins when users:
- clicked on the drawboard 🎨.
- pressed the
Esc
key.
- 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).
- Some nice
CircularProgress
are introduced atpending
status &working
status (6899641). - Internal plugins (e.g.,
sync
) can now bypass theRequestQueue
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.
- Hosting is now supported.
- Google Colab example is now provided.
- Tornado integration is now supported.
- Removed
tornado
stuffs and replaced them withFastAPI
.
Rapid changes, huh?
-
http
stuffs are deprecated,socket
stuffs are ready. -
RequestQueue
is implemented (pretty nicely).
- Implemented
SyncSocketPlugin
&useSyncPython
(4c06392).- Now we can send Definitions & Settings from
Python
toReact
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).
- Now we can send Definitions & Settings from
- Somehow wrote a brief guide on how to write plugins in other programming languages (the Extensibility section).
- Supported
Hide All
/Show All
plugins (516b0f3).