Fix server error messages to show actual error instead of generic URL hint (#8)
The userFriendlyMessage method was discarding the server's error message
(e.g. SQL syntax errors) and replacing it with "Check that the URL points
to a Parseable instance." Now it shows the actual server message when one
is available, falling back to the generic hint only for empty/unknown errors.
https://claude.ai/code/session_01B3mGbj8yZo9t7nXHFqAWNR
Co-authored-by: Claude <noreply@anthropic.com>
commit2d089aaf9e9479ea8ebfba38136912e6ebaf52ac
authoriko <mail@iko.soy>
dateSun 15 Feb 2026, 12:34 (8 months ago)
parent6db3705
ParseableViewer/Services/ParseableClient.swift+1−1
@@ -30,7 +30,7 @@ enum ParseableError: LocalizedError {
3030 return "The server URL is invalid. Check the format (e.g. https://host:port)."
3131 case .serverError(let code, let message):
3232 let trimmed = message.trimmingCharacters(in: .whitespacesAndNewlines)
33− if trimmed.isEmpty {
33+ if trimmed.isEmpty || trimmed == "Unknown error" {
3434 return "Server returned error \(code)."
3535 }
3636 return "Server error (\(code)): \(trimmed)"
ParseableViewerTests/ParseableClientTests.swift+5
@@ -260,6 +260,11 @@ final class ParseableClientTests: XCTestCase {
260260 XCTAssertEqual(msg, "Server error (400): bad query")
261261 }
262262
263+ func testUserFriendlyMessageForServerErrorUnknown() {
264+ let msg = ParseableError.userFriendlyMessage(for: ParseableError.serverError(400, "Unknown error"))
265+ XCTAssertEqual(msg, "Server returned error 400.")
266+ }
267+
263268 func testUserFriendlyMessageForInvalidURL() {
264269 let msg = ParseableError.userFriendlyMessage(for: ParseableError.invalidURL)
265270 XCTAssertTrue(msg.lowercased().contains("url"))