r/angular

I built a free Steam achievement tracker that scores each achievement by how rare it is, I call it Nyx, but not sure on the name. Looking for honest feedback.

Hey all, I’ve been building a side project called Nyx and I’d like some outside opinions before I take it further.

What it is

Nyx is a dashboard for your gaming history. You sign in with Steam and it pulls in your library, playtime and achievements. After that it syncs about once an hour and turns everything into one score.

How the score works

Hours don’t earn points. Each achievement is worth more the fewer players have it:

  • 64% of players have it: 13 pts
  • 4% have it: 50 pts
  • 1% have it: 100 pts

The formula is 10 × √(100 / unlock %). Getting every achievement in a game adds 20% on top. Your total places you on a ladder of 7 tiers, from Iron up to Onyx, and each game gets a mastery grade from D to S.

What else it does

  • Library: every game with your completion and mastery, and how you compare to the average player
  • History: a calendar of your play sessions and unlocks, plus a heatmap of when you play
  • Objectives board: pick locked achievements you want to go after and move them through Backlog → Up next → Hunting → Done. Each sync ticks off the ones you’ve unlocked. Only you can see your board.
  • Custom platforms: for anything Steam doesn’t cover, like an old handheld or a game you finished offline, you can add your own platform and enter games by hand. These count toward your hours and history but never toward the score, because the achievements are self-reported.
  • Profiles: you can browse other players’ libraries, or a combined view of everyone on Nyx
  • Light and dark themes, and a small mascot you can poke

The added video is from my own Steam account + dummy account with test data.

u/CorpalSyndrome — 7 days ago
▲ 10 r/angular+1 crossposts

Ionic iOS app couldn't fetch API data, but Safari and PWA worked. Switching to CapacitorHttp fixed it.

I recently ran into a weird issue with an Ionic + Angular + Capacitor app on iOS and thought I'd share it here in case someone else runs into the same thing.

The app launched fine, and the homepage loaded normally. But other screens were blank because the API data wasn't loading. Reinstalling the app and restarting the device didn't help either.

What confused me was that everything seemed fine outside the native app.

  • APIs were accessible directly.
  • Safari worked.
  • The PWA worked.
  • Only the native iOS app failed.

The app was using Angular's usual HttpClient for API requests. I spent some time checking authentication, CORS, caching, TLS/certificate issues and a few other possibilities, but couldn't pin down the exact cause.

Eventually, I tried switching the API requests to Capacitor's native HTTP implementation, CapacitorHttp.

Here's a basic example of what I changed:

import { CapacitorHttp } from '@capacitor/core';

const response = await CapacitorHttp.request({
  method: 'GET',
  url: apiUrl,
  headers: {
    Authorization: `Bearer ${token}`
  }
});

I also enabled it in capacitor.config.ts:

plugins: {
  CapacitorHttp: {
    enabled: true
  }
}

After switching the requests, the API calls started working again, and the screens that were previously blank loaded normally.

I rebuilt the app, distributed it through TestFlight, and tested it on physical iOS devices. So far, I haven't been able to reproduce the issue.

I'm still not certain what actually caused it. It could have something to do with differences between WebView networking and native iOS networking, but I haven't proved that. TLS handling, corporate security software or other iOS-specific behaviour could also be worth investigating.

Has anyone experienced something similar with Ionic/Capacitor on iOS, where the same APIs work in Safari and the PWA but fail in the native app?

I'd be interested to hear what the actual root cause was in your case.

reddit.com
u/quiet_Quasar0017 — 13 days ago