Skip to content

Set activeQueues cookie to never expire #118

Closed
campb303 opened this issue Nov 7, 2020 · 3 comments · Fixed by #131
Closed

Set activeQueues cookie to never expire #118

campb303 opened this issue Nov 7, 2020 · 3 comments · Fixed by #131
Assignees
Labels
bug An issue that results in webqueue2 breaking high-priority Needs immediate extra focus

Comments

@campb303
Copy link
Collaborator

campb303 commented Nov 7, 2020

The activeQueues cookies is currently set as a session cookie which defeats its purpose of storing active queues across sessions. It needs to be set to never expire.

@campb303 campb303 added bug An issue that results in webqueue2 breaking frontend labels Nov 7, 2020
@campb303 campb303 added this to the v1 milestone Nov 7, 2020
@campb303 campb303 self-assigned this Nov 7, 2020
@campb303 campb303 added the high-priority Needs immediate extra focus label Nov 25, 2020
@campb303
Copy link
Collaborator Author

campb303 commented Nov 26, 2020

Tracing queue information usage:

AppView

(1) useState => selectedQueues, queues, items

QueueSelector

(2) useEffect => getQueueCounts => setQueueCounts => queueCounts
    queueCounts = [{ name: "bidc", number_of_items: 5 } ... ]
(3) <Autocomplete values={queueCounts} /> => onChange => handleChange => setSelectedQueues => selectedQueues
    selectedQueues = [{ name: "bidc", number_of_items: 5 } ... ]

AppView

(4) useEffect(selectedQueues) => queuesToSelect
    queuesToSelect = "bidc+ ... "
(5) fetch(queuesToSelect) => queueJson => setQueues => queues
    queues = [{ name: "bidc", items: [ ... ]} ... ]
(6) useEffect(queues) => queues.items => setItems => items
    items = [{ queue: "bidc", number: 1, content: [ ... ]} ... ]
(7) <ItemTable data={items} ... />

ItemTable*

(8) data => useTable

@campb303
Copy link
Collaborator Author

campb303 commented Dec 1, 2020

⚡️ = Action: A lifecycle event or user initiated action.
⏩ = Side Effect: A change or mutation that occurs as a direct result of an action.
➕ = Added Logic: Some action or side effect that's been added.

The QueueSelector now works with and manages cookies for active queues like this:

⚡️ First render
⏩ Get queue counts
➕ Set QueueSelector value to queue count info for cookies stored in active-queues cookie
⏩ Clear queue counts

⚡️ Open QueueSelector dropdown
⏩ Get queue counts

⚡️ Add/remove queue
⏩ Update QueueSelector value
➕ Update active-queues cookie
⏩ Get new queues

⚡️ Close QueueSelector dropdown
⏩ Clear queue counts

⚡️ Clear QueueSelector values
⏩ Update QueueSelector value
➕ Update active-queues cookie

@campb303
Copy link
Collaborator Author

campb303 commented Dec 1, 2020

Closed by #131

@campb303 campb303 closed this as completed Dec 1, 2020
Sign in to join this conversation on GitHub.
Labels
bug An issue that results in webqueue2 breaking high-priority Needs immediate extra focus
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant