Open
Description
Duplicate Check
- I have searched the opened issues and there are no duplicates
Describe the bug
An assertion error is raised when running the attached code.
Code sample
Code
import time
import flet as ft
class ChatMessage(ft.Row):
def __init__(self, message: str):
super().__init__()
self.controls = [ft.CircleAvatar(content=ft.Text("U")), ft.Text(message)]
def main(page: ft.Page):
def on_message(message: str):
chat.controls.append(ChatMessage(message))
page.update()
page.pubsub.subscribe(on_message)
chat = ft.ListView(
expand=True,
auto_scroll=True,
)
page.add(chat)
for i in range(300):
page.pubsub.send_all(f"message {i}")
time.sleep(0.2)
ft.app(target=main)
To reproduce
Run the code, then wait for some time while observing the terminal.
Expected behavior
No response
Screenshots / Videos
Captures
[Upload media here]
Operating System
macOS
Operating system details
15.0
Flet version
0.26.0
Regression
I'm not sure / I don't know
Suggestions
No response
Logs
Logs
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ndonkohenri/PycharmProjects/flet-dev/flet/sdk/python/playground/test-b.py", line 15, in on_message
File "/Users/ndonkohenri/PycharmProjects/flet-dev/flet/sdk/python/packages/flet/src/flet/core/page.py", line 732, in update
r = self.__update(self)
^^^^^^^^^^^^^^^^^^^
File "/Users/ndonkohenri/PycharmProjects/flet-dev/flet/sdk/python/packages/flet/src/flet/core/page.py", line 798, in __update
commands, added_controls, removed_controls = self.__prepare_update(*controls)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ndonkohenri/PycharmProjects/flet-dev/flet/sdk/python/packages/flet/src/flet/core/page.py", line 814, in __prepare_update
control.build_update_commands(
File "/Users/ndonkohenri/PycharmProjects/flet-dev/flet/sdk/python/packages/flet/src/flet/core/control.py", line 483, in build_update_commands
ctrl.build_update_commands(
File "/Users/ndonkohenri/PycharmProjects/flet-dev/flet/sdk/python/packages/flet/src/flet/core/control.py", line 483, in build_update_commands
ctrl.build_update_commands(
File "/Users/ndonkohenri/PycharmProjects/flet-dev/flet/sdk/python/packages/flet/src/flet/core/control.py", line 483, in build_update_commands
ctrl.build_update_commands(
File "/Users/ndonkohenri/PycharmProjects/flet-dev/flet/sdk/python/packages/flet/src/flet/core/control.py", line 502, in build_update_commands
assert self.__uid is not None
^^^^^^^^^^^^^^^^^^^^^^
AssertionError
Future exception was never retrieved
future: <Future finished exception=AssertionError()>
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ndonkohenri/PycharmProjects/flet-dev/flet/sdk/python/playground/test-b.py", line 15, in on_message
File "/Users/ndonkohenri/PycharmProjects/flet-dev/flet/sdk/python/packages/flet/src/flet/core/page.py", line 732, in update
r = self.__update(self)
^^^^^^^^^^^^^^^^^^^
File "/Users/ndonkohenri/PycharmProjects/flet-dev/flet/sdk/python/packages/flet/src/flet/core/page.py", line 798, in __update
commands, added_controls, removed_controls = self.__prepare_update(*controls)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ndonkohenri/PycharmProjects/flet-dev/flet/sdk/python/packages/flet/src/flet/core/page.py", line 814, in __prepare_update
control.build_update_commands(
File "/Users/ndonkohenri/PycharmProjects/flet-dev/flet/sdk/python/packages/flet/src/flet/core/control.py", line 483, in build_update_commands
ctrl.build_update_commands(
File "/Users/ndonkohenri/PycharmProjects/flet-dev/flet/sdk/python/packages/flet/src/flet/core/control.py", line 483, in build_update_commands
ctrl.build_update_commands(
File "/Users/ndonkohenri/PycharmProjects/flet-dev/flet/sdk/python/packages/flet/src/flet/core/control.py", line 483, in build_update_commands
ctrl.build_update_commands(
File "/Users/ndonkohenri/PycharmProjects/flet-dev/flet/sdk/python/packages/flet/src/flet/core/control.py", line 502, in build_update_commands
assert self.__uid is not None
Additional details
Issue happens occasionally but very often.