Releases: nod-ai/shark-ui
Releases · nod-ai/shark-ui
v0.6.0
Release v0.6.0
🦈 Welcome to the Next Wave! 🦈
- We've completed our migration to a modern standard library
- We're now putting the finishing touches on our testing infrastructure
🛣️ Roadmap
- complete testing infrastructure
- add test coverage for:
- units
- components
- user stories
- complete UI for SDXL Client
- add BFL Client for Flux
- implement next-gen API
Stay tuned!
Comparison
v0.5.0
Release v0.5.0
🦈 Welcome to the Next Wave! 🦈
- We're investing in testing infrastructure via module standardization and migration to a modern standard library
🛣️ Roadmap
- switch to
effect-tsto streamline codebase - add test coverage for:
- units
- components
- user stories
- complete UI for SDXL Client
- add BFL Client for Flux
- implement next-gen API
Stay tuned!
Comparison
v0.4.0
Release v0.4.0
🦈 Welcome to the Next Wave! 🦈
- We're strengthening our foundation to support our next-gen API.
🛣️ Roadmap
- restructure modules to aid unit test support
- add test coverage for:
- units
- components
- user stories
- complete UI for SDXL Client
- add BFL Client for Flux
- implement next-gen API
Stay tuned!
Comparison
v0.3.0
Release v0.3.0
🦈 Welcome to the Next Wave! 🦈
- We're strengthening our foundation to support our next-gen API, stay tuned!
🗒️ Notes
✨ User Features
🛠️ DX
- @bjacobgordon in #364: "prefeature(library/Attempt): enables type-safe error identification"
- @bjacobgordon in #381: "prefeature(reporting): accompanies user-facing issue dialog with entry to debug log"
- @bjacobgordon in #382: "prefeature(library/Attempt): ensures that built-in errors are escorted on rethrow"
- @bjacobgordon in #386: "prefeature(library/Attempt): reports whenever potentially actionable errors are thrown within new attempts"
- @bjacobgordon in #393: "prefeature(library/Parser): defines string parsers with type-safe errors"
- @bjacobgordon in #417: "prefeature(library/Attempt): adds easier way to "rewrap" discriminated outcomes"
- @bjacobgordon in #419: "prefeature(library/Attempt): adds easier way to "rewrap" outcomes in general"
- @bjacobgordon in #408: "prefeature(library/Attempt): adds easier way to "rewrap" outcomes within fresh attempts"
🪲 Fixes
- @bjacobgordon in #346: "fix(library/Attempt): prevents nested
NonActionableErrorinstances" - @bjacobgordon in #358: "fix(library/Attempt): ensures rethrown errors are offered for interpretation"
- @bjacobgordon in #359: "fix(library/Attempt): avoids nesting built-in non-actionable errors"
- @bjacobgordon in #361: "fix(library/Attempt): hides non-actionable errors from interpreter callback"
- @bjacobgordon in #362: "fix(library/Attempt): considers all escorted errors to be potentially actionable"
- @bjacobgordon in #376: "fix(library/Range): avoids repeated bounds for
inclusiveStepsinDiscreteRange" - @bjacobgordon in #383: "fix(library/Attempt): prevents escort of
NonActionableErrorfor all its subclasses" - @bjacobgordon in #384: "fix(library/HTTP): plugs leaky abstraction"
- @bjacobgordon in #457: "fix(library/URI): adds missing call to
.unwrapped" - @bjacobgordon in #479: "fix(library/URI): avoids serializing non-conformant encodings"
🛁 Refactorings
- @bjacobgordon in #335: "refactor(text-to-image): makes it more obvious that server errors are delegated to caller"
- @bjacobgordon in #336: "refactor(library/Attempt): ensures consistent use of raw
try-catch" - @bjacobgordon in #337: "refactor(library/Attempt): ensures consistent error casting in
try-catch" - @bjacobgordon in #338: "refactor(text-to-image): highlights interpretation concerns in SDXL client"
- @bjacobgordon in #339: "refactor(library/Attempt): makes relationship between adapters and factories more obvious"
- @bjacobgordon in #340: "refactor(library/Attempt): makes guarantee of appropriately thrown errors more obvious"
- @bjacobgordon in #344: "refactor(text-to-image): separates error propagation concerns from SDXL client"
- @bjacobgordon in #348: "refactor(library/Attempt): documents concept of error interpreter"
- @bjacobgordon in #347: "refactor(library/Attempt): moves error interpretation concern to base adapter"
- @bjacobgordon in #349: "refactor(library/Attempt): ensures that
sanctionedAsyncpropagates same way assanctioned" - @bjacobgordon in #350: "refactor(library/Attempt): highlights where failure outcome is actually returned"
- @bjacobgordon in #351: "refactor(library/Attempt): removes unreachable code in async adapter"
- @bjacobgordon in #357: "linter: suppresses compiler error regarding
FlatConfig.LanguageOptions" - @bjacobgordon in #360: "refactor(library/Attempt): simplifies happy path in
Attempt.toEventually" - @bjacobgordon in #363: "refactor: leverages
typeimports/exports to shrink bundle size" - @bjacobgordon in #365: "refactor(library/Attempt): moves
assertPotentiallyActionablecloser to other assertions" - @bjacobgordon in #366: "refactor(library/Attempt): adds
SuccessandFailureto namespace" - @bjacobgordon in #372: "linter: improves config readability via modules"
- @bjacobgordon in #373: "linter: documents custom typescript eslint config"
- @bjacobgordon in #374: "linter: documents custom config for vanilla eslint"
- @bjacobgordon in #375: "refactor(library/Range): simplifies iteration in
DiscreteRange" - @bjacobgordon in #377: "linter: enforces guard pattern"
- @bjacobgordon in #385: "refactor(library/HTTP): repackages
HTTPClientlibrary" - @bjacobgordon in #388: "refactor(library/typeUtilities): preps force parsers for replacement"
- @bjacobgordon in #390: "refactor(text-to-image): extracts conversions from SDXL client"
- @bjacobgordon in #389: "linter: enforces extensible function signatures"
- @bjacobgordon in #391: "refactor(library): preps string parsers for migration to type-safe error propagation"
- @bjacobgordon in #392: "refactor: standardizes guards"
- @bjacobgordon in #394: "refactor(library/NonTrivialString): propagates parsing errors safely"
- @bjacobgordon in #395: "refactor(library/URLPath): propagates parsing errors safely"
- @bjacobgordon in #396: "refactor(library/URLOrigin): propagates parsing errors safely"
- @bjacobgordon in #397: "refactor(library/URI): propagates errors safely when parsing
StructuredSyntaxNameSuffix" - @bjacobgordon in #398: "refactor(library/Byte): propagates encoding errors safely"
- @bjacobgordon in #399: "refactor(library/Base64): propagates conformance errors safely"
- @bjacobgordon in #402: "linter: enforces style of import groupings"
- @bjacobgordon in #403: "linter: minimizes noise in diffs when rearranging unions or intersections"
- @bjacobgordon in #409: "refactor(library/Attempt): dissolves "outcome.ts" into more manageable pieces"
- @bjacobgordon in #412: "refactor(text-to-image): separates response conversion concerns from main logic in SDXL client"
- @bjacobgordon in #415: "linter(style): prevents noise in diffs when modifying generic declarations"
- @bjacobgordon in #413: "refactor(library/Attempt): makes
Attempt.Outcomediscriminant more obvious" - @bjacobgordon in #416: "types(library/Attempt): formalizes constraint of
Attempt.Failurepayload toActionableError" - @bjacobgordon in #418: "refactor(text-to-image): simplifies outcome propagation using "rewraps""
- @bjacobgordon in #420: "refactor(text-to-image): simplifies outcome propagation using static "rewraps""
- @bjacobgordon in #421: "refactor(text-to-image): simplifies outcome propagation using in-attempt rewraps"
- @bjacobgordon in #422: "refactor(library/Base64CharacterEncodedByteSequence): unnests file"
- @bjacobgordon in #423: "refactor(library/Base64CharacterEncodedByteSequence): highlights blockage of parsing propagation"
- @bjacobgordon in #426: "refactor: labels all logic involving serialization"
- @bjacobgordon in #427: "refactor: differentiates string concatenation from numeric addition"
- @bjacobgordon ...
v0.2.0
Release v0.2.0
🦈 Welcome to the next wave! 🦈
- We've tweaked the UI associated with a couple of common user errors.
- We've begun laying the foundation down to broaden our text-to-image scope, stay tuned!
🗒️ Notes
✨ User Features
- @bjacobgordon in #299: "feature(text-to-image): reports offending origin in
Server.ConnectionError" - @bjacobgordon in #300: "feature(text-to-image): adds custom alert for server connection error"
- @bjacobgordon in #315: "feature(reporting): exposes nested error messages to fallback error dialog"
- @bjacobgordon in #321: "feature(text-to-image): makes
Server.SpecificationErrorfeel expected" - @bjacobgordon in #322: "feature(text-to-image): makes paths easier to read when warning about no server config"
🛠️ DX
- @bjacobgordon in #255: "linter: helps minimize diffs by regulating exports"
- @bjacobgordon in #310: "linter: separates exports from declarations for cleaner diffs"
- @bjacobgordon in #222: "refactor(dx): emphasizes all "non-actionable" errors"
- @bjacobgordon in #223: "refactor(dx): enables "actionable" errors to be uniformly detectable"
- @bjacobgordon in #226: "refactor(dx): guides propagation of "actionable" errors"
- @bjacobgordon in #227: "refactor(dx): guides propagation of "non-actionable" errors"
- @bjacobgordon in #228: "refactor(dx): enforces use of guided error propagation"
- @bjacobgordon in #239: "prefeature(library): enables type-safe propagation of "actionable" errors"
- @bjacobgordon in #280: "prefeature: generalizes use of
NonActionableError.rethrow" - @bjacobgordon in #282: "prefeature: requires justification when throwing actionable errors"
- @bjacobgordon in #298: "prefeature(library/vue): makes it more obvious that error UI is missing"
🪲 Fixes
- @bjacobgordon in #214: "fix(text-to-image): ensures config schema parsing falls back to
null" - @bjacobgordon in #215: "fix(text-to-image): ensures user-facing error is presented when server not specified"
- @bjacobgordon in #216: "fix: reverts over-reporting of actionable errors"
- @bjacobgordon in #220: "fix: emphasizes overlooked "actionable" errors"
- @bjacobgordon in #221: "fix(utility): avoids reference race in
Byte" - @bjacobgordon in #236: "fix(text-to-image): ensures that "failed to fetch" is properly caught in SDXL client"
- @bjacobgordon in #237: "fix(library): ensures adapters propagate errors according to their category"
- @bjacobgordon in #252: "fix(library): plugs leak of
OutcomefromAttemptutility" - @bjacobgordon in #257: "fix(text-to-image): broken reference to
generatefunction in client" - @bjacobgordon in #266: "fix(library): ensures that trivial components fail fast in URI utility"
- @bjacobgordon in #278: "fix(library): avoids nesting built-in non-actionable errors in
Attemptutility" - @bjacobgordon in #281: "fix(library): avoids nested stack trace when using
NonActionableError.rethrow" - @bjacobgordon in #279: "fix(library/Attempt): avoids nesting stack traces when using
.throwAnyway()" - @bjacobgordon in #292: "fix(text-to-image): ensures "failed to fetch" errors are properly identified"
- @bjacobgordon in #295: "fix(library/vue): ensures that results are indeterminate for ongoing process"
- @bjacobgordon in #312: "fix(utilities/Repository): ensures parameters can be added to the url of a drafted issue"
- @bjacobgordon in #313: "fix(reporting): corrects missing and malformed error details in issue drafts"
- @bjacobgordon in #323: "fix(library/Attempt): ensures built-in non-actionable errors can be identified post build"
🛁 Refactorings
- @bjacobgordon in #197: "refactor: separates
Servershape and parsing concerns" - @bjacobgordon in #198: "refactor: separates throwing concerns in SDXL client"
- @bjacobgordon in #199: "refactor: avoids coupling of error handling and deferment"
- @bjacobgordon in #200: "refactor: ensures string parser conformance"
- @bjacobgordon in #201: "refactor: makes more obvious the functions that might throw"
- @bjacobgordon in #202: "refactor: improves readability of error handling in SDXL client"
- @bjacobgordon in #203: "refactor(statefulProcess): makes more obvious the functions that might throw"
- @bjacobgordon in #204: "refactor: enables type-safe exception handling"
- @bjacobgordon in #207: "refactor: separates branding concerns from
StringSubset" - @bjacobgordon in #208: "refactor: avoids unconventional "exception" terminology"
- @bjacobgordon in #217: "refactor: emphasizes "actionable" errors"
- @bjacobgordon in #241: "refactor(text-to-image): simplifies
Serverutility via type-safe error propagation" - @bjacobgordon in #242: "refactor(text-to-image): makes it obvious that generation errors need to be handled"
- @bjacobgordon in #251: "refactor(library): makes
Attemptutility simpler to use" - @bjacobgordon in #254: "refactor(dep): migrates to Zod v4"
- @bjacobgordon in #256: "refactor(library): preps parsers for migration to type-safe errors"
- @bjacobgordon in #258: "refactor(library): migrates parsing errors to
Parserutility" - @bjacobgordon in #267: "docs(library): refreshes dev-facing messaging for
Attemptutility" - @bjacobgordon in #293: "types(text-to-image): avoids resolving
TextToImage.Output['image']to an object literal" - @bjacobgordon in #294: "refactor(text-to-image): preps page to handle error state"
- @bjacobgordon in #296: "refactor(library/Attempt): makes it easier to build callbacks for factories"
- @bjacobgordon in #314: "refactor(utilities/Repository): makes it more obvious that error dialog dictates repo issue"
🧹 Chores
- @bjacobgordon in #238: "ci: adds new commit type for features that affect devs and not users"
- @bjacobgordon in #240: "ci: ensures detectability of new commit type"
Dependencies
- @dependabot in #191: "bump typescript-eslint from 8.31.1 to 8.32.0"
- @dependabot in #210: "bump typescript-eslint from 8.32.0 to 8.32.1"
- @dependabot in #271: "bump typescript-eslint from 8.32.1 to 8.33.0"
- @dependabot in #289: "bump typescript-eslint from 8.33.0 to 8.33.1"
- @dependabot in #219: "bump vue from 3.5.13 to 3.5.14"
- @dependabot in #274: "bump vue from 3.5.14 to 3.5.16"
- @dependabot in #194: "bump vuetify from 3.8.3 to 3.8.4"
- @dependabot in #212: "bump vuetify from 3.8.4 to 3.8.5"
- @dependabot in #250: "bump vuetify from 3.8.5 to 3.8.6"
- @dependabot in #269: "bump vuetify from 3.8.6 to 3.8.7"
- @dependabot in #311: "bump vuetify from 3.8.7 to 3.8.8"
- @dependabot in #184: "bump zod from 3.24.3 to 3.24.4"
- @dependabot in [#243](https://...
v0.1.0
Release v0.1.0
🦈 Welcome to the First Release of SHARK UI! 🦈
We're excited to complement Shortfin's text-to-image service. We hope this makes it easier to see what Shortfin's all about!
🚀 Highlights
- Connect to an existing instance of Shortfin
- Experience Shortfin's performance first-hand while generating images with SDXL or Flux
- Explore the codebase to see a concrete implementation of Shortfin's web API
- Lightweight + easy to set up
⚠️ Expect Breaking Changes
v0.X.Xmeans we reserve the right to drop compatibility with prior versions of Shortfin- Compatible with Shortfin v3.4.0, future compatibility is not guaranteed
🪲 Known Limitations
- Text-To-Image
- User inputs for image generation are limited to prompts (positive/negative) and number of diffusion steps.
- Planned: toggle between SDXL- and Flux-specific inputs, user-inputted seed (random/provided), user-inputted CFG Scale
- Image downloads not optimized for slow networks
- User inputs for image generation are limited to prompts (positive/negative) and number of diffusion steps.
- Text-To-Text/Chat: Not yet supported.
🗒️ Notes
🎉 New Contributors! 🎉
Full Changelog: https://github.com/nod-ai/shark-ui/commits/v0.1.0