Dimillian / Dimillian/IceCubesApp
Bug: Login issues with [REDACTED]
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 7.1k
- Forks
- 720
- PR merge metrics
- No merged PRs in 30d
Description
Ok, bear with me on this.
I've been developing my own maston api compatible server, and I was having issues with login with icecubes.
I eventually found the issue, and fixed it on my server side, and I'm wondering if the same issue is presenting login issues from other implementations.
For me, the issue was case insensitivity of the Visibility flag in the timeline call after login. My server was returning Public but IceCubes wasn't recognizing that.
In https://github.com/Dimillian/IceCubesApp/blob/main/Packages/Models/Sources/Models/Status.swift this code
public enum Visibility: String, Codable, CaseIterable, Hashable, Equatable, Sendable {
case pub = "public"
case unlisted
case priv = "private"
case direct
}
I suspect overriding pub with a string like that breaks the case insensitivity of CaseIterable (I'm not a swift dev)
Anyway, hopefully this can help with some of the other login bugs like #1661 and #2038
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with Packages/Models/Sources/Models/Status.swift and the Visibility enum, then trace how the timeline response is decoded after login. Verify behavior with a Mastodon-compatible server returning Public and confirm that login and timeline loading handle the reported visibility value.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- api, authentication, mobile
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100