Skip to content

0.4.0

Latest

Choose a tag to compare

@mabd-agent mabd-agent released this 17 Oct 08:25

Breaking

  • Min iOS bumped 16 → 17
  • Public globals DEFAULT_NETWORK_TIMEOUT / DEFAULT_LOG_LEVEL removed. FedoConfig defaults unchanged
  • FedoLogEntry initializer now internal. Hosts only receive entries

Added

  • FedoConfig.logHandler — receive SDK logs as FedoLogEntry instead of OSLog
  • Discard confirmation — when leaving feedback editor with unsaved title/details

Changed

  • FedoConfig.networkTimeout now total per-request limit (hidden 60 s cap removed)
  • Character limits counted in Unicode scalars like backend
  • SDK strings rendered verbatim, never looked up in host bundle (always English)
  • Blank setUserEmail("") now accepted so hosts can clear email
  • FedoFeedbackView must be on NavigationStack; NavigationView / fullScreenCover unsupported

Fixed — user-visible

  • Comment timestamps — "N days ago" up to 7 days (Android parity)
  • Failed pull-to-refresh on detail shows error banner, keeps comments
  • Feedback details screen — Pull-to-refresh no longer cancelled mid-flight
  • Loaded comments stay visible when background reload fails
  • Feedbacks screen — Pull-to-refresh failure with rows visible shows banner, not silent log
  • Comments no longer flash spinner on every detail reload
  • Stale refresh/comments errors cleared on successful load/post
  • Comment count on list rows updates after post/delete
  • Failed comment delete shows "Couldn't delete comment"
  • Vote failure banner shows on detail screen, not hidden list
  • Empty board shows board empty state + "Suggest a feature", not filter-empty
  • Feedback posted before first successful load no longer dropped
  • Delete only offered for own feedback in in_review/planned. Else "Can't Delete Feedback"
  • Swipe-to-dismiss sheet with unsaved text asks to discard. Edit mode dismisses freely when unchanged
  • Watermark bar matches white loading/error/thanks states on iOS
  • Friendly "feedback isn't available" placeholder in Release when SDK not initialized
  • .tint() now drives vote glyph, send button, comment highlight, avatar fallback
  • Malformed feedback/comment item skipped + logged instead of failing whole list
  • Unknown feedback status decodes as "Unknown", listed under Closed

Fixed — session / identity

  • Session — app kill mid-write can't mix users' token+id
  • Fresh anonymous session when API key changes
  • Logout clears core token + cached feedback; drops previous user's in-flight responses
  • Late token refresh after logout/user change no longer restores old user
  • setUserID no longer replaced by queued anonymous-user creation
  • User data no longer printed in logs