Repository navigation
[electrophysiology_browser] Electrophysiology browser 3.0 | Dynamic Channel Amplitude | Reworked 3D Sensor Map | Navbar | State management | Strict static checking | Miscellaneous Features - #11003
Open
MaximeBICMTL wants to merge 4 commits into
Conversation
MaximeBICMTL
force-pushed
the
ephys-browser-frontend
branch
from
July 24, 2026 18:20
a6667d9 to
5895401
Compare
MaximeBICMTL
force-pushed
the
ephys-browser-frontend
branch
from
July 24, 2026 18:37
5895401 to
9237eb0
Compare
MaximeBICMTL
force-pushed
the
ephys-browser-frontend
branch
from
August 11, 2026 14:26
9237eb0 to
9ab4c5d
Compare
MaximeBICMTL
force-pushed
the
ephys-browser-frontend
branch
3 times, most recently
from
August 18, 2026 03:35
138d665 to
5070faa
Compare
MaximeBICMTL
force-pushed
the
ephys-browser-frontend
branch
2 times, most recently
from
September 24, 2026 12:46
409c74a to
1c29429
Compare
maximemulder
marked this pull request as ready for review
September 24, 2026 13:04
This was referenced Sep 24, 2026
MaximeBICMTL
force-pushed
the
ephys-browser-frontend
branch
2 times, most recently
from
October 6, 2026 04:32
02fddb0 to
c67b938
Compare
MaximeBICMTL
force-pushed
the
ephys-browser-frontend
branch
from
October 14, 2026 12:19
c67b938 to
ab38cff
Compare
MaximeBICMTL
force-pushed
the
ephys-browser-frontend
branch
from
October 23, 2026 12:07
ab38cff to
d444186
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR modernizes the electrophysiology browser in preparation for MEG support in LORIS. This PR is purely focused on front-end changes in the electrophysiology browser and can be reviewed and tested as a standalone. Changes that depend on changes to the LORIS backend or imaging pipelines are submitted separatedly in the appropriate repositories.
Scope
This PR aims to only touch the
modules/electrophysiology_browser/jsxdirectory. Changes outside of this directory are few and easy to review, due to renames and (desirable) changes in the test or build system.First commit is #11211, see that PR (now closed in favor of this one) for more details.
Testing
Before testing that PR, you need to regerate the
chunk_pb.jsfile since protobuf has been updated, do so withnpm installormake dev.protocneeds to be installed to generate the file (just as before).As before, building the full electrophysiology browser (
npm run build) front-end can be done with either theEEG_VIS_ENABLED=trueenvironment or database configuration.Known issues
This PR has a few known issues, which I believe are minor and outside of the scope of this PR.
This PR reuses the
Panelfrom the LORISjsx, which has two issues:ReactNode, which creates apropTypeswarning.initCollapsedprop does not work, which makes panels always uncollapsed originally.The HED Dataset Manager is still a weird button that looks like it is in the navbar but actually is not and is tied to an acquisition with absolute positioning. This looks even weirder with the new navbar but is a bug that is already present and can be fixed separately.
The navbar does not go to the real bottom of the page, this is due to the LORIS footer, which has weird CSS. The principled fix would be to fix the footer CSS or implement a reusable sidebar architecture in LORIS, not something that can be done without extending the scope of this (massive) PR.
Features
General
Series Viewer
Float32Arrayrather than vanilla Javascript arrays.Navbar
(3D) Montage
Architecture
State management
State management has been completely revamped, dropping the old overengineered Redux/Ramba-based Frankensteinish abomination that no one actually understood (sorry not mincing my words lol, no hard feelings though). State management now uses standard React state and context hooks.
File organization has been revamped to group files by feature rather than layer~ish organization.
Dependencies
Removed:
redux,react-redux,redux-actions,redux-logger,redux-observable,redux-thunk,rxjs,ramda,react-compound-slider,d3-3d,resize-observer-polyfill,tslib,@types/react-redux.Added:
three,@react-three/fiberand@react-three/drei(the 3D sensor mapis now rendered with WebGL instead of
d3-3dSVG projections).Upgraded:
google-protobuf3 → 4.Static tests
This PR enables full strict type checking for the electrophysiology browser.
It also removes the ESLint ignore that was used for much of the module files. The only override that is kept for the module is a 100-character line limit.
Other notes
The translation updates have been AI-generated.