Today’s pass on Realm’s server panel was all file manager: ripped out the old tree-sidebar explorer and replaced it with a flat table-row browser, matching the same table-ification sweep the rest of the panel got this week (allocations, databases, backups).
The old file manager was built around FileManagerTreeSidebar (643 lines), a persistent expandable tree on the side, drag-and-drop context (ExplorerDragContext, 261 lines), a separate context-menu component (FileTreeContextMenu, 401 lines), and its own icon/media/upload util files. All of that’s gone now. In its place:
- FileObjectRow — one row per file/folder in a 12-col grid: checkbox + icon + name, size, relative modified time, and a dropdown menu on the right. Right-click still works, it just dispatches a custom event to open the row’s own dropdown instead of mounting a separate tree context-menu component.
- FileDropdownMenu — replaces FileTreeContextMenu. Same actions (rename, copy, archive/extract, download, chmod, delete) but scoped per-row instead of per-tree-node.
- FileManagerBreadcrumbs — simple path breadcrumb bar, replacing the always-visible tree for navigation.
- SelectFileCheckbox — per-row selection, feeding the existing MassActionsBar for bulk delete/move.
- FileManagerContainer — rewritten around the new row list (585 lines touched, net smaller).
Also folded PullFileButton into NewDirectoryButton (renamed file, kept git history via rename-detection) and moved NewDirectoryButton + SftpDetailsButton off the old Dialog/asDialog HOC pattern onto the shared Modal component — same one now used by all the wizard modals across the panel, so file manager dialogs finally look consistent with everything else instead of being the last holdout on the old dialog system.
Net effect: 38 files touched, ~1,150 lines added, ~4,250 removed. Deleted six now-dead util files outright (archivePathUtils, fileExplorerDrag, fileMediaUtils, fileTreeIcons, fileUploadUtils, useFileEditingPresence) along with their routes in routes.ts. No behavior loss — same actions available, just row-based instead of tree-based, and finally matching the modal/table conventions the rest of the panel converged on this week.
Comments 3
bro, it is good but add an smtp or email api or nodemailer to send verificztion code when new user sign up as anyone can use anyone email
and foor now no server is available
good call for the email verification. there is no server because the server is currently only attached to the demo account stated in the github readme.
Sign in to join the conversation.