You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A Go library that provides C#-style events and delegates with full generic type support. GAction enables type-safe event handling and callback management patterns commonly found in C# and other .NET languages.
Osysharp.Color — an Osy# package. colour maths — hex and OKLCH, WCAG contrast, readable-on, mixing, and palettes (light and dark) suggested from one base colour.
Osysharp.Localization — an Osy# package. a translator's desk: untranslated and stale words and data in every language, and overrides that survive a recompile.
Osysharp.Reports — an Osy# package. reports a team builds for itself — start from one thing the app keeps, pick fields by following its relations, group, measure (counts, totals, averages, medians and percentiles) and filter, all computed in the database as the reader may read it — read as figures, a table and a chart, exported as CSV, saved and sh
Osysharp.Conversations — an Osy# package. one conversation across channels — a single ordered timeline of messages, notes and events per conversation, visibility per entry enforced by rules (internal never reaches a customer), channels as adapters (email, SMS), a chat widget for a page or as a launcher in its corner with the app's own help above th
Osysharp.ClassBookings — an Osy# package. bookable sessions with numbered places that are never overbooked — a first-come waiting list whose freed places are offered for a limited time (or given at once) on a durable clock, booking windows, late cancellation and no-shows heard as events for the app to charge, check-in, walk-ins and the register clo
Osysharp.Webhooks — an Osy# package. outbound webhooks — an administrator subscribes an endpoint to any of the events the app and its kits raise about a record; each one is sent as a JSON document signed the Standard Webhooks way under a secret shown once and kept sealed, delivered durably after the commit with doubling retries, given up on in the
Osysharp.UserManagement — an Osy# package. the user manager: a searchable people list (roles, two-step sign-in, last sign-in, sessions), and audited access changes — grant and revoke the app's roles, deactivate and reactivate, reset a lost second factor, sign out everywhere, and the same within an organisation; API keys issued once and revoked at o
Osysharp.RecordTimeline — an Osy# package. a record's timeline, from the events the app and its kits raise — one line per event on the record it is about and on each record it rolls up to, said in the reader's words from the event's own sentence, shown only to somebody who may read the record, kept for a declared time; one component to place it on
Osysharp.Sms — an Osy# package. text messages an app sends — one message shape, a pluggable sender, an outbox that delivers after the commit and holds messages when there is no sender.
Osysharp.OfferSales — an Osy# package. sell a few simple offers — a ticket, a pass, a pack, a membership — online through any payment provider, by transfer or pay-at-the-desk marked received, or across a counter (cash, a card terminal, a reader or a QR code), for the buyer or somebody they buy for; prices, sale windows, limited places and a per-per
Osysharp.Assignments — an Osy# package. durable assignments: a piece of work somebody asked for, owned until its outcome is reached — completion by declared criteria (or a written exception), re-openable with its record; agent runs, processes, requests and handoffs attached to it; progress told apart from activity; waiting, blocked, overdue and sta
Osysharp.TimeZone — an Osy# package. the app's clock — the time zone its days start in and the day its week starts, picked by staff from the app's declared zones on one settings page and read by every kit that counts in days.
Osysharp.ShiftScheduling — an Osy# package. a staff rota — shifts with a number of places, positions and what working one requires (answered by the app, or a qualifications kit), drafts published in one go, places a manager assigns or a worker claims (never over-filled, one place a shift, no overlaps, approved time off, weekly unavailability and an
Osysharp.UserAccounts — an Osy# package. sign-in (password, or a provider such as Google or GitHub, linked from the account page), sign-up, password reset and change, verified address change (one the desk can start, confirmed from the new address) and verification, an address proven by a mailed link or code, two-step sign-in with an authenticator a