Skip to content

feat: Profiles and services

Kristóf Marussy requested to merge kris7t/sophie:profiles-services into main

This MR adds support for declaring profiles (i.e., isolated stores for cookies and other site data) and services (i.e., sites to be loaded in separate tabs) in config.json5. People can use the sidebar to switch between services.

Sophie main window with service buttons

There is currently no support for recipes that provide website integration (e.g., unread message counts), but the infrastructure is in place to display unread message counts.

I'm unsure about the architecture style and the coding style. I tried to create something that's reactive to minimize potential bugs caused by event orderings (the loadServices reaction synchronizes store state with electron state, and there's no event-driven code except to update the store state), but there's probably lots of room for improvement. Also, we should add more tests (but the electron-specific parts are somewhat tricky to test).

Fixes #1 (closed).

Signed-off-by: Kristóf Marussy kristof@marussy.com

Edited by Kristóf Marussy

Merge request reports