pulse-framework 0.1.43__tar.gz → 0.1.44__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/PKG-INFO +1 -1
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/pyproject.toml +1 -1
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/user_session.py +7 -3
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/README.md +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/__init__.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/app.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/channel.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/cli/__init__.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/cli/cmd.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/cli/dependencies.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/cli/folder_lock.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/cli/helpers.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/cli/models.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/cli/packages.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/cli/processes.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/cli/secrets.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/cli/uvicorn_log_config.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/codegen/__init__.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/codegen/codegen.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/codegen/imports.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/codegen/js.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/codegen/templates/__init__.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/codegen/templates/layout.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/codegen/templates/route.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/codegen/templates/routes_ts.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/codegen/utils.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/components/__init__.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/components/for_.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/components/if_.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/components/react_router.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/context.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/cookies.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/css.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/decorators.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/env.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/form.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/helpers.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/hooks/__init__.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/hooks/core.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/hooks/effects.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/hooks/init.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/hooks/runtime.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/hooks/setup.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/hooks/stable.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/hooks/states.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/html/__init__.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/html/elements.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/html/events.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/html/props.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/html/svg.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/html/tags.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/html/tags.pyi +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/messages.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/middleware.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/plugin.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/proxy.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/py.typed +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/queries/__init__.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/queries/client.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/queries/common.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/queries/effect.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/queries/infinite_query.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/queries/mutation.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/queries/query.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/queries/store.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/react_component.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/reactive.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/reactive_extensions.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/render_session.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/renderer.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/request.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/routing.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/serializer.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/state.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/types/__init__.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/types/event_handler.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/vdom.py +0 -0
- {pulse_framework-0.1.43 → pulse_framework-0.1.44}/src/pulse/version.py +0 -0
|
@@ -14,7 +14,7 @@ from pulse.cookies import SetCookie
|
|
|
14
14
|
from pulse.env import env
|
|
15
15
|
from pulse.helpers import Disposable
|
|
16
16
|
from pulse.reactive import AsyncEffect, Effect
|
|
17
|
-
from pulse.reactive_extensions import ReactiveDict, reactive
|
|
17
|
+
from pulse.reactive_extensions import ReactiveDict, reactive, unwrap
|
|
18
18
|
|
|
19
19
|
if TYPE_CHECKING:
|
|
20
20
|
from pulse.app import App
|
|
@@ -52,11 +52,15 @@ class UserSession(Disposable):
|
|
|
52
52
|
|
|
53
53
|
async def _save_server_session(self):
|
|
54
54
|
assert isinstance(self.app.session_store, SessionStore)
|
|
55
|
-
|
|
55
|
+
# unwrap subscribes the effect to all signals in the session ReactiveDict
|
|
56
|
+
data = unwrap(self.data)
|
|
57
|
+
await self.app.session_store.save(self.sid, data)
|
|
56
58
|
|
|
57
59
|
def refresh_session_cookie(self, app: "App"):
|
|
58
60
|
assert isinstance(app.session_store, CookieSessionStore)
|
|
59
|
-
|
|
61
|
+
# unwrap subscribes the effect to all signals in the session ReactiveDict
|
|
62
|
+
data = unwrap(self.data)
|
|
63
|
+
signed_cookie = app.session_store.encode(self.sid, data)
|
|
60
64
|
self.set_cookie(
|
|
61
65
|
name=app.cookie.name,
|
|
62
66
|
value=signed_cookie,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|