Releases: retrixe/ecthelion
1.3.0
Compatible with Octyne 1.x, targets Octyne 1.3.x.
🎉 Ecthelion v1.3 adds:
- an enhanced file editor powered by CodeMirror with syntax highlighting,
- a navigation menu to switch servers in the side bar,
- support for the new Octyne 1.3 transactional file API and enhanced console errors,
- and fixes a large variety of bugs.
Minor Changes
- Add file to links in file list, update Yarn: 6921e60
- Handle WebSocket close codes in console-v2: d1c503f
- Prefix all localStorage keys with
ecthelion:
: 5b013f3 - Add mass deletion progress, fixup mass action code: c419fb3
- Leverage new file transaction API for mass actions: 48845cb
- Add dashboard menu to switch app quickly (fix #24): f2f291a
- Update README, dynamic import Editor: ee502ba
- Use CodeMirror editor, fix dynamic editor import (closes #35): d34b48f
Patches
- Fix go back not closing file editor/download popup: ea4d9b4
- Fix Actions CI, update Yarn and deps: 55ecfdc
- Update all dependencies, use ESLint v9: 9021d72
- Move to Vitest from Jest: 5dd82c4
- Replace ESLint Love with Prettier and recommended: 67995fd
- Enable several more ESLint rules: 14eb95d
- Fix error with console, use terminal icon: 81567aa
- Remove unneeded ky context, fix files icon: f276c58
- Fix potential bugs with empty node query: 0e0028c
- Force re-render of console and file on nav: 5b3817a
1.2.0
Compatible with Octyne 1.x, targets Octyne 1.2.x.
🎉 Ecthelion v1.2 brings a bunch of massive improvements (particularly to the file manager!) and supports all new Octyne v1.2 features!
Ecthelion also moved to Yarn v4 with this update, which you may need to make adjustments for.
Minor Changes
- Show Octyne version on /about page: a4a22c2
- Show servers that are marked for deletion: 6fb7ebf
- Strip ANSI terminal escape sequences from console: 03f54a9
- Improve error messages in account management page: bdb208e
- Add account rename support for Octyne 1.2: 03c6038
- Add cookieAuth config, better logged in detection: 7d56160
- Rename localStorage.token to
ecthelion:token
. This avoids conflicting with any other applications: 75a97ef - Don't block file manager during upload/mass action. Also, restyle the file upload/mass action overlay to be elevated: ad4e945
- Add upload progress, auto append .zip on compress: 28a9e1b
- Add progress to moving/copying files mass action: f3cdcff
- Migrate to Yarn v4 and PnP from v1: a91fc53
- Support new tar compression APIs: 03a365a
- Support Octyne v1.2 async + basePath compression: a30e5d8
Patches
- Enable ESLint rules around Promise misuse: 428a3ca
- Explicit function return types are a good idea: dcff78c
- Upgrade all dependencies: 7fe5623
- Drop inline styling where it's unwieldy: e00fabd
- Fix file manager search focus issues. File manager search will keep applying when downloading/viewing files. Ctrl+F/F3'ing again will select the search box contents, like Chrome: 1b792ec
- Fix broken func arg regression from dcff78c: d1edae1
- Fix file refetch, snackbar blink on file download: 90c7945
- Rename cookieAuth option, improve its docs: 4110a75
- Disable tests, since ky going ESM-only broke Jest: 2025be9
- Replace history when navigating from broken path: 32aad0d
- Fix LinearProgress looking visually frozen: a92b6a9
1.1.0
Compatible with Octyne 1.x, targets Octyne 1.1.x.
🎉 Ecthelion v1.1 brings a bunch of improvements and supports all new Octyne v1.1 features!
- Added Jest and GitHub Actions for improved testing.
- The Properties tab is now gone, since it wasn't useful.
- Console will now reconnect if the connection drops.
- Console also supports the new v2 API which reduces disconnects (requires Octyne v1.1+).
- The stop button will now use SIGTERM instead of SIGKILL to try gracefully stop apps instead of killing them (requires Octyne v1.1+).
- Remove WIP from mass actions dialog, since they work fine. Compression is also fully working with Octyne v1.1+.
- The About page has been transformed into a complete Settings panel now with account management and Octyne configuration 🎊 🚀 (requires Octyne v1.1+).
- Server list now refreshes every second with the latest status of apps.
- The top bar has been redesigned with icon buttons instead 🎊
- The file explorer now uses
?file=
in path, so you can now link to individual files 🎉 Additionally, if you link to a file directly in the folder path e.g./dashboard/x/files/file.txt
, you will automatically be redirected to the correct?file=
path 🎊
Minor Changes
- Setup Jest and GitHub Actions: 88025af
- Drop useless Properties tab: 17d1dcf
- Add reconnecting to /console, support hot reload: a1544fd
- Prepare for cookie-based authentication: 9bd3ad2
- Use SIGTERM on Octyne 1.1, drop 1.0 STOP support: 71334d0
- Support console v2 API, with console v1 fallback: e658115
- Remove WIP from dialog, fix 10s upload timeout. Mass actions are not WIP, they are feature complete. Compression is also fully functional with Octyne 1.1: 7ca1b55
- Move /about into new Settings page: e22f7d8
- Add account management page: 13a65d8
- Add configuration page to settings. Adds support for the new Octyne 1.1 /config APIs: 1032ad1
- Split useInterval, refresh server list every 1s: a9411dc
- Use icon buttons for top bar (except for Servers): 5eeef1a
- Use Apps icon to replace Servers button: 73113e7
- Add filename to path query when opening in editor: f3062be
- Handle downloads through ?file= param too! 🚀: e326f7b
- Redirect user if folder path leads to a file 🚀: c51d5d3
- Support shift+click in the file explorer! 🚀: 65d72ae
Patches
- Fix issues with CI: 1d65d8a
- Fix /servers login and console reconnect bug. /servers used to show loading indefinitely when not logged in. Console would spam WebSocket connections in case of failures: 16bf106
- Fix refetching immediately with SIGTERM: d0b9970
- Improve process statistics header: 24fe79f
- Make Editor props more flexible: c2b9ff3
- Fix bit of padding, add extra note for console-v1: 0ba1693
- Support more errors in file explorer: 73753de
- Update all dependencies, adjust for ESLint: 425ed39
- Opt into some ESLint rules, prepare for more: ab557a6
- Remove unnecessary component memoisations: 2e1a46b
- Bump json5 from 1.0.1 to 1.0.2: #27
- Upgrade more deps to fix vulnerabilities: f147beb
1.0.1
Compatible with Octyne 1.x, targets Octyne 1.0.x.
Minor bug fix update.
Patches
- Add static export, install instructions to README: 07094ed
- Fix linking when using basePath: 860ec1c
- Rename AnchorLink to UnstyledLink: 53d0c6b
- Update Quick Start guide: a72186a
- Apply search when input has been focused once. When switching folders in the file manager, search won't apply until you focus the search field again: 9885800
- Fix authentication failures being mishandled: c020d9a
1.0.0
Compatible with Octyne 1.x, targets Octyne 1.0.x.
🎉 Long overdue, Ecthelion 1.0.0 is finally here! (Not that it was needed, but here you go ;)
This includes support for a new config property called basePath
, the file list is finally virtualised (much faster for lots of files, and shows long file names nicely too and a lot of code has been streamlined using ky
for network requests. Apart from these features, some warnings have been fixed, dependencies updated, and many bugs have been squashed as well.
Major Changes
Minor Changes
- Support custom basePath for Ecthelion: 702b396
Patches
- Fix React 18 and disabled button warnings: f18c95f
- Update all package dependencies: cfedc8f
- Rename FileManager, fix going back to / folder: 5ff4132
- Fix Files error handling bug, use main IP for auth. DashboardLayout was using nodes to logout. Handle files compression error in case of a network request failure. Fix a brief error shown when the files dashboard page loads: 3bb3609
- Fix find shortcut being blocked in Files Editor: 375b222
- Fix ESLint warn, error when omitting config props. You can now omit basePath/nodes without compile errors. Removed a warning when building the app: 0dcc9ee
- Migrate to Next.js v13: b7beb47
- Fix long file names, case-insensitive sort, more. FileList now wraps long file names and adds a text hover title. FileList now sorts files case-insensitively. Editor now saves files in the correct location. ZIP files are now decompressed in the correct location: 1f14e26
1.0.0-beta.3
🎉 Another Ecthelion beta release!
Ecthelion beta.3 finally lands support for multiple Octyne nodes 🎉 you can now manage multiple servers running Octyne from one Ecthelion instance! It also shows the current file path in the title now, and adds redirects to /login
to go back to where you were. Internally, it updates React to v18 and Next.js to v12 as well.
What's left for Ecthelion 1.0:
- Merging #25 (virtual file list).
- Fixing an error in Editor associated with the React 18 update.
- Refactoring
FileManager
with some code cleanups and proper 404s when folders aren't found.
Ecthelion 1.0 should hopefully be out in the next month or two, but I confidently recommend using this in production environments, as it has been tried and tested for the past year in alpha stage without any bugs, and care is taken not to introduce any new ones with this one.
A note about ETAs: 1.0 may come out tomorrow or 2023. I'm a single developer and it's hard for me to give out anything concrete. I would say 2 months is my worst case prediction at the moment, while next week is my best case prediction. Don't expect any accuracies with these ETAs. My advice: it doesn't matter. These pre-releases are in excellent shape.
Minor Changes
- Don't render login input box on server, fix vuln: 449d089
- React 18 update, use startTransition in console: 7ad460a
- Add redirect parameter to login page: 7716532
- Fix broken files tab, add file path/name to title: 43be6da
- Add support for multiple nodes to /servers page: bcd28f5
- Fix routing for multiple Octyne nodes. Multiple Octyne node support is now feature complete: 39ccfbf
Patches
- Bump ansi-regex from 5.0.0 to 5.0.1: #16
- Update Next.js to v12: 6194c1c
- Bump next from 12.0.8 to 12.1.0: #20
- Bump ajv from 6.12.0 to 6.12.6: #21
- Fix React 18 console regression, use ref for IDs: fded657
- Use flexbox for layout height, better console size: 2a2353c
- Revert console layout change (fixes scrollbar). Reformat uploadButton a little: 3b86038
1.0.0-beta.2
🎉 Another Ecthelion beta release!
Ecthelion beta.2 is somewhat less substantial than beta.1, but we've still fit in a big UI rework and a bunch of improvements behind the scenes 🎊 Batched console updates ensure console performs consistently even when receiving thousands of lines per second (previously even printing ten lines would cause visible visual delay), the performance of FileList has improved, some prerequisite refactors needed for virtualising FileList have been done, noindex
tags have been added to the dashboard, and last but not least, Ecthelion has been updated to MUI v5 \o/
Well, you may ask what's special about MUI v5. The UI now has improved font sizes, text fields, dialogs, button sizes and spacing, and the opportunity was taken to carefully tweak the theme to look much better than before. It looks like a matte black website now, if websites could be matte black. The groundwork for advanced theming has been laid down as well, and the following theming options have been added to the /about
page 🎊
These options were fairly easy to add, and whilst not a priority, Ecthelion could eventually be themed in powerful ways right from your /about
page fairly easily if someone were to work on it. The current priority, however, is mainly on features that matter (aww) so this is really not something I (hint: if you could, I would definitely appreciate a PR ;) will spend my time working on.
What's left for Ecthelion 1.0:
- Some refactoring to the
Files
component. - Multiple node support on
/servers
page. - Virtualise the file list.
Ecthelion 1.0 should hopefully be out in the next 6 months at this pace, but I confidently recommend using this in production environments, as it has been tried and tested for the past year in alpha stage without any bugs, and care is taken not to introduce any new ones with this one.
A note about ETAs: Yes, beta.2 came out mere 4 days after beta.1, aka I have some spare time to work on Ecthelion. 1.0 may come out tomorrow or 2023. I'm a single developer and it's hard for me to give out anything concrete. I would say 6 months is my worst case prediction at the moment, while next week is my best case prediction. Don't expect any accuracies with these ETAs. My advice: it doesn't matter. These pre-releases are in excellent shape.
Major Changes
- Update to MUI 5: #15
Minor Changes
Patches
1.0.0-beta.1
🎉 The first Ecthelion beta release \o/
Ecthelion beta.1 comes with signficant improvements :^) The /files
page now uses catch-all routes so URLs look like /dashboard/server/files/a/b
instead of ?folder=a%2Bb
, much cleaner! Invalid servers and nodes are handled correctly now, and many bits of code have been cleaned up. Most media queries have been replaced with CSS equivalents, which enables a smooth experience with no layout shifting, and console performance has been increased further on Chrome-based browsers. Some bugs with the new way of downloading files has been fixed too.
What's left for Ecthelion 1.0:
- Batching many console updates in a short period.
- Clear out a lot of logic from Files component.
- Multiple node support on
/servers
page. - Consider switching to
npm
. - Merge the MUI
v5
branch. - Virtualise the file list.
- Refreshed theme.
Ecthelion 1.0 should hopefully be out in the next 6 months at this pace, but this version is still easily production ready, and I recommend using this in production environments as it has been tried and tested for the past year in alpha stage without any bugs.
Major Changes
- Fix folder navigation bug and use catch-all route: beb0c87
Minor Changes
- Handle invalid server/node, refactor some code: d144c86
- Improve console a lot. Use column-reverse on Chrome again. Move buttons to their own React component. Remove authWrapperCheck: d33d852
- Use more CSS media queries, isolate ConsolePage: c682269
Patches
- Fix authentication edge-case, use Next.js 10.1. Also prepare for Webpack 5 with no named JSON exports: b774f59
- Update to Next.js 10.2, update deps: 827626d
- Bump glob-parent from 5.1.0 to 5.1.2: #11
- Update dependencies, fix file download issue: f5e3f2f
- Update ESLint and TypeScript: de89888
- Remove authWrapper, fix download prompt. Refactor bits of FileManager, nothing too extensive: 3c68d6e
- Bump next from 11.1.0 to 11.1.1: #14
- Use explicit error types to avoid VSCode: 42e7154
1.0.0-alpha.2
🎉 A substantial improvement to Ecthelion \o/
Ecthelion 1.0.0-alpha.2 now requires Octyne 1.0 to function correctly, as it now relies on the one-time ticket system to connect to console and download files, which is far less finnicky than using cookies. It also adds the statistic page (another feature that only works better when paired with Octyne 1.0) and relies upon the path
URL param instead of React state to know the location of the file manager, enabling navigation using browser buttons. Mass actions now run in parallel for significantly better performance, and compression/decompression is also supported (another 1.0 feature). It also finally adds a favicon and updates titles to contain server names. Apart from these, there were a number of bug fixes and improvements.
What's left for Ecthelion 1.0:
- Batching many console updates in a short period.
- Multiple node support on /servers page.
- Refreshed theme and navigation.
- Handle invalid server/node.
- Code refactors.
Progress has been slow and steady, but Ecthelion works well enough, only deficient in code quality, performance and multi-node support. This must be addressed before the 1.0 release.
Major Changes
- Add statistics page and use URL param as path: a8864ea
- Drop cookies and use one-time tickets instead. Requires Octyne 1.0: 29a900f
Minor Changes
- Make mass actions async for a 2x speed-up. Make use of React.memo for more perf: 57d8b1f
- Update Next.js, React, add loading progress bars: 846b02d
- Remove a large number of TODOs and update titles: ca5fd2e
- Add favicon: f426924
- Add CPU/RAM usage and update elliptic: 29a96a7
- Add (de)compression support: 080601f
Patches
1.0.0-alpha.1
🎉 This is the first formal version of Ecthelion \o/ Ecthelion has been stable for quite some while, hence this is a formal shift to versioning.
Most current users should expect (if not already on the latest commits):
/servers
logout will correctly send logout request to Octyne.- Support for Octyne over HTTPS.
- Patched cookie support for file downloads.
- Drag-and-drop files into editor.
- Select files by Ctrl+Clicking.
- A fully dark theme.
/about
page.- Much faster console. Like really, much faster. And copying is sane now. And the text will stay in one place while you scroll instead of going crazy. And no more flickering either.
What's left (some of which are 1.0 blockers):
- Refreshed theme and navigation.
- Shift+Clicking files, uniform titles, shared editor between properties/files, multiple node support on
/servers
page. - Batching many console updates in a short period.
- Adding a favicon.
- Parallelized mass actions.
- Fixed cookie authentication.
Ecthelion 1.0 won't really be releasing until an Octyne 1.0 is out though so that's the biggest blocker.