Skip to content

bug: AssertionError: assert self.__uid is not None #4794

Open
@ndonkoHenri

Description

@ndonkoHenri

Duplicate Check

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions