mirror of
https://github.com/browser-use/browser-use.git
synced 2026-09-14 19:59:47 +08:00
2866aa10de
Address code review feedback on the SPA visibility fix: 1. Remove overly permissive container check that marked any element with children as visible, even if all children were hidden. 2. Remove dead code that checked node_value on ELEMENT_NODE (only TEXT_NODE has node_value property). 3. Add clarifying comment about CSS checks already performed. The refined fallback is now more conservative and only includes: - Elements with meaningful accessibility roles/names - Text nodes with actual content This maintains the core fix (recovering SPA content) while being more precise about what elements are considered visible. All tests pass, no regressions detected.
Codebase Structure
The code structure inspired by https://github.com/Netflix/dispatch.
Very good structure on how to make a scalable codebase is also in this repo.
Just a brief document about how we should structure our backend codebase.
Code Structure
src/
/<service name>/
models.py
services.py
prompts.py
views.py
utils.py
routers.py
/_<subservice name>/
Service.py
Always a single file, except if it becomes too long - more than ~500 lines, split it into _subservices
Views.py
Always split the views into two parts
# All
...
# Requests
...
# Responses
...
If too long → split into multiple files
Prompts.py
Single file; if too long → split into multiple files (one prompt per file or so)
Routers.py
Never split into more than one file