Skip to content

Conversation

@cloutiertyler
Copy link
Contributor

@cloutiertyler cloutiertyler commented Jul 24, 2025

Description of Changes

The ScheduleAt type appears to have an outdated structure. I've updated the structure of the ScheduleAt type represented in TypeScript to be in line with the Rust type: https://docs.rs/spacetimedb/latest/spacetimedb/enum.ScheduleAt.html

Namely, we were missing the inner Spacetime library types of TimeDuration and Timestamp.

This is to address #2969.

API and ABI breaking changes

This is an API breaking change in that it changes the API, but it's breaking in that it fixes a bug.

Expected complexity level and risk

2

Testing

I have not done additional testing, but I thought I would get this PR started to make it easier for the next person who comes along.

The ideal automated test to add would be one which connects a TypeScript client to a SpacetimeDB module with a scheduled table, and verifies that the type is correctly deserialized and represented in TypeScript when the rows are sent down.

@cloutiertyler cloutiertyler added the api-break A PR that makes an API breaking change label Jul 24, 2025
@cloutiertyler cloutiertyler requested review from bfops and jsdt July 24, 2025 03:53
@bfops
Copy link
Collaborator

bfops commented Jul 25, 2025

This seems fine but I'm not equipped to confirm whether this is correct, so I'm going to remove myself as a reviewer. (And it sounds like this PR is still essentially in progress).

@bfops bfops removed their request for review July 25, 2025 17:48
@bfops bfops added release-any To be landed in any release window bugfix Fixes something that was expected to work differently labels Jul 28, 2025
Copy link
Contributor

@jsdt jsdt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't set up a good way to run integration tests yet, but I manually tested that I the client can call a reducer that uses ScheduleAt in an argument, and it can query the rows from a schedule table.

@jsdt jsdt added this pull request to the merge queue Jul 31, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to no response for status checks Jul 31, 2025
@jsdt jsdt added this pull request to the merge queue Jul 31, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jul 31, 2025
@bfops bfops added this pull request to the merge queue Jul 31, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to no response for status checks Jul 31, 2025
@bfops bfops added this pull request to the merge queue Jul 31, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to no response for status checks Jul 31, 2025
@bfops bfops added this pull request to the merge queue Aug 1, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to no response for status checks Aug 1, 2025
@bfops bfops added this pull request to the merge queue Aug 1, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Aug 1, 2025
@bfops bfops added this pull request to the merge queue Aug 1, 2025
Merged via the queue into master with commit 5235082 Aug 1, 2025
25 checks passed
github-merge-queue bot pushed a commit that referenced this pull request Aug 5, 2025
# Description of Changes

We want to release #2980 for the TS SDK, so I'm bumping our version
number.

# API and ABI breaking changes

None

# Expected complexity level and risk

1

# Testing

None, just a version bump.

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
bfops pushed a commit that referenced this pull request Aug 7, 2025
# Description of Changes

The `ScheduleAt` type appears to have an outdated structure. I've
updated the structure of the `ScheduleAt` type represented in TypeScript
to be in line with the Rust type:
https://docs.rs/spacetimedb/latest/spacetimedb/enum.ScheduleAt.html

Namely, we were missing the inner Spacetime library types of
`TimeDuration` and `Timestamp`.

This is to address #2969.

# API and ABI breaking changes

This is an API breaking change in that it changes the API, but it's
breaking in that it fixes a bug.

# Expected complexity level and risk

2

# Testing

I have not done additional testing, but I thought I would get this PR
started to make it easier for the next person who comes along.

The ideal automated test to add would be one which connects a TypeScript
client to a SpacetimeDB module with a scheduled table, and verifies that
the type is correctly deserialized and represented in TypeScript when
the rows are sent down.

---------

Co-authored-by: Jeffrey Dallatezza <jeffreydallatezza@gmail.com>
bfops added a commit that referenced this pull request Aug 7, 2025
# Description of Changes

We want to release #2980 for the TS SDK, so I'm bumping our version
number.

# API and ABI breaking changes

None

# Expected complexity level and risk

1

# Testing

None, just a version bump.

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
mamcx pushed a commit that referenced this pull request Aug 26, 2025
# Description of Changes

The `ScheduleAt` type appears to have an outdated structure. I've
updated the structure of the `ScheduleAt` type represented in TypeScript
to be in line with the Rust type:
https://docs.rs/spacetimedb/latest/spacetimedb/enum.ScheduleAt.html

Namely, we were missing the inner Spacetime library types of
`TimeDuration` and `Timestamp`.

This is to address #2969.

# API and ABI breaking changes

This is an API breaking change in that it changes the API, but it's
breaking in that it fixes a bug.

# Expected complexity level and risk

2

# Testing

I have not done additional testing, but I thought I would get this PR
started to make it easier for the next person who comes along.

The ideal automated test to add would be one which connects a TypeScript
client to a SpacetimeDB module with a scheduled table, and verifies that
the type is correctly deserialized and represented in TypeScript when
the rows are sent down.

---------

Co-authored-by: Jeffrey Dallatezza <jeffreydallatezza@gmail.com>
mamcx pushed a commit that referenced this pull request Aug 26, 2025
# Description of Changes

We want to release #2980 for the TS SDK, so I'm bumping our version
number.

# API and ABI breaking changes

None

# Expected complexity level and risk

1

# Testing

None, just a version bump.

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api-break A PR that makes an API breaking change bugfix Fixes something that was expected to work differently release-any To be landed in any release window

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ScheduledAt values arrive as {tag: 'Time', value: BigInt} in TypeScript SDK

4 participants