Dimillian / Dimillian/IceCubesApp

Bug: Login issues with [REDACTED]

Open
#2,058 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.