v1.0.65: cloud pagination fix for creating status
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Архитектура app-autotest — полный документ
|
||||
|
||||
v1.0.64, 27.07.2026
|
||||
v1.0.65, 27.07.2026
|
||||
|
||||
---
|
||||
|
||||
@@ -353,6 +353,7 @@ def detect_endpoint(token):
|
||||
| 20 | v1.0.63 | Дубли и чужие инстансы | Принадлежность определялась не по namespace | `autotest-` prefix + уникализация `displayName` при CREATE |
|
||||
| 21 | v1.0.64 | Версия не показывалась в шапке | `load_config()` затирал VERSION | `config["VERSION"] = current_app.config["VERSION"]` |
|
||||
| 22 | v1.0.64 | displayName был editable value, а не placeholder | CREATE подставлял имя в value | Placeholder `autotest-...`, значение вводит пользователь |
|
||||
| 23 | v1.0.65 | `creating` из-за недочитанной страницы | `get_instances()` доверял `total` и мог не перейти на следующую страницу | Остановка по `len(batch) < pageSize` |
|
||||
|
||||
### ✅ Закрыто в v1.0.56
|
||||
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
# История разработки app-autotest
|
||||
|
||||
## v1.0.65 (27.07.2026) — cloud list pagination fix
|
||||
|
||||
### Что изменилось
|
||||
- В `site/operations/get_instances.py` пагинация списка инстансов теперь останавливается по размеру страницы, а не по `total`.
|
||||
- Это убирает ситуацию, когда инстанс уже создан в облаке, но приложение не дочитало следующую страницу и показывает `creating`.
|
||||
- В `DOCS/ARCHITECTURE.md` и `site/app.py` синхронизирована версия `1.0.65`.
|
||||
|
||||
### Что это чинит
|
||||
- Ложный `creating` для уже существующего инстанса, если он попал не на первую страницу `/instances`.
|
||||
|
||||
## v1.0.64 (27.07.2026) — header version + editable displayName placeholder
|
||||
|
||||
### Что изменилось
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ from routes.main import bp as main_bp
|
||||
from routes.api import bp as api_bp
|
||||
from routes.api_test import bp as api_test_bp
|
||||
|
||||
VERSION = "1.0.64"
|
||||
VERSION = "1.0.65"
|
||||
|
||||
app = Flask(__name__, template_folder="templates", static_folder="static")
|
||||
app.config["NUBES_API_ENDPOINT"] = os.getenv("NUBES_API_ENDPOINT", "https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc")
|
||||
|
||||
@@ -4,10 +4,13 @@ from api.http_client import HttpClient
|
||||
def get_instances(client):
|
||||
results = []
|
||||
page = 1
|
||||
page_size = 200
|
||||
while True:
|
||||
data = client.get("/instances", params={"pageSize": 200, "page": page})
|
||||
results.extend(data.get("results", []))
|
||||
if len(results) >= data.get("total", 0):
|
||||
data = client.get("/instances", params={"pageSize": page_size, "page": page})
|
||||
batch = data.get("results", []) or []
|
||||
results.extend(batch)
|
||||
# Не доверяем total: если страница вернула меньше pageSize, значит данные закончились.
|
||||
if len(batch) < page_size:
|
||||
break
|
||||
page += 1
|
||||
return results
|
||||
|
||||
Reference in New Issue
Block a user