- Removed unnecessary test data from `deduped_mycelium_master.vsh`.
- Simplified `MyceliumStreamer.listen()` to efficiently handle
incoming messages, removing redundant code and improving readability.
- Enhanced error handling in `MyceliumStreamer.listen()` for more robust
operation.
- Added worker ID to master and worker configurations for improved
identification and management.
- Implemented worker registration and data synchronization mechanisms
to enable distributed data access.
- Added a read function to retrieve data from specific workers,
enhancing data access flexibility.
- Improved logging for better monitoring and debugging of the system.
- Added continuous data writing and verification to the master node
to ensure data persistence and integrity.
- Simplified worker update handling in the `listen` function for
better efficiency and error handling. The previous implementation
had unnecessary complexity and potential for hangs.
- Changed Mycelium worker port to avoid conflict with master.
- Added debug print statements to Mycelium client for better troubleshooting.
- Removed unnecessary `SyncData` struct, simplifying data handling.
- Updated data encoding/decoding to directly use base64 for efficiency.
- Clarified message topic names for better understanding.
- Refactor database streamer to support multiple workers.
- Add master node to manage and distribute data updates.
- Implement worker nodes to receive and apply updates.
- Remove unnecessary slave node.
- Improve error handling and logging.
- Use base64 encoding for JSON compatibility in data transfer.
- Renamed the topic for database synchronization messages from
'db_sync' to 'sync_db' for clarity.
- Updated the Mycelium slave to decode base64 payload before
processing and to log received messages and their source.
- Added logging to the Mycelium streamer to track sent messages.
- Added a new feature to retrieve and log the last index from the
worker after syncing updates. This improves monitoring and
debugging capabilities.
- Refactor data synchronization logic to use Mycelium messages for
efficient updates between master and worker nodes. This removes
the previous inefficient polling method and simplifies the code.
- Update the slave node to receive and apply updates from the
master, improving synchronization efficiency and robustness.
- Change the default slave port to 9000.
- Rename `db` variable to `worker` for clarity.
- Introduces `MyceliumStreamer` for synchronizing data across a
Mycelium network, enabling distributed data access.
- Allows adding multiple worker nodes to the streamer for data
replication and redundancy.
- Provides `write` and `read` methods for seamless data
management across nodes.
- Added message reply functionality to both master and slave
nodes to enable a two-way communication flow for database
synchronization. This improves the robustness and reliability
of the database synchronization process.
- Enhanced the database synchronization process by allowing the
slave node to send the last inserted record ID to the master
node. This provides better tracking of data changes.
- Remove unnecessary public key printing in master node.
- Use variable for slave public key in master node.
- Add message receiving functionality to master node.
- Remove redundant sending logic from slave node.
- Added `deduped_mycelium_master.vsh` to demonstrate a master node
sending data.
- Added `deduped_mycelium_slave.vsh` to demonstrate a slave node
receiving data. These scripts showcase basic inter-node
communication using the Mycelium library.
- Removed unnecessary dependencies and improved code structure in `webdav` module.
- Updated VFS configuration to use global VFS instance for WebDAV app.
- Renamed example VFS file to reflect WebDAV functionality.
- Removed redundant code and simplified app initialization.
- Used the vfs interface to interact with files and dirs.
- Add user authentication to the WebDAV server using a user
database.
- Implement encoding and decoding functionality for directories,
files, and symlinks in the OurDBFS VFS.
- Add comprehensive unit tests for the encoder and decoder
functions.
- Improve the OurDBFS factory method to handle directory creation
more robustly using pathlib.
- Add `delete` and `link_delete` methods to the `NestedVFS` and
`OurDBVFS` implementations (though currently unimplemented).
- Improve WebDAV file handling to correctly determine and set the
content type. The previous implementation was incomplete and
returned a dummy response.
- Update VFS test to actually test functionality.
- Remove unnecessary `root_dir` parameter from the WebDAV app.
- Replace custom VFS implementations with the core VFS module
- Simplify VFS setup and configuration in example code
- Improve code maintainability and consistency
- Replaced the old webdav server example with a CLI application.
- Added command-line flags for port, directory, username, and password.
- Improved usability and configurability of the webdav server.
- Added a new config template file to be loaded when starting the server
- Run the server in zinit as a service
- Fix the install, destroy, installed, and running functions
- Renamed the `mycelium` module to `mycelium_installer` to improve clarity and avoid naming conflicts.
- Updated all related files and references to reflect the name change.
- Remove redundant code and improve the overall structure of the installer actions.
- Add more robust error handling and logging.
- Update the postgres and dagu `destroy` function to properly remove all related services.
- Improve the `install` function to ensure all necessary components are installed.
- Renamed the `meilisearchinstaller` module and related files to `meilisearch_installer` for consistency.
- Updated import statements and references accordingly.
- Added functionality to install, start, and destroy the Meilisearch service.
- Improved code readability and organization.