development_unify_archipelago_framework #21

Merged
timur merged 15 commits from development_unify_archipelago_framework into development 2026-02-20 11:47:46 +00:00
Owner
No description provided.
- Flatten calendar/calendar/ → calendar/ (single crate, one level up)
- Flatten files/filesystem/ → files/ (single crate, one level up)
- Flatten mycelium/mycelium/ → mycelium/ (single crate, one level up)
- Port contacts from identity/contacts/ → contacts/ (flat archipelago pattern)
- Update all workspace, server, and example path references
- Add core/src/sizing.rs (use_archipelago_size hook)
- Update core island traits and wrapper components
- Update server generated files, archipelagos.rs, island_display.rs

Part of: Unify and document archipelago framework (#12)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Merge chat, chats, chat_preview, and message into a single
hero_archipelagos_messaging crate following the flat archipelago
pattern (same as contacts). The archipelago owns routing, data
fetching, and responsive layout; islands are pure view components.

- Deduplicate get_initials() (was in 5 places), format_time helpers
- Deduplicate new_chat_view into ChatForm (pure view, receives props)
- Merge chat_service + chats_service into messaging_service
- Add archipelago.rs with Route enum, responsive sidebar layout
- Update server, examples, and workspace references

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace 5 overlapping metadata files (archipelagos.rs, generated/registry.rs,
generated/router.rs, generated/props_registry.rs) with a single registry.rs that
uses the Archipelago trait. Single-crate archipelagos implement the trait in their
own crates; multi-island archipelagos have trait impls defined in the server registry.
Strip build.rs down to only generate island_content.rs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace per-service port URLs with proxy path prefixes:
- osis_url() -> {api_host}/hero_osis
- forge_url() -> {api_host}/hero_forge
- shrimp_url() -> {api_host}/hero_shrimp

When api_host is empty (default), URLs are relative to the page
origin, routing through hero_proxy automatically.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
All island crates now re-export metadata() and their main App component
at crate root via `pub use island::{metadata, XxxApp}`. This enables a
uniform import pattern: `use hero_archipelagos_foo::metadata` instead of
needing to know whether a crate uses island:: or archipelago:: submodules.

Also adds api_host field to remaining IslandContext construction sites
(server, examples, build.rs code generator).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove host/port props from embed islands and use context.api_host
for iframe URLs, routing through hero_proxy instead of direct
host:port connections.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds `draggable: true` to IslandHeader in contacts and filesystem
archipelagos, providing cursor: move styling for host-controlled drag.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update heroforge_webdav_client → herofossil_webdav_client and
hero_forge.git → hero_fossil.git references in Cargo.toml files,
source code, and documentation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Convert hero island from Dioxus service dashboard to iframe embed of /_admin
- Create admin archipelago grouping: hero, zinit, indexer, compute, shrimp
- Add trailing slash to compute and shrimp iframe URLs for correct relative path resolution
- Remove unused hero island files (api.rs, types.rs, views/)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Books gets its own top-level dock item instead of being nested
in the Development group.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix drag-drop file upload via DataTransfer API (files island)
- Resolve SIDs to names in business search results
- Display song names instead of raw SIDs in playlists
- Default projects view to Board with detail placeholder
- Add CI scripts (test-all, ci-local, ci-docker, ci-patch-deps)
- Add Makefile targets for test-all, ci-local, ci-docker
- Add livekit_bridge clippy suppression
- Run cargo fmt across entire workspace

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Ensures relative paths in the router UI resolve correctly under the
/my_router_path/ proxy prefix.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add ghent_theme() with Apple Blue accents matching the hero_osis
seed data. Set it as is_default and the default_dark_theme fallback.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use try_write() in sizing.rs ResizeObserver to prevent panics when
signals are dropped after component unmount. Set api_host default to
http://localhost:8080 in build.rs and generated island content.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
merge: incorporate development branch into unified archipelago framework
Some checks failed
Build and Test / build (pull_request) Failing after 4m8s
7c9d29d5c5
Merge origin/development into development_unify_archipelago_framework.
Kept our refactored architecture throughout — development's changes were
primarily cargo fmt formatting and api_host field additions that are
already handled differently in our restructured codebase.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
timur merged commit e55f0a5e39 into development 2026-02-20 11:47:46 +00:00
timur deleted branch development_unify_archipelago_framework 2026-02-20 11:47:53 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_archipelagos!21
No description provided.