mirror of
https://github.com/kovetskiy/mark.git
synced 2026-03-19 09:07:36 +08:00
The 401 and 404 early-return paths returned without closing the HTTP response body, leaking the underlying connection. Move the defer body.Close() to the top of the function so it runs regardless of which code path is taken. fix: add HTTP status check to GetCurrentUser GetCurrentUser did not validate the HTTP response status code. A 401/403/500 response was silently ignored and returned a zero-value User pointer, causing callers (e.g. RestrictPageUpdatesCloud fallback) to use an empty accountId. fix: return nil on HTTP 204 from DeletePageLabel instead of panicking DeletePageLabel accepted both 200 OK and 204 No Content as success, but then unconditionally did request.Response.(*LabelInfo). On a 204 the response body is empty so request.Response is nil; the type assertion panics. Return (nil, nil) for 204 responses. fix: paginate GetPageLabels to handle pages with >50 labels A single request with the default page size silently truncated label lists longer than the API default (~50). Add a pagination loop matching the pattern used by GetAttachments. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>