RELEASE CANDIDATE - UPDATE WITH CARE AND DONT RUSH IT
This is not a full release. Do not pull this unless, you are interested into providing user experience and bug reports.
Bug-reports can be commented here:
OctoFarm Issue #665
Release candidate 1 for version 1.2.0
Long awaited release candidate named 1.2.0-rc1
where we introduce a lot of bugfixes for printer management, code cleanup and optimization for Windows OS based installs where SystemInformation (CPU, RAM, disk) would massively slow down the OctoFarm server. Now that this has been resolved, users should look forward to a great experience using OctoFarm 1.2 RC2 and it's final release in future!
Secondly we introduce prototypes for version 2.x NestJS server and VueJS client prototypes to show you we are not standing still here at OctoFarm.
Furthermore we've cleaned up a lot of the views and code on the server to be able to convert them to releases for 1.2.x and 2.x .
James gave printer management and the settings panels a massive robustness boost with a lot more stability to be expected.
David has introduced a new bundling system with Webpack which replaces the slower Gulp. The builds for this webpack based bundle are now going to be pushed to NPM under the package name @octofarm/client
: https://www.npmjs.com/package/@octofarm/client
Finally David has written a lot of unit, integrations and API tests using jest
and mongodb-memory-server
which have already worked a treat in catching bugs in the PR's which came after!
Happy Printing!
David and James
Pull-requests
- PR #631 Windows/Linux OctoFarm server speedup (x5/x10 performance improvement due to SystemInfo being horribly slow) (David)
- PR #545 printer settings management is now passing the right serial connection data to OctoPrint (James)
- Save notifications: 1 save confirmation message combined instead of 3 separate saving messages
- Server calls: removed a lot of redundant OctoPrint API calls, speeding up the save response by 2x/3x
- Failure robustness: errors wont break the settings dialog anymore
- Added back Offline checks to prevent OctoPrint connection errors for fetching or updating settings
- #531 #562 port preference option now used to check if the printer is Offline/Disconnected
- #532 printer settings dialog now grabs fresh data from OctoPrint - it didnt do this correctly before
- PR #597 added OctoPrint API compatibility checks and new call to OctoPrint API 1.6.0 for plugin manager (David)
- Fixed small bug in the main state
Runner
w.r.t.settingsAppearance
not being properly checked for being undefined
- Fixed small bug in the main state
- PR #575 separated and optimized the client for the OctoPrint API to get it out of main state
Runner
(David) - PR #585 added ability to choose HTTPS separately from WSS for websockets (James)
- PR #570 Node 12/13 (<14) abort page failed due to Node 14+ syntax (David)
- #546 Node 12/13 abort page added and fixed to actually work for Node12. Added docker node 12 test Dockerfile
- PR #406 History Analysis cache refactored (David)
- #576 hotfix of History Analysis -
ReferenceError: Cannot access 'checkNested' before initialization
- #577 hotfix of History Analysis -
sumValuesByGroup undefined
- #381 Found and removed 1 out of 2 circular imports
- PR #568 New OctoFarm databases doesnt crash anymore with
PrinterClean x of undefined
by preventing a heatMap database initialization race condition inprinterClean.js
- #576 hotfix of History Analysis -
- PR #601 API testing and users/registration route init optimization (David)
- PR #426 File Analysis refactored (David)
- PR #419 Job Analysis refactored (David)
- PR #580 Remove ensureIndex warning, update mongodb-driver mongoose and avoid circular import of the main state
Runner
(David) - PR #505 Version 1.2.x/2.x NestJS server is now merged and we will keep it compatible and up-to-date with version 1.x releases (David)
- PR #560 VueJS version 2.x client prototype introduced (James)
- PR #571 VueJS client migrated to Typescript (James)
- PR #556 #564 updates of used NPM package dependencies like pkg and gulp (David)
- PR #583 massive code cleanup by running Prettier with
"prettier --write \"./server_src/**/*.js\" \"./test/**/*.js\""
(David) - PR #557 Patreons synced with last state (James)
- PR #657 Printer management got a beautiful re-design (James)
- PR #653 #654 Noty fix for Webpack (Unix folder name case sensitivity issue)
- PR #655 Flatted library updated and applied fixes. Also introduced node-module for client bundle.
- PR #660 NODE_ENV variable is now set to
production
per default to make sure webpack bundle is loaded from @octofarm/client
Issues and improvements to be resolved for 1.2-rc2
- #605 having no spool selected shows
null
instead ofNo Spool
- #606 Expected units total is displaying 0 with spool selected
- #607 Allow Current User to be saved in database / Editable in UI
- #615 Refactor the printer settings saving flow
- #617 Resyncing printer shows "Shutdown" shortly
- #618 Root cause not yet found/fixed (file property exception of job which is incorrectly null)
- #624 MongoDB Error saving farmPrinter in trackCounters after printer creation
- #548 printer management table is not looking to good (wrapping)
- #538 Filament / History Graphs stay "loading..." when no data presented if outside 30 day window
- #536 Client is too slow to respond to server restart, iAmAlive check comes back too quick
- #388 Completely Depricate Wiki and move over to website (or whats left of it)
- #374 Couple server port to .env and ditch serverSettings prop
- #366 history.js file and cleanup