Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Nov 25, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

seefeldb and others added 4 commits November 25, 2025 10:10
…2161)

feat(runner): editWithRetry returns passed function's return value

runtime.editWithRetry(fn) returns `{ ok }` or `{ error }` now, with `ok` being the return value of the inner function if the tx was successful
* midway checkpoint, WIP: initial implementation of schema support for various new functions

* widen literal enums into their base types

* test: update fixtures for schema injection with literal type widening

All cell(literal) calls now use widened base types per new spec.

* fmt

* first draft of supporting new schemas

* fmt, lint

* add many new fixtures and update notes doc with current state

* added a new method to generateSchema, update test expectations

* fix: add undefined as first arg for Cell.of<T>() with no value

When Cell.of<T>() is called with a type argument but no value argument,
the schema was incorrectly being placed as the first argument. The schema
must always be the second argument, so now undefined is inserted as the
first argument when no value is provided.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>

* fix: remove schema from resolved link when path field is undefined in schema

When resolving a link with a remaining path, if `getSchemaAtPath` returns
`undefined` (because the field doesn't exist in the schema), the resolved
link should have no schema property rather than keeping the parent schema.

Previously, the code spread `...nextLink` which would include the original
schema, then conditionally added the new schema only if truthy. This meant
an undefined schema from `getSchemaAtPath` would leave the original schema
in place.

The fix:
1. Destructures `schema` out of `nextLink` to prevent it from being spread
2. Uses `schema \!== undefined` instead of truthiness check to properly
   handle empty object schemas `{}`
3. Only adds `schema` back to the result if it's explicitly not undefined

Example: An array schema `{type: "array", items: {type: "number"}}` linked
through a path to `.length` should result in `schema: undefined` since
"length" is not defined in array schemas.

---------

Co-authored-by: Bernhard Seefeld <[email protected]>
Co-authored-by: Claude <[email protected]>
* Implement `favorites` cell concept

* Access user DID

* Grant ACL for the home space on creation

* Rebase on `main`

* Fix lint / typecheck

* Format

* Optimistically update favorite icon

* Fix review comments

* First round of feedback

* Refactor from class -> functions

* Always use `this.space`

* Remove EntityId from call signatures

* Rework ACL logic for home space

* `window` -> `globalThis` lint

* Final comment/cleanup pass

* Format pass

* Remove unused `getHomeCell` method
@pull pull bot locked and limited conversation to collaborators Nov 25, 2025
@pull pull bot added the ⤵️ pull label Nov 25, 2025
@pull pull bot merged commit 7dcc598 into ExaDev:main Nov 25, 2025
1 check failed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants