Skip to content

chore: abstract types to shared package #1593

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Dec 6, 2024

Conversation

daibhin
Copy link
Contributor

@daibhin daibhin commented Nov 1, 2024

Abstracted all the shared types from the rrweb-snapshot project into the shared @rrweb/types package as was done in #1475

Additional context in https://rrweb.slack.com/archives/C0614SW58TW/p1730134366873209

Copy link

changeset-bot bot commented Nov 1, 2024

🦋 Changeset detected

Latest commit: 8508bed

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 19 packages
Name Type
@rrweb/all Major
rrdom-nodejs Major
rrdom Major
rrweb-snapshot Major
rrweb Major
@rrweb/rrweb-plugin-canvas-webrtc-record Major
rrweb-player Major
@rrweb/replay Major
@rrweb/record Major
@rrweb/types Major
@rrweb/packer Major
@rrweb/utils Major
@rrweb/web-extension Major
rrvideo Major
@rrweb/rrweb-plugin-console-record Major
@rrweb/rrweb-plugin-console-replay Major
@rrweb/rrweb-plugin-sequential-id-record Major
@rrweb/rrweb-plugin-sequential-id-replay Major
@rrweb/rrweb-plugin-canvas-webrtc-replay Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@eoghanmurray
Copy link
Contributor

Thanks for doing this thankless work!
I was able to rebase #1475 on top of this, so all good as far as I'm concerned.
@daibhin could you add a changeset as I'm unable to commit directly to this branch?

@daibhin
Copy link
Contributor Author

daibhin commented Nov 30, 2024

@eoghanmurray just went to do it there but looks like you got there ahead of me :)

@eoghanmurray
Copy link
Contributor

Not sure why the bot isn't picking up that there's a changeset; it seemed to have failed when I added it with the changeset-bot

Copy link
Member

@Juice10 Juice10 left a comment

Choose a reason for hiding this comment

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

Thanks for doing all this work @daibhin! This will make landing the asset PRs that @eoghanmurray and I have been working on a lot less painful

@daibhin daibhin requested a review from Juice10 December 6, 2024 10:12
@Juice10 Juice10 merged commit 5a78938 into rrweb-io:master Dec 6, 2024
6 checks passed
@daibhin daibhin deleted the dn-chore/type-changes branch December 6, 2024 14:06
jxiwang pushed a commit to amplitude/rrweb that referenced this pull request Feb 13, 2025
* chore: update types

* small typing change

* fix typing issue

* typed node

* add extra lint skip

* add changeset

---------

Co-authored-by: Eoghan Murray <eoghan@getthere.ie>
Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>
jxiwang pushed a commit to amplitude/rrweb that referenced this pull request Feb 14, 2025
* chore: update types

* small typing change

* fix typing issue

* typed node

* add extra lint skip

* add changeset

---------

Co-authored-by: Eoghan Murray <eoghan@getthere.ie>
Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>
jxiwang added a commit to amplitude/rrweb that referenced this pull request Feb 14, 2025
* Single style capture (rrweb-io#1437)

Support a contrived/rare case where a <style> element has multiple text node children (this is usually only possible to recreate via javascript append) ... this PR fixes cases where there are subsequent text mutations to these nodes; previously these would have been lost

* In this scenario, a new CSS comment may now be inserted into the captured `_cssText` for a <style> element to show where it should be broken up into text elements upon replay: `/* rr_split */`
* The new 'can record and replay style mutations' test is the principal way to the problematic scenarios, and is a detailed 'catch-all' test with many checks to cover most of the ways things can fail
* There are new tests for splitting/rebuilding the css using the rr_split marker
* The prior 'dynamic stylesheet' route is now the main route for serializing a stylesheet; dynamic stylesheet were missed out in rrweb-io#1533 but that case is now covered with this PR

This PR was originally extracted from rrweb-io#1475 so the  initial motivation was to change the approach on stringifying <style> elements to do so in a single place.  This is also the motivating factor for always serializing <style> elements via the `_cssText` attribute rather than in it's childNodes; in rrweb-io#1475 we will be delaying populating `_cssText` for performance and instead recorrding them as assets.

Thanks for the detailed review to  Justin Halsall <Juice10@users.noreply.github.com> & Yun Feng <https://github.com/YunFeng0817>

* Simplify the hover replacement function (rrweb-io#1535)

Simplify the hover replacement function, which has been borrowed from postcss-pseudo-classes

Note: 'parses nested commas in selectors correctly' was failing after this PR, however I don't think that the previous behaviour was desirable, so have added a new test to formalize this expectation

* fix some typos in optimize-storage.md (rrweb-io#1565)

* fix some typos in optimize-storage.md

* Update docs/recipes/optimize-storage.md

* Create metal-mugs-mate.md

---------

Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>

* fix(rrdom): Ignore invalid DOM attributes when diffing (rrweb-io#1561)

* fix(rrdom): Ignore invalid DOM attributes when diffing (rrweb-io#213)

We encountered an issue where replays with invalid attributes (e.g.
`@click`) would break rendering the replay after seeking. The exception
bubbles up to
[here](https://github.com/rrweb-io/rrweb/blob/62093d4385a09eb0980c2ac02d97eea5ce2882be/packages/rrweb/src/replay/index.ts#L270-L279),
which means the replay will continue to play, but the replay mirror will
be incomplete.

Closes https://github.com/getsentry/team-replay/issues/458

* add changeset

* fix(snapshot): dimensions for blocked element not being applied (rrweb-io#1331)

fix for replay of a blocked element when using 'fast forward' (rrdom)

 - Dimensions were not being properly applied when you seek to a position in the replay. Need to use `setProperty` rather than trying to set the width/height directly

* ref: isParentRemoved to cache subtree (rrweb-io#1543)

* ref: isParentRemoved to cache subtree
* ref: cache at insertion too
* ref: remove wrapper function

---------

Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>

* fix: angular wrapped mutationobserver detection (rrweb-io#1597)

* fix: angular wrapped mutationobserver detection

* add change set

* fix

* prettier

* following posthog prod

* manually prettier

* Update .changeset/moody-experts-build.md

Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>

---------

Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>

* chore: abstract types to shared package (rrweb-io#1593)

* chore: update types

* small typing change

* fix typing issue

* typed node

* add extra lint skip

* add changeset

---------

Co-authored-by: Eoghan Murray <eoghan@getthere.ie>
Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>

* Apply formatting changes

* fix: wrong imports for Amplitude

* chore: fix changeset names

---------

Co-authored-by: Eoghan Murray <eoghan@getthere.ie>
Co-authored-by: Riadh Mouamnia <85134557+riadhmouamnia@users.noreply.github.com>
Co-authored-by: Justin Halsall <Juice10@users.noreply.github.com>
Co-authored-by: Billy Vong <billyvg@users.noreply.github.com>
Co-authored-by: Jonas <jonas@badalic.com>
Co-authored-by: Paul D'Ambra <paul.dambra@gmail.com>
Co-authored-by: David Newell <david@posthog.com>
Co-authored-by: jxiwang <jxiwang@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants