Skip to content

0.4.0

Choose a tag to compare

@robwent robwent released this 25 Aug 19:58
· 23 commits to main since this release

Charter arrives. This release makes the node fully charter-aware on both sides of the federation:

Charter listings sync and browse. Synced charter listings from partners are stored, browsed, and previewed exactly like sale listings — with their own admin screens. The OpenYacht menu now separates the two inventories the way real brokerage sites do: Sale Listings, Charter Listings, Synced Sale, and Synced Charter are each their own page, so lists are never mixed and navigating into a listing and back keeps your place. Charter listings show their weekly rate range wherever a price is displayed (charter has no asking price by design — its pricing is the seasonal rate block).

Charter authoring begins. New listings choose their type — for sale or for charter — at creation (the type is part of the listing's identity and never changes afterwards). Charter listings serialize to the wire with the schema's type rules honored: a charter block and a null asking price. Authoring the charter details themselves (rates, operating areas, crew) comes in a later release; until then an own charter listing serves an empty but valid charter block.

Two new public hooks for display layers and bridges: openyacht_copy_media_cached fires the moment a synced copy's images finish caching (copy events fire before the background fetch, so this is the first moment renditions exist to render), and openyacht_copy_selection_changed fires when a listing is imported or removed from import.

Also: the admin menu carries the OpenYacht yacht mark instead of a stock icon, and the browsing screens' filter rows sit on their own line.