Moera node & client 0.15.0-beta0
Pre-release
Pre-release
smelamud
released this
01 Feb 01:40
·
155 commits
to master
since this release
New features
- Universal URLs. These new URLs of Moera pages use a central redirector at
moera.page
host and include a node name. Read the details in the documentation.
Improvements
- Browser add-on support removed.
- Node now requires Java 17 for running.
- Developers' naming server is now used in development environments.
- Converted all React components to be functional and use React hooks.
- Generation of Node API classes, JSON schemas and routines in TypeScript and Python from Node API definition in YAML.
- Improved the Node API documentation.
- Improved debug logging of Redux actions, making possible to see actions that caused them.
- Made WebSockets connection more reliable.
- Improved accessibility of buttons that have no text on them.
- Set correct dimensions of image placeholders in the text of posts/comments to avoid layout shifts when loading images.
- Use more convenient wording: "create a blog" instead of "sign up", and "log in/out" instead of "connect/disconnect".
- A lot of refactoring in the client.
- Pass node name in
X-Moera
header. - Less punctuation and mathematical characters are now allowed in node names (thanks to @eliduvid[Eliyahu Duvidzon] for proposal).
Speed improvements
- Improved Redux selectors to avoid unnecessary re-rendering of React components.
- Made client initialization process faster.
- Do not request information about the same node many times.
- Migrated from create-react-app scripts.
- Updated all dependencies that had security issues.
- Replaced some minor dependencies with our own code.
- Reduced size of the main bundle of the client by lazy-loading parts of the code that are not needed on the start.
- Moved WebSockets events processing code to a web worker.
- Precompile JSON schemas and perform validation in a web worker.
- Do not build FontAwesome icon library on the start, because it blocks the main thread for a while.
- Avoid duplicate requests to the naming server. Cache names for several naming servers and do not clean the cache after switching user.
- Do not show a loading indicator if loading is fast enough.
Bugfixes
- Remove escaping backslash only when it prepends a smiley (thanks to @tigra[Tigra] for reporting).
- Allow
<strike>
tag. Use<s>
for strikeout in the editor in HTML mode (thanks to @Igor.braginsky[Igor Braginsky] for reporting).