feat: app.zitare.com + api.zitare.com URLs für Cutover 2026-05-20

Native-Konstanten ziehen mit dem Web-Cutover zu .zitare.com-
Subdomains nach. Universal-Link-AASA-Liste enthält jetzt zitare.com
+ app.zitare.com (zitare.mana.how raus). webBaseURL ist jetzt das
echte publicWebURL (zitare.com), wie ursprünglich geplant.

CookieBridge bleibt Skeleton — die `.mana.how`-Cookie-Domain-
Strategie greift nicht für `.zitare.com`. Hinweis im Kommentar
gesetzt, Update vor ζ-3 nötig.

Code-Only. Erst nach nächstem Native-Build/TestFlight-Upload live.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-05-20 14:34:03 +02:00
parent 8b572329fc
commit a4ea32b637
6 changed files with 45 additions and 48 deletions

View file

@ -2,32 +2,32 @@ import XCTest
@testable import ZitareNative
final class DeepLinkRouterTests: XCTestCase {
let base = URL(string: "https://zitare.mana.how")!
let base = URL(string: "https://zitare.com")!
// MARK: - resolveToWebURL
func test_resolve_customSchemeQuote() throws {
let url = try XCTUnwrap(URL(string: "zitare://quote/spitteler-schweizer-bleiben"))
let resolved = DeepLinkRouter.resolveToWebURL(url, base: base)
XCTAssertEqual(resolved.absoluteString, "https://zitare.mana.how/q/spitteler-schweizer-bleiben")
XCTAssertEqual(resolved.absoluteString, "https://zitare.com/q/spitteler-schweizer-bleiben")
}
func test_resolve_customSchemeAuthor() throws {
let url = try XCTUnwrap(URL(string: "zitare://author/spitteler"))
let resolved = DeepLinkRouter.resolveToWebURL(url, base: base)
XCTAssertEqual(resolved.absoluteString, "https://zitare.mana.how/a/spitteler")
XCTAssertEqual(resolved.absoluteString, "https://zitare.com/a/spitteler")
}
func test_resolve_customSchemeCollection() throws {
let url = try XCTUnwrap(URL(string: "zitare://collection/schweizer-stimmen"))
let resolved = DeepLinkRouter.resolveToWebURL(url, base: base)
XCTAssertEqual(resolved.absoluteString, "https://zitare.mana.how/c/schweizer-stimmen")
XCTAssertEqual(resolved.absoluteString, "https://zitare.com/c/schweizer-stimmen")
}
func test_resolve_unknownCustomSchemeFallsBackToBase() throws {
let url = try XCTUnwrap(URL(string: "zitare://unknown/foo"))
let resolved = DeepLinkRouter.resolveToWebURL(url, base: base)
XCTAssertEqual(resolved.absoluteString, "https://zitare.mana.how")
XCTAssertEqual(resolved.absoluteString, "https://zitare.com")
}
func test_resolve_httpsPassesThrough() throws {
@ -82,7 +82,7 @@ final class DeepLinkRouterTests: XCTestCase {
func test_route_httpsExplorePath_goesToExplore() throws {
let result = try DeepLinkRouter.route(
XCTUnwrap(URL(string: "https://zitare.mana.how/region/schweiz")),
XCTUnwrap(URL(string: "https://zitare.com/region/schweiz")),
base: base
)
XCTAssertTrue(result.isExplore)