Skip to content

Cookie key and value doesn't get updated in st.session_state #63

@uprg

Description

@uprg

Python version

3.8.10

OS version

Ubuntu 20.04.6 LTS (focal)

streamlit version

1.32.1

extra_streamlit_components version

0.1.71

Describe the bug

The key and value of cookie set by cookie manager is not getting set in st.session_state but is set in browser cookies

esc_bug.mp4

To Reproduce

Install the above dependencies and run the below code

import extra_streamlit_components as stx
import streamlit as st

st.write(st.session_state)

if "is_logged_in" not in st.session_state:
    st.session_state["is_logged_in"] = False

cookie_manager = stx.CookieManager()

def check():
    # st.write("func called")
    # st.write(cookie_manager)
    user_cookie = cookie_manager.get(cookie="user")

    # st.write(user_cookie)

    if user_cookie:
        st.session_state["is_logged_in"] = True
    else:
        st.session_state["is_logged_in"] = False

check()

if st.session_state["is_logged_in"] == False:
    name = st.text_input(label="cookie name")
    value = st.text_input(label="cookie value")

    set = st.button(label="set cookie")
    
    if set:
        cookie_manager.set(cookie=name, val=value)
        #st.session_state["is_logged_in"] = True

if st.session_state["is_logged_in"] == True:
    get = st.button(label="get cookie")
    delete = st.button(label="delete cookie")

    if get:
        cookie_manager.get(cookie="user")

    if delete:
        cookie_manager.delete(cookie="user")

Expected behavior

The key and value should be set in st.session_state also with the browser cookie storage

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions