https://github.com/TrainLCD/MobileApp
· scanned 2026-06-16 00:41 UTC (2 months, 1 week ago)
56 raw signals (0 security + 56 graph)
Last scanned 2 months, 1 week ago · v1 · 52 actionable findings from 1 signal source. 4 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 1705 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
getCacheFileExtension |
software | healthy | functions/src/funcs/ttsCachePubSub.ts:getCacheFileExtension |
getTtsConfig |
software | healthy | functions/src/funcs/tts.ts:getTtsConfig |
sniffAudioMimeType |
software | healthy | functions/src/funcs/tts.ts:sniffAudioMimeType |
stripSsml |
software | healthy | functions/src/funcs/tts.ts:stripSsml |
getAccessToken |
software | healthy | functions/src/funcs/tts.ts:getAccessToken |
synthesizeSpeech |
software | healthy | functions/src/funcs/tts.ts:synthesizeSpeech |
json |
software | healthy | functions/src/funcs/tts.ts:json |
must |
software | healthy | functions/src/funcs/tts.ts:must |
jaRawMime |
software | healthy | functions/src/funcs/tts.ts:jaRawMime |
enRawMime |
software | healthy | functions/src/funcs/tts.ts:enRawMime |
printUsage |
software | healthy | functions/src/cli/find-tts-cache.ts:printUsage |
parseArgs |
software | healthy | functions/src/cli/find-tts-cache.ts:parseArgs |
main |
software | healthy | functions/src/cli/find-tts-cache.ts:main |
match |
software | healthy | functions/src/cli/find-tts-cache.ts:match |
confirm |
software | healthy | functions/src/cli/find-tts-cache.ts:confirm |
printUsage |
software | healthy | functions/src/cli/find-orphaned-tts.ts:printUsage |
parseArgs |
software | healthy | functions/src/cli/find-orphaned-tts.ts:parseArgs |
collectStorageFiles |
software | healthy | functions/src/cli/find-orphaned-tts.ts:collectStorageFiles |
main |
software | healthy | functions/src/cli/find-orphaned-tts.ts:main |
confirm |
software | healthy | functions/src/cli/find-orphaned-tts.ts:confirm |
removeMacron |
software | healthy | functions/src/utils/removeMacron.ts:removeMacron |
capitalizeSegment |
software | healthy | functions/src/utils/normalize.ts:capitalizeSegment |
normalizeRomanText |
software | healthy | functions/src/utils/normalize.ts:normalizeRomanText |
isStandardVoiceName |
software | healthy | functions/src/utils/ttsVoice.ts:isStandardVoiceName |
resolveStandardVoiceName |
software | healthy | functions/src/utils/ttsVoice.ts:resolveStandardVoiceName |
parseGsUri |
software | healthy | functions/src/workers/googlePlayReviews.ts:parseGsUri |
loadState |
software | healthy | functions/src/workers/googlePlayReviews.ts:loadState |
saveState |
software | healthy | functions/src/workers/googlePlayReviews.ts:saveState |
tsToIso |
software | healthy | functions/src/workers/googlePlayReviews.ts:tsToIso |
secondsRaw |
software | healthy | functions/src/workers/googlePlayReviews.ts:secondsRaw |
nanosRaw |
software | healthy | functions/src/workers/googlePlayReviews.ts:nanosRaw |
toPlayReviews |
software | healthy | functions/src/workers/googlePlayReviews.ts:toPlayReviews |
postToDiscord |
software | healthy | functions/src/workers/googlePlayReviews.ts:postToDiscord |
contentVal |
software | healthy | functions/src/workers/googlePlayReviews.ts:contentVal |
runGooglePlayReviewJob |
software | healthy | functions/src/workers/googlePlayReviews.ts:runGooglePlayRev… |
response |
software | healthy | functions/src/workers/googlePlayReviews.ts:response |
looksLikeSpam |
software | healthy | functions/src/workers/feedback.ts:looksLikeSpam |
generateWithRetry |
software | healthy | functions/src/workers/feedback.ts:generateWithRetry |
run |
software | healthy | functions/src/workers/feedback.ts:run |
extractTextFromVertex |
software | healthy | functions/src/workers/feedback.ts:extractTextFromVertex |
coerceReport |
software | healthy | functions/src/workers/feedback.ts:coerceReport |
norm |
software | healthy | functions/src/workers/feedback.ts:norm |
getStr |
software | healthy | functions/src/workers/feedback.ts:getStr |
getNum |
software | healthy | functions/src/workers/feedback.ts:getNum |
getBool |
software | healthy | functions/src/workers/feedback.ts:getBool |
loadFewShotFromGCS |
software | healthy | functions/src/workers/feedback.ts:loadFewShotFromGCS |
getFewShotText |
software | healthy | functions/src/workers/feedback.ts:getFewShotText |
raw |
software | healthy | functions/src/workers/feedback.ts:raw |
osNameLabel |
software | healthy | functions/src/workers/feedback.ts:osNameLabel |
autoModeLabel |
software | healthy | functions/src/workers/feedback.ts:autoModeLabel |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
metro.config.js |
software | healthy | metro.config.js |
babel.config.js |
software | healthy | babel.config.js |
README.md |
software | healthy | README.md |
eas.json |
software | healthy | eas.json |
package.json |
software | healthy | package.json |
jest.setup.js |
software | healthy | jest.setup.js |
mise.toml |
software | healthy | mise.toml |
firebase.json |
software | healthy | firebase.json |
Flow.yaml |
software | healthy | Flow.yaml |
package-lock.json |
software | healthy | package-lock.json |
app.config.ts |
software | healthy | app.config.ts |
.env.example |
software | healthy | .env.example |
tsconfig.json |
software | healthy | tsconfig.json |
index.js |
software | healthy | index.js |
LICENSE |
software | healthy | LICENSE |
biome.json |
software | healthy | biome.json |
TECHNICAL_DEBT.md |
software | healthy | TECHNICAL_DEBT.md |
AGENTS.md |
software | healthy | AGENTS.md |
build.gradle |
software | healthy | android/build.gradle |
build.gradle.kts |
software | healthy | android/wearable/build.gradle.kts |
CompanionNotInstalled.kt |
software | healthy | android/wearable/src/main/java/me/tinykitten/trainlcd/Compa… |
WearApp.kt |
software | healthy | android/wearable/src/main/java/me/tinykitten/trainlcd/WearA… |
DataClass.kt |
software | healthy | android/wearable/src/main/java/me/tinykitten/trainlcd/DataC… |
MainActivity.kt |
software | healthy | android/wearable/src/main/java/me/tinykitten/trainlcd/MainA… |
Type.kt |
software | healthy | android/wearable/src/main/java/me/tinykitten/trainlcd/theme… |
Theme.kt |
software | healthy | android/wearable/src/main/java/me/tinykitten/trainlcd/theme… |
Color.kt |
software | healthy | android/wearable/src/main/java/me/tinykitten/trainlcd/theme… |
build.gradle |
software | healthy | android/app/build.gradle |
GnssModule.kt |
software | healthy | android/app/src/main/java/me/tinykitten/trainlcd/GnssModule… |
WearableModule.kt |
software | healthy | android/app/src/main/java/me/tinykitten/trainlcd/WearableMo… |
IgnoreBatteryOptimizationsModule.kt |
software | healthy | android/app/src/main/java/me/tinykitten/trainlcd/IgnoreBatt… |
MainActivity.kt |
software | healthy | android/app/src/main/java/me/tinykitten/trainlcd/MainActivi… |
MainApplication.kt |
software | healthy | android/app/src/main/java/me/tinykitten/trainlcd/MainApplic… |
PictureInPictureModule.kt |
software | healthy | android/app/src/main/java/me/tinykitten/trainlcd/PictureInP… |
TrainLCDPackage.kt |
software | healthy | android/app/src/main/java/me/tinykitten/trainlcd/TrainLCDPa… |
LiveUpdateModule.kt |
software | healthy | android/app/src/main/java/me/tinykitten/trainlcd/LiveUpdate… |
tsconfig.build.json |
software | healthy | functions/tsconfig.build.json |
jest.config.js |
software | healthy | functions/jest.config.js |
README.md |
software | healthy | functions/README.md |
package.json |
software | healthy | functions/package.json |
package-lock.json |
software | healthy | functions/package-lock.json |
tsconfig.json |
software | healthy | functions/tsconfig.json |
biome.json |
software | healthy | functions/biome.json |
index.ts |
software | healthy | functions/src/index.ts |
ttsCachePubSub.ts |
software | healthy | functions/src/funcs/ttsCachePubSub.ts |
enqueueFeedback.ts |
software | healthy | functions/src/funcs/enqueueFeedback.ts |
tts.ts |
software | healthy | functions/src/funcs/tts.ts |
ai.ts |
software | healthy | functions/src/models/ai.ts |
common.ts |
software | healthy | functions/src/models/common.ts |
feedback.ts |
software | healthy | functions/src/models/feedback.ts |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
android |
software | healthy | android |
wearable |
software | healthy | android/wearable |
src |
software | healthy | android/wearable/src |
main |
software | healthy | android/wearable/src/main |
java |
software | healthy | android/wearable/src/main/java |
me |
software | healthy | android/wearable/src/main/java/me |
tinykitten |
software | healthy | android/wearable/src/main/java/me/tinykitten |
trainlcd |
software | healthy | android/wearable/src/main/java/me/tinykitten/trainlcd |
theme |
software | healthy | android/wearable/src/main/java/me/tinykitten/trainlcd/theme |
app |
software | healthy | android/app |
src |
software | healthy | android/app/src |
main |
software | healthy | android/app/src/main |
java |
software | healthy | android/app/src/main/java |
me |
software | healthy | android/app/src/main/java/me |
tinykitten |
software | healthy | android/app/src/main/java/me/tinykitten |
trainlcd |
software | healthy | android/app/src/main/java/me/tinykitten/trainlcd |
functions |
software | healthy | functions |
src |
software | healthy | functions/src |
funcs |
software | healthy | functions/src/funcs |
models |
software | healthy | functions/src/models |
cli |
software | healthy | functions/src/cli |
utils |
software | healthy | functions/src/utils |
workers |
software | healthy | functions/src/workers |
__tests__ |
software | healthy | functions/src/workers/__tests__ |
docs |
software | healthy | docs |
spec |
software | healthy | docs/spec |
fundamental |
software | healthy | docs/spec/fundamental |
scripts |
software | healthy | scripts |
utils |
software | healthy | utils |
@types |
software | healthy | @types |
assets |
software | healthy | assets |
translations |
software | healthy | assets/translations |
ios |
software | healthy | ios |
RideSessionActivity |
software | healthy | ios/RideSessionActivity |
Assets.xcassets |
software | healthy | ios/RideSessionActivity/Assets.xcassets |
AppIcon.imageset |
software | healthy | ios/RideSessionActivity/Assets.xcassets/AppIcon.imageset |
Modules |
software | healthy | ios/Modules |
SensitiveNotification |
software | healthy | ios/Modules/SensitiveNotification |
LiveActivity |
software | healthy | ios/Modules/LiveActivity |
TrainLCD |
software | healthy | ios/TrainLCD |
Images.xcassets |
software | healthy | ios/TrainLCD/Images.xcassets |
AppIconDev.appiconset |
software | healthy | ios/TrainLCD/Images.xcassets/AppIconDev.appiconset |
AppIcon.appiconset |
software | healthy | ios/TrainLCD/Images.xcassets/AppIcon.appiconset |
SplashScreenDev.imageset |
software | healthy | ios/TrainLCD/Images.xcassets/SplashScreenDev.imageset |
SplashScreen.imageset |
software | healthy | ios/TrainLCD/Images.xcassets/SplashScreen.imageset |
WatchWidget |
software | healthy | ios/WatchWidget |
Assets.xcassets |
software | healthy | ios/WatchWidget/Assets.xcassets |
WidgetBackground.colorset |
software | healthy | ios/WatchWidget/Assets.xcassets/WidgetBackground.colorset |
AppIcon.appiconset |
software | healthy | ios/WatchWidget/Assets.xcassets/AppIcon.appiconset |
AccentColor.colorset |
software | healthy | ios/WatchWidget/Assets.xcassets/AccentColor.colorset |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
React |
frontend | healthy | src/index.tsx |
React |
frontend | healthy | src/stacks/MainStack.tsx |
React |
frontend | healthy | src/screens/ThemeSettings.tsx |
React |
frontend | healthy | src/screens/AppSettings.tsx |
React |
frontend | healthy | src/screens/Main.tsx |
React |
frontend | healthy | src/screens/SelectLineScreen.tsx |
React |
frontend | healthy | src/screens/Licenses.tsx |
React |
frontend | healthy | src/screens/ExperimentalSettings.tsx |
React |
frontend | healthy | src/screens/EnabledLanguagesSettings.tsx |
React |
frontend | healthy | src/screens/Privacy.tsx |
React |
frontend | healthy | src/screens/TTSSettings.tsx |
React |
frontend | healthy | src/screens/NotificationSettings.tsx |
React |
frontend | healthy | src/screens/AndroidSettings.tsx |
React |
frontend | healthy | src/screens/RouteSearchScreen.tsx |
JotaiObserver |
frontend | healthy | src/utils/testing/RecoilObserver.tsx |
React |
frontend | healthy | src/components/NumberingIconMonochromeRound.tsx |
NumberingIconOdakyu |
frontend | healthy | src/components/NumberingIconOdakyu.tsx |
React |
frontend | healthy | src/components/HeaderStationName.tsx |
NumberingIconReversedSquare |
frontend | healthy | src/components/NumberingIconReversedSquare.tsx |
React |
frontend | healthy | src/components/Typography.tsx |
NumberingIconSquare |
frontend | healthy | src/components/NumberingIconSquare.tsx |
React |
frontend | healthy | src/components/NumberingIconRound.tsx |
React |
frontend | healthy | src/components/NumberingIconHalfSquare.tsx |
React |
frontend | healthy | src/components/HeaderJL.tsx |
React |
frontend | healthy | src/components/CustomModal.tsx |
CustomErrorBoundary |
frontend | healthy | src/components/CustomErrorBoundary.tsx |
React |
frontend | healthy | src/components/NumberingIconKeisei.tsx |
React |
frontend | healthy | src/components/LineBoardSaikyo.tsx |
React |
frontend | healthy | src/components/LineBoardLED.tsx |
PickerChevronIcon |
frontend | healthy | src/components/PickerChevronIcon.tsx |
React |
frontend | healthy | src/components/HeaderE231.tsx |
React |
frontend | healthy | src/components/LineBoardEast.tsx |
React |
frontend | healthy | src/components/NumberingIconReversedRound.tsx |
React |
frontend | healthy | src/components/Permitted.tsx |
FatalErrorScreen |
frontend | healthy | src/components/FatalErrorScreen.tsx |
React |
frontend | healthy | src/components/HeaderE235.tsx |
React |
frontend | healthy | src/components/HeaderTokyoMetro.tsx |
React |
frontend | healthy | src/components/WarningPanel.tsx |
Button |
frontend | healthy | src/components/Button.tsx |
React |
frontend | healthy | src/components/TrainTypeBoxJRKyushu.tsx |
React |
frontend | healthy | src/components/Clock.tsx |
React |
frontend | healthy | src/components/FooterTabBar.tsx |
React |
frontend | healthy | src/components/DevOverlay.tsx |
NumberingIcon |
frontend | healthy | src/components/NumberingIcon.tsx |
React |
frontend | healthy | src/components/PadArch.tsx |
React |
frontend | healthy | src/components/TrainTypeBoxE231.tsx |
NumberingIconKintetsu |
frontend | healthy | src/components/NumberingIconKintetsu.tsx |
NumberingIconNTL |
frontend | healthy | src/components/NumberingIconNTL.tsx |
React |
frontend | healthy | src/components/LineBoardJO.tsx |
Hexagon |
frontend | healthy | src/components/Hexagon.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
File |
software | healthy | functions/src/workers/__tests__/googlePlayReviews.test.ts:F… |
Bucket |
software | healthy | functions/src/workers/__tests__/googlePlayReviews.test.ts:B… |
Storage |
software | healthy | functions/src/workers/__tests__/googlePlayReviews.test.ts:S… |
File |
software | healthy | functions/src/workers/__tests__/appStoreReviewNotifier.test… |
Bucket |
software | healthy | functions/src/workers/__tests__/appStoreReviewNotifier.test… |
Storage |
software | healthy | functions/src/workers/__tests__/appStoreReviewNotifier.test… |
Storage |
software | healthy | functions/src/workers/__tests__/feedback.test.ts:Storage |
VertexAI |
software | healthy | functions/src/workers/__tests__/feedback.test.ts:VertexAI |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::label_issues |
cicd | healthy | .github/workflows/label_issues.yml |
gha::test |
cicd | healthy | .github/workflows/test.yml |
gha::code_quality |
cicd | healthy | .github/workflows/code_quality.yml |
gha::typecheck |
cicd | healthy | .github/workflows/typecheck.yml |
gha::bump_version_on_canary_pr |
cicd | healthy | .github/workflows/bump_version_on_canary_pr.yml |
gha::pr_labeler |
cicd | healthy | .github/workflows/pr_labeler.yml |
gha::bump_version_on_release_pr |
cicd | healthy | .github/workflows/bump_version_on_release_pr.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
label_issues |
cicd | healthy | .github/workflows/label_issues.yml |
test |
cicd | healthy | .github/workflows/test.yml |
quality |
cicd | healthy | .github/workflows/code_quality.yml |
typecheck |
cicd | healthy | .github/workflows/typecheck.yml |
bump-version |
cicd | healthy | .github/workflows/bump_version_on_canary_pr.yml |
triage |
cicd | healthy | .github/workflows/pr_labeler.yml |
bump-version |
cicd | healthy | .github/workflows/bump_version_on_release_pr.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
/path/to/test1_ja.mp3 |
frontend | healthy | src/hooks/useTTSCache.test.ts |
/path/to/test1_en.mp3 |
frontend | healthy | src/hooks/useTTSCache.test.ts |
/path/to/test2_ja.mp3 |
frontend | healthy | src/hooks/useTTSCache.test.ts |
/path/to/test2_en.mp3 |
frontend | healthy | src/hooks/useTTSCache.test.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-rpc3cyq7 |
software | healthy | /tmp/repobility-clone-rpc3cyq7 |
| Label | Layer | Status | Path |
|---|---|---|---|
Query root |
api | healthy | src/@types/graphql.d.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | package.json |
| Label | Layer | Status | Path |
|---|---|---|---|
pubsub |
data | healthy | functions/README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::gcp |
hardware | healthy | functions/package-lock.json |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/37dc6123-33c1-4c83-b314-34f0718181d7/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/37dc6123-33c1-4c83-b314-34f0718181d7/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.