Daniel Arantes Loverde c6e9803c75 [lcfeaturecontrol-review-fixes] Fix JWT log leak, drop macOS/tvOS, coalesce requests
- FeatureControlManager/NotificationsClient: pass debug: false at every
  api.request(...) call site — the API default (debug: true) was printing
  Authorization: Bearer <jwt> on every request, release builds included.
- Package.swift: drop macOS/tvOS from platforms — LCEssentials.API (used by
  LCFeatureControl) is iOS/watchOS-only and the vendored xcframework has no
  macOS/tvOS slice.
- FeatureControlManager: coalesce concurrent evaluate() calls on a cold cache
  into a single in-flight request per key instead of firing one per caller.
- FeatureControlManager/NotificationsClient: treat a 200 response carrying
  {"error": true} as a failure instead of caching/returning it as success.
- FeatureControlNotificationsClient: thread a cursor param through list() so
  the already-decoded nextCursor can actually be used to page.
- Tests: 9 new tests (coalescing, envelope-error-on-200, cursor param, a real
  object payload decoded through a full evaluate response, date-decode
  failures) and removed the 7 remaining force-unwraps in test scaffolding.
- Documentation/FeatureControl.md: new guide for the LCFeatureControl product,
  cross-linked from README.md and Extensions.md.
2026-09-16 13:21:10 -03:00
2026-05-24 10:26:25 -03:00
2026-05-24 10:26:25 -03:00
2025-03-23 00:27:49 -03:00

Loverde Co. Essentials

Essential Swift scripts, extensions, SwiftUI components, and UIKit-era helpers, shared across Loverde Co. projects. Evolves with Swift, improves every release.

Requirements

  • iOS 15 or newer · Swift 5 or newer

Installation — Swift Package Manager

dependencies: [
    .package(url: "https://git.loverde.com.br/Loverde-Company-LTDA/LCEssentials", .upToNextMajor(from: "2.0.0"))
]

Or add it in Xcode via File ▸ Add Package Dependencies… with the URL:

https://git.loverde.com.br/Loverde-Company-LTDA/LCEssentials
import LCEssentials

Documentation

Guide Covers
API.md API networking — typed requests, multipart uploads, client certificates, error handling, and why it beats a hand-rolled URLSession
Extensions.md Foundation / value-type / string / collection / numeric / date / crypto extensions and the LCEssentials namespace
SwiftUI.md SwiftUI components (LCENavigationView) and View helpers
UIKit.md Programmatic layout & constraints, view/control extensions, navigation, tables, and drop-in components (LCSnackBarView, image picker/zoom, GIF loading)
FeatureControl.md LCFeatureControl — Atomenta Feature Control client: flag evaluation, cache/safe-degrade, notifications inbox, exposure telemetry

Daniel Arantes Loverde — daniel@loverde.com.br

GitHub

Description
Swift and SwiftUI algorithms helpers
Readme 31 MiB
v2.1.0 Latest
2026-09-16 13:32:23 -03:00
Languages
Swift 93.7%
C++ 6.3%