Skip to content
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

[REF-2588]Clear color mode local storage for dev mode #3548

Merged
merged 9 commits into from
Jun 28, 2024

Conversation

ElijahAhianyo
Copy link
Contributor

@ElijahAhianyo ElijahAhianyo commented Jun 24, 2024

Sometimes an app's appearance value(rx.App(theme=rx.theme(appearance="dark"))) does not persist correctly in the local storage(as chakra-ui-color-mode). Eg, if you manipulate the local storage value and restart the app, the app's theme/color-mode is not respected. This is typically annoying in dev mode.
We want to clear this local storage key(chakra-ui-color-mode) when the app is started or when the app is hot reloaded, in this case, the app's theme/appearance/color-mode will be persisted and respected.

We do this by keeping a timestamp of the last time the app was compiled and saving this value in the local storage. For cases where the local storage value of the timestamp is any other than what is generated in context.js at the time of compilation, we clear the local storage key(of chakra-ui-color-mode).

closes #2047 #3548

@ElijahAhianyo ElijahAhianyo changed the title [WIP]Clear color mode local storage [REF-2588]Clear color mode local storage for dev mode Jun 24, 2024
Copy link

linear bot commented Jun 24, 2024

@ElijahAhianyo ElijahAhianyo marked this pull request as ready for review June 24, 2024 23:32
defaultColorMode,
isDevMode,
} from "/utils/context.js";
import { lastCompiledTimeStamp } from "/utils/context.js";
Copy link
Collaborator

Choose a reason for hiding this comment

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

i think this can go in the import list in the line above

@masenf masenf merged commit 8f2cbb5 into main Jun 28, 2024
45 of 47 checks passed
cutoffthetop referenced this pull request in robert-koch-institut/mex-editor Jul 16, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [reflex](https://reflex.dev)
([source](https://github.com/reflex-dev/reflex)) |
project.dependencies | patch | `==0.5.5` -> `==0.5.6` |

---

### Release Notes

<details>
<summary>reflex-dev/reflex (reflex)</summary>

###
[`v0.5.6`](https://github.com/reflex-dev/reflex/releases/tag/v0.5.6)

[Compare
Source](https://github.com/reflex-dev/reflex/compare/v0.5.5...v0.5.6)

#### New Features

##### `rx.clipboard`

Handle global and component-scoped `on_paste` with multi-type data

- Add Clipboard component for handling global on_paste event by
[@&#8203;masenf](https://github.com/masenf) in
[https://github.com/reflex-dev/reflex/pull/3513](https://github.com/reflex-dev/reflex/pull/3513)

##### `rx.breakpoints` - Set breakpoints by name

- introduce customizable breakpoints by
[@&#8203;adhami3310](https://github.com/adhami3310) in
[https://github.com/reflex-dev/reflex/pull/3568](https://github.com/reflex-dev/reflex/pull/3568)
- add responsive props to radix components by
[@&#8203;adhami3310](https://github.com/adhami3310) in
[https://github.com/reflex-dev/reflex/pull/3583](https://github.com/reflex-dev/reflex/pull/3583)

##### Computed Backend Vars

- add computed backend vars by
[@&#8203;benedikt-bartscher](https://github.com/benedikt-bartscher) in
[https://github.com/reflex-dev/reflex/pull/3573](https://github.com/reflex-dev/reflex/pull/3573)
- improve backend var determination by
[@&#8203;benedikt-bartscher](https://github.com/benedikt-bartscher) in
[https://github.com/reflex-dev/reflex/pull/3587](https://github.com/reflex-dev/reflex/pull/3587)

#### Improvements

- \[REF-3056]Config knob for redis StateManager expiration times by
[@&#8203;ElijahAhianyo](https://github.com/ElijahAhianyo) in
[https://github.com/reflex-dev/reflex/pull/3523](https://github.com/reflex-dev/reflex/pull/3523)
- \[Perf] Ensure rx.match gets memoized to avoid excessive re-rendering
by [@&#8203;masenf](https://github.com/masenf) in
[https://github.com/reflex-dev/reflex/pull/3552](https://github.com/reflex-dev/reflex/pull/3552)
- bare sqlalchemy session + tests by
[@&#8203;benedikt-bartscher](https://github.com/benedikt-bartscher) in
[https://github.com/reflex-dev/reflex/pull/3522](https://github.com/reflex-dev/reflex/pull/3522)
- Remove chakra from codeblock by
[@&#8203;abulvenz](https://github.com/abulvenz) in
[https://github.com/reflex-dev/reflex/pull/3570](https://github.com/reflex-dev/reflex/pull/3570)
- add compilation timestamp in log by
[@&#8203;Lendemor](https://github.com/Lendemor) in
[https://github.com/reflex-dev/reflex/pull/3563](https://github.com/reflex-dev/reflex/pull/3563)
- \[REF-3148] add props for tabs by
[@&#8203;Lendemor](https://github.com/Lendemor) in
[https://github.com/reflex-dev/reflex/pull/3560](https://github.com/reflex-dev/reflex/pull/3560)
- show the value causing problem in deprecation warning by
[@&#8203;Lendemor](https://github.com/Lendemor) in
[https://github.com/reflex-dev/reflex/pull/3558](https://github.com/reflex-dev/reflex/pull/3558)
-   Better support for Github Codespaces
- Add a link to backend in connection error by
[@&#8203;masenf](https://github.com/masenf) in
[https://github.com/reflex-dev/reflex/pull/3044](https://github.com/reflex-dev/reflex/pull/3044)
- Better hot reload times on Windows with python 3.12 and uvicorn > 0.20
- \[REF-3164] Hack to fix Windows hot reload + Uvicorn upgrade by
[@&#8203;masenf](https://github.com/masenf) in
[https://github.com/reflex-dev/reflex/pull/3584](https://github.com/reflex-dev/reflex/pull/3584)
-   `rx.theme` appearance is reset in dev mode
- \[REF-2588]Clear color mode local storage for dev mode by
[@&#8203;ElijahAhianyo](https://github.com/ElijahAhianyo) in
[https://github.com/reflex-dev/reflex/pull/3548](https://github.com/reflex-dev/reflex/pull/3548)

#### Bug Fixes

- Fix radix radio cards component by
[@&#8203;emmakodes](https://github.com/emmakodes) in
[https://github.com/reflex-dev/reflex/pull/3545](https://github.com/reflex-dev/reflex/pull/3545)
- fix small typing issue by
[@&#8203;Lendemor](https://github.com/Lendemor) in
[https://github.com/reflex-dev/reflex/pull/3562](https://github.com/reflex-dev/reflex/pull/3562)
- \[REF-3185]\[REF-3180]Dont escape backticks in JS string interpolation
by [@&#8203;ElijahAhianyo](https://github.com/ElijahAhianyo) in
[https://github.com/reflex-dev/reflex/pull/3566](https://github.com/reflex-dev/reflex/pull/3566)
- classvars should not be backend vars by
[@&#8203;benedikt-bartscher](https://github.com/benedikt-bartscher) in
[https://github.com/reflex-dev/reflex/pull/3578](https://github.com/reflex-dev/reflex/pull/3578)
-   ComponentState and State mixins now work with backend vars
- copy backend vars from mixins by
[@&#8203;benedikt-bartscher](https://github.com/benedikt-bartscher) in
[https://github.com/reflex-dev/reflex/pull/3580](https://github.com/reflex-dev/reflex/pull/3580)
- fix var dependency over properties by
[@&#8203;benedikt-bartscher](https://github.com/benedikt-bartscher) in
[https://github.com/reflex-dev/reflex/pull/3588](https://github.com/reflex-dev/reflex/pull/3588)
- \[REF-3157] Avoid SQLModel metaclass conflict
([#&#8203;3610](https://github.com/reflex-dev/reflex/issues/3610))
- \[REF-3220] Fix rx.cancel_upload EventSpec
([#&#8203;3608](https://github.com/reflex-dev/reflex/issues/3608))
- do not get_config in global scope
([#&#8203;3597](https://github.com/reflex-dev/reflex/issues/3597))

#### Other Changes

- Validate ComputedVar dependencies, add tests by
[@&#8203;benedikt-bartscher](https://github.com/benedikt-bartscher) in
[https://github.com/reflex-dev/reflex/pull/3527](https://github.com/reflex-dev/reflex/pull/3527)
- do not validate non-cached var deps by
[@&#8203;benedikt-bartscher](https://github.com/benedikt-bartscher) in
[https://github.com/reflex-dev/reflex/pull/3576](https://github.com/reflex-dev/reflex/pull/3576)
- Radio group fix deprecation warning for creating vars with strings by
[@&#8203;ElijahAhianyo](https://github.com/ElijahAhianyo) in
[https://github.com/reflex-dev/reflex/pull/3567](https://github.com/reflex-dev/reflex/pull/3567)
- update dependencies pinning by
[@&#8203;Lendemor](https://github.com/Lendemor) in
[https://github.com/reflex-dev/reflex/pull/3556](https://github.com/reflex-dev/reflex/pull/3556)
- fix formatting by
[@&#8203;benedikt-bartscher](https://github.com/benedikt-bartscher) in
[https://github.com/reflex-dev/reflex/pull/3574](https://github.com/reflex-dev/reflex/pull/3574)
- order type annotations in pyi_generator by
[@&#8203;benedikt-bartscher](https://github.com/benedikt-bartscher) in
[https://github.com/reflex-dev/reflex/pull/3585](https://github.com/reflex-dev/reflex/pull/3585)
- Deprecate cached var by
[@&#8203;benedikt-bartscher](https://github.com/benedikt-bartscher) in
[https://github.com/reflex-dev/reflex/pull/3582](https://github.com/reflex-dev/reflex/pull/3582)
- Change Strategy Prop to Literal by
[@&#8203;Alek99](https://github.com/Alek99) in
[https://github.com/reflex-dev/reflex/pull/3575](https://github.com/reflex-dev/reflex/pull/3575)
- pyi_generator cleanup: ruff, remove fully qualified reflex. names by
[@&#8203;masenf](https://github.com/masenf) in
[https://github.com/reflex-dev/reflex/pull/3591](https://github.com/reflex-dev/reflex/pull/3591)
- cleanup unused check by
[@&#8203;benedikt-bartscher](https://github.com/benedikt-bartscher) in
[https://github.com/reflex-dev/reflex/pull/3590](https://github.com/reflex-dev/reflex/pull/3590)
- split lifespan and middleware logic in separate mixin files by
[@&#8203;Lendemor](https://github.com/Lendemor) in
[https://github.com/reflex-dev/reflex/pull/3557](https://github.com/reflex-dev/reflex/pull/3557)
- Update links to /docs/library/dynamic-rendering/foreach/
([#&#8203;3609](https://github.com/reflex-dev/reflex/issues/3609))

#### New Contributors

##### Welcome Khaleel to the Core Team

- [@&#8203;adhami3310](https://github.com/adhami3310) made their first
contribution in
[https://github.com/reflex-dev/reflex/pull/3568](https://github.com/reflex-dev/reflex/pull/3568)

**Full Changelog**:
reflex-dev/reflex@v0.5.5...v0.5.6

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzEuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQzMS43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
@masenf masenf deleted the elijah/clear-color-mode-cookie branch December 12, 2024 07:10
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.

Dev Mode Clear Dark Cookie
2 participants