updates dependencies
currently, there is a bunch of security issues, mostly from old dependencies. this PR aims to fix that
- build web-client with
viteinstead of the deprecatedvue-cli- way faster build time, ESM hot replacement
- add
strictcompile options - add
lang="ts"to all script tags - ~~commonize eslint #534~~
- bump all packages to latest versions
- will reenable dependabot updates after that
immutable@5is still in beta, even ifnpm outdatedmarks it as updatableeslint@9is too recent for plugins to support it yet
- drop doc generation (outdated and unused)
- drop dead web-client/src/components/data/preview (unused and depending on removed code)
also partially fix a race condition when receiving peers in decentralized. it would need a better synchronisation mechanism (an ACK when peer updates are done, like a real RPC) to ensure that slower nodes are indeed ready to communicate.
also rework the cypress tests to remove some uneeded files, and add a test of the training.
soo, I driffted a bit from the original PR aim, oupsi
- added ~workaround for "unknown signal from peer"
- update cypress tests
- change training to expose logs of round & epochs and avoid mutating objects
- remove a bunch of dead/killable callbacks
- rm now obsolete TrainingInformant
- GraphInformant is still around as it is used by Tester/Validator; but I don't see the need for keeping track of the evolution of the accuracy, do we remove it?
I got an error specific to silicon chips when trying to build the web-client However the package-lock.json got modified, so I'm pushing it so you can check it out and decided whether to keep the now one or revert the previous one.
yeah, it's a faster moving space now that dependencies are actual again. vue and friends are moving fast and we're only enforcing major versions.
btw, in between your remarks and me updating the PR, it changed again :rocket:
- During training, logs are not displayed in the "Training logs" div, but raw logs get printed in the lower left corner of the screen
ho, I forgot to actually load a theme in the Toaster! I don't think we really need messages at all (the toaster itself is alreay quite fancy, there are better way to show that's models are training such as via the graphs we have). but for now, I forwarded the logger output in there, that makes it a bit more fun to watch. and a test that messages are shown.
- After training, clicking on Test the model doesn't work and instead of a toaster, the error "Model not trained" gets also printed in the lower left corner of the page
ho, it seems that the model is not stored in memory automatically anymore. last commit should fix it.
If you have the time and motivation, writing test cases for these errors would be great! 😁
héhé, and regressions tests added. it's actually super fast to write some with vitest's components testing. we have no more excuses!
another point: after discussion with Klavdiia, it seems that I forgot to reimplement the calling of onBatch{Begin,End}, so no communication (or saving of the models) was done anymore! it wasn't catched because the server tests weren't shuffeling the datasets and the same initial model was used.