https://github.com/TI0J0A0/Watchout
· scanned 2026-06-16 00:36 UTC (2 months, 2 weeks ago)
25 raw signals (0 security + 25 graph)
Last scanned 2 months, 2 weeks ago · v1 · 25 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 775 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 |
|---|---|---|---|
getText |
software | healthy | supabase/functions/fetch-ann-news/index.ts:getText |
stripHtml |
software | healthy | supabase/functions/fetch-ann-news/index.ts:stripHtml |
parseRSS |
software | healthy | supabase/functions/fetch-ann-news/index.ts:parseRSS |
allowedOrigins |
software | healthy | supabase/functions/fetch-ann-news/index.ts:allowedOrigins |
isAllowedOrigin |
software | healthy | supabase/functions/fetch-ann-news/index.ts:isAllowedOrigin |
cors |
software | healthy | supabase/functions/fetch-ann-news/index.ts:cors |
jsonResponse |
software | healthy | supabase/functions/fetch-ann-news/index.ts:jsonResponse |
allowedOrigins |
software | healthy | supabase/functions/anikoto/index.ts:allowedOrigins |
isAllowedOrigin |
software | healthy | supabase/functions/anikoto/index.ts:isAllowedOrigin |
corsHeaders |
software | healthy | supabase/functions/anikoto/index.ts:corsHeaders |
jsonResponse |
software | healthy | supabase/functions/anikoto/index.ts:jsonResponse |
items |
software | healthy | supabase/functions/anikoto/index.ts:items |
allowedOrigins |
software | healthy | supabase/functions/metrics-ingest/index.ts:allowedOrigins |
isAllowedOrigin |
software | healthy | supabase/functions/metrics-ingest/index.ts:isAllowedOrigin |
corsHeaders |
software | healthy | supabase/functions/metrics-ingest/index.ts:corsHeaders |
jsonResponse |
software | healthy | supabase/functions/metrics-ingest/index.ts:jsonResponse |
getClientIp |
software | healthy | supabase/functions/metrics-ingest/index.ts:getClientIp |
lookupGeo |
software | healthy | supabase/functions/metrics-ingest/index.ts:lookupGeo |
named |
software | healthy | src/App.jsx:named |
parseHash |
software | healthy | src/App.jsx:parseHash |
h |
software | healthy | src/App.jsx:h |
buildHash |
software | healthy | src/App.jsx:buildHash |
AppInner |
software | healthy | src/App.jsx:AppInner |
update |
software | healthy | src/App.jsx:update |
onPop |
software | healthy | src/App.jsx:onPop |
refreshProfile |
software | healthy | src/App.jsx:refreshProfile |
loadHeroConfig |
software | healthy | src/App.jsx:loadHeroConfig |
handleHeroUpdated |
software | healthy | src/App.jsx:handleHeroUpdated |
navigate |
software | healthy | src/App.jsx:navigate |
openCategory |
software | healthy | src/App.jsx:openCategory |
openDetail |
software | healthy | src/App.jsx:openDetail |
openAnimeById |
software | healthy | src/App.jsx:openAnimeById |
App |
software | healthy | src/App.jsx:App |
getGenreById |
software | healthy | src/constants/browse.js:getGenreById |
getDefaultArchiveYear |
software | healthy | src/constants/browse.js:getDefaultArchiveYear |
getHeroMeta |
software | healthy | src/utils/heroCarousel.js:getHeroMeta |
getHeroCta |
software | healthy | src/utils/heroCarousel.js:getHeroCta |
getHeroImage |
software | healthy | src/utils/heroCarousel.js:getHeroImage |
getHeroFocalPoint |
software | healthy | src/utils/heroCarousel.js:getHeroFocalPoint |
timeAgo |
software | healthy | src/utils/timeAgo.js:timeAgo |
getNextAiredEpisode |
software | healthy | src/utils/playerNavigation.js:getNextAiredEpisode |
shouldShowNextEpisodeButton |
software | healthy | src/utils/playerNavigation.js:shouldShowNextEpisodeButton |
createCachedJsonFetcher |
software | healthy | src/utils/apiCache.js:createCachedJsonFetcher |
cachedJson |
software | healthy | src/utils/apiCache.js:cachedJson |
shouldTreatPointerAsTap |
software | healthy | src/utils/mobileInteraction.js:shouldTreatPointerAsTap |
getProgressiveLimit |
software | healthy | src/utils/progressiveList.js:getProgressiveLimit |
positiveInteger |
software | healthy | src/utils/playerSecurity.js:positiveInteger |
isFiniteNumber |
software | healthy | src/utils/playerSecurity.js:isFiniteNumber |
buildMegaplayEmbedUrl |
software | healthy | src/utils/playerSecurity.js:buildMegaplayEmbedUrl |
getTrustedPlayerMessage |
software | healthy | src/utils/playerSecurity.js:getTrustedPlayerMessage |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
vite.config.js |
software | healthy | vite.config.js |
TMDB_PROXY.md |
software | healthy | TMDB_PROXY.md |
skills-lock.json |
software | healthy | skills-lock.json |
vercel.json |
software | healthy | vercel.json |
README.md |
software | healthy | README.md |
package.json |
software | healthy | package.json |
index.html |
software | healthy | index.html |
package-lock.json |
software | healthy | package-lock.json |
.env.example |
software | healthy | .env.example |
README.md |
software | healthy | android/README.md |
build.gradle.kts |
software | healthy | android/build.gradle.kts |
build.gradle.kts |
software | healthy | android/app/build.gradle.kts |
MainActivity.kt |
software | healthy | android/app/src/main/java/com/funnyroll/app/MainActivity.kt |
apis.md |
software | healthy | docs/apis.md |
project-en.md |
software | healthy | docs/project-en.md |
CHANGELOG.md |
software | healthy | docs/CHANGELOG.md |
2026-05-13-crunchyroll-hero-nav.md |
software | healthy | docs/superpowers/plans/2026-05-13-crunchyroll-hero-nav.md |
2026-05-13-hero-banner-background.md |
software | healthy | docs/superpowers/plans/2026-05-13-hero-banner-background.md |
2026-05-12-watchout-streaming-hero-design.md |
software | healthy | docs/superpowers/specs/2026-05-12-watchout-streaming-hero-d… |
2026-05-13-crunchyroll-hero-nav-design.md |
software | healthy | docs/superpowers/specs/2026-05-13-crunchyroll-hero-nav-desi… |
2026-05-13-hero-banner-background-design.md |
software | healthy | docs/superpowers/specs/2026-05-13-hero-banner-background-de… |
launch.json |
software | healthy | .claude/launch.json |
SKILL.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/SKILL.md |
monitor-explain-analyze.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
data-batch-inserts.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
conn-pooling.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
schema-lowercase-identifiers.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
query-missing-indexes.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
security-rls-basics.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
monitor-vacuum-analyze.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
data-n-plus-one.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
schema-constraints.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
data-pagination.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
conn-idle-timeout.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
schema-data-types.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
lock-skip-locked.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
schema-foreign-key-indexes.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
_template.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
schema-primary-keys.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
security-rls-performance.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
lock-advisory.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
query-partial-indexes.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
advanced-full-text-search.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
conn-prepared-statements.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
advanced-jsonb-indexing.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
monitor-pg-stat-statements.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
lock-deadlock-prevention.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
data-upsert.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
lock-short-transactions.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
conn-limits.md |
software | healthy | .claude/skills/supabase-postgres-best-practices/references/… |
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 |
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 |
com |
software | healthy | android/app/src/main/java/com |
funnyroll |
software | healthy | android/app/src/main/java/com/funnyroll |
app |
software | healthy | android/app/src/main/java/com/funnyroll/app |
docs |
software | healthy | docs |
superpowers |
software | healthy | docs/superpowers |
plans |
software | healthy | docs/superpowers/plans |
specs |
software | healthy | docs/superpowers/specs |
.claude |
software | healthy | .claude |
skills |
software | healthy | .claude/skills |
supabase-postgres-best-practices |
software | healthy | .claude/skills/supabase-postgres-best-practices |
references |
software | healthy | .claude/skills/supabase-postgres-best-practices/references |
supabase |
software | healthy | .claude/skills/supabase |
references |
software | healthy | .claude/skills/supabase/references |
assets |
software | healthy | .claude/skills/supabase/assets |
supabase |
software | healthy | supabase |
functions |
software | healthy | supabase/functions |
fetch-ann-news |
software | healthy | supabase/functions/fetch-ann-news |
anikoto |
software | healthy | supabase/functions/anikoto |
metrics-ingest |
software | healthy | supabase/functions/metrics-ingest |
migrations |
software | healthy | supabase/migrations |
src |
software | healthy | src |
i18n |
software | healthy | src/i18n |
constants |
software | healthy | src/constants |
utils |
software | healthy | src/utils |
components |
software | healthy | src/components |
ui |
software | healthy | src/components/ui |
community |
software | healthy | src/components/community |
admin |
software | healthy | src/components/admin |
profile |
software | healthy | src/components/profile |
pages |
software | healthy | src/pages |
hooks |
software | healthy | src/hooks |
admin |
software | healthy | src/hooks/admin |
profile |
software | healthy | src/hooks/profile |
services |
software | healthy | src/services |
context |
software | healthy | src/context |
| Label | Layer | Status | Path |
|---|---|---|---|
/searchState |
frontend | healthy | src/pages/searchState.js |
/searchState.test |
frontend | healthy | src/pages/searchState.test.js |
/ProfilePage |
frontend | healthy | src/pages/ProfilePage.jsx |
/CategoriesPage |
frontend | healthy | src/pages/CategoriesPage.jsx |
/AuthPage |
frontend | healthy | src/pages/AuthPage.jsx |
/CalendarPage |
frontend | healthy | src/pages/CalendarPage.jsx |
/AdminPage |
frontend | healthy | src/pages/AdminPage.jsx |
/CommunityPage |
frontend | healthy | src/pages/CommunityPage.jsx |
/AnimePage |
frontend | healthy | src/pages/AnimePage.jsx |
/SearchPage |
frontend | healthy | src/pages/SearchPage.jsx |
/newsPageState |
frontend | healthy | src/pages/newsPageState.js |
/SeasonalPage |
frontend | healthy | src/pages/SeasonalPage.jsx |
/FriendProfilePage |
frontend | healthy | src/pages/FriendProfilePage.jsx |
/TopPage |
frontend | healthy | src/pages/TopPage.jsx |
/newsPageState.test |
frontend | healthy | src/pages/newsPageState.test.js |
/SeasonalPage.test |
frontend | healthy | src/pages/SeasonalPage.test.js |
/NewsPage |
frontend | healthy | src/pages/NewsPage.jsx |
| Label | Layer | Status | Path |
|---|---|---|---|
20260510_split_animes_table.sql |
data | healthy | supabase/migrations/20260510_split_animes_table.sql |
20260505_community.sql |
data | healthy | supabase/migrations/20260505_community.sql |
20260518_repair_admin_access_policies.sql |
data | healthy | supabase/migrations/20260518_repair_admin_access_policies.s… |
admin_schema.sql |
data | healthy | supabase/migrations/admin_schema.sql |
20260513_site_metrics_events.sql |
data | healthy | supabase/migrations/20260513_site_metrics_events.sql |
20260513_hero_entries.sql |
data | healthy | supabase/migrations/20260513_hero_entries.sql |
20260513_hero_settings.sql |
data | healthy | supabase/migrations/20260513_hero_settings.sql |
20260510_user_anime_fix.sql |
data | healthy | supabase/migrations/20260510_user_anime_fix.sql |
20260512_admin_dashboard.sql |
data | healthy | supabase/migrations/20260512_admin_dashboard.sql |
20260513_hero_logo_url.sql |
data | healthy | supabase/migrations/20260513_hero_logo_url.sql |
20260520_harden_open_policies.sql |
data | healthy | supabase/migrations/20260520_harden_open_policies.sql |
20260510_drop_unused_tables.sql |
data | healthy | supabase/migrations/20260510_drop_unused_tables.sql |
20260510_feedback_fixes.sql |
data | healthy | supabase/migrations/20260510_feedback_fixes.sql |
20260505_anime_comments.sql |
data | healthy | supabase/migrations/20260505_anime_comments.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
animes |
data | healthy | supabase/migrations/20260510_split_animes_table.sql |
forum_topics |
data | healthy | supabase/migrations/20260505_community.sql |
forum_posts |
data | healthy | supabase/migrations/20260505_community.sql |
feedback |
data | healthy | supabase/migrations/20260505_community.sql |
feedback_votes |
data | healthy | supabase/migrations/20260505_community.sql |
public |
data | healthy | supabase/migrations/admin_schema.sql |
anime_comments |
data | healthy | supabase/migrations/20260505_anime_comments.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
postgres |
data | healthy | skills-lock.json |
postgresql |
data | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::.claude/skills/supabase/SKILL.md |
security | healthy | .claude/skills/supabase/SKILL.md |
auth::supabase/functions/anikoto/index.ts |
security | healthy | supabase/functions/anikoto/index.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-22iiix20 |
software | healthy | /tmp/repobility-clone-22iiix20 |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | supabase/functions/fetch-ann-news/index.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
App |
frontend | healthy | src/App.jsx |
This page is publicly accessible at:
https://repobility.com/scan/2ace866d-354d-4655-b019-186fa73c6b58/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/2ace866d-354d-4655-b019-186fa73c6b58/
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.