Releases: retrixe/ecthelion
1.4.0
Compatible with Octyne 1.x, targets Octyne 1.4.x.
🎉 Ecthelion v1.4 overhauls the entire user interface, bringing a proper light mode to the dashboard and introducing new splashes of colors! Users can set their own color scheme on their browser, and administrators can configure a default color of their choice. In terms of features, it adds an interactive editor to change Octyne's settings (much more user friendly!)
Ecthelion also comes built into Octyne now in the form of Octyne Web UI 🎉 This removes the need for standalone installation in most cases, and the documentation has been updated correspondingly.
Minor Changes
- Support Octyne TOML configurations: 6b9fc71
- Add default out/ folder for Octyne builds: 301031c
- Overhaul docs for standalone Ecthelion: eda05e3
- Document
/apiURLs for Octyne 1.4+: 03533f9 - Update advice on Octyne
/apiURLs: 38922ee - Improve README for multi-node setups: 194feff
- Edit config save label, remove reload button: f055135
- Begin working on settings GUI: d76d48a
- Largely complete interactive settings: e31869c
- Add logging and Redis roles to config editor: 44e7e87
- Move settings into expansion panels: b5c7498
- Introduce logging actions to config editor: 938b478
- Introduce server config editing: 4f3d040
- Add config to add new servers: eb50008
- Swap primary/secondary colors: d2be056
- New theme dropped: BLACKPINK in your area~: f268f45
- Use system dark/light theme by default: 0ec80c2
- Add user preference for Ecthelion color: 3a5a14a
- Support all MUI colors: 0b47f54
- Allow configuring the default color in config.json: abd9aca
Patches
- Bump vite from 6.0.4 to 6.0.14: #44
- Fix exporting Ecthelion to static HTML/JS: 8bf3099
- Update all dependencies, exclude out/ from ESLint: 5c61724
- Fix git out/ and Prettier CRLF handling: 0f9af71
- Avoid obscuring server switch menu with Snackbars Fixes #50: 8f32640
- Reverse nodes in server switch menu Fixes #51: e9f1335
- Fix broken Codemirror: effabf3
- Descriptive error handling for secondary nodes: c99e333
- Split visual config editor into smaller components: 3f2072a
- Remove TODOs from interactive editor: b14b753
- Fix server deletion being broken: f806576
- Fix color schemes with various buttons: 312dec7
- Fix anime theme after changing localStorage key: b4a118b
1.3.1
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
FileManagerwith 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
Filescomponent. - Multiple node support on
/serverspage. - 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
/serverspage. - Consider switching to
npm. - Merge the MUI
v5branch. - 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
