Scan timing: clone 1.73s · analysis 53.79s · 6.6 MB · GitHub API rate-limit (preflight)
https://github.com/usememos/memos
· scanned 2026-06-05 09:42 UTC (5 days, 17 hours ago)
· 10 languages
499 raw signals (193 security + 306 graph) 4th percentile · Typescript · large (100-500K LoC) System graph score 77 (lower by 21)
Last scanned 5 days, 17 hours ago · v2 · 203 actionable findings from 2 signal sources. 143 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
85.0 | 0.15 | 12.75 |
security_score |
0.0 | 0.25 | 0.00 |
testing_score |
71.0 | 0.20 | 14.20 |
documentation_score |
76.0 | 0.15 | 11.40 |
practices_score |
80.0 | 0.15 | 12.00 |
code_quality |
51.4 | 0.10 | 5.14 |
| Overall | 1.00 | 55.5 |
All 2485 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 |
|---|---|---|---|
codeElement |
software | healthy | web/tests/mermaid-block.test.tsx:codeElement |
LocationProbe |
software | healthy | web/tests/guards.test.tsx:LocationProbe |
renderAt |
software | healthy | web/tests/guards.test.tsx:renderAt |
collectSingleLinkHrefs |
software | healthy | web/tests/memo-content-paragraph.test.tsx:collectSingleLink… |
renderListContent |
software | healthy | web/tests/memo-content-list.test.tsx:renderListContent |
pastePlainText |
software | healthy | web/tests/memo-editor-paste.test.tsx:pastePlainText |
renderEditor |
software | healthy | web/tests/memo-editor-paste.test.tsx:renderEditor |
installLocation |
software | healthy | web/tests/auth-redirect.test.ts:installLocation |
findByPath |
software | healthy | web/tests/router-config.test.tsx:findByPath |
elementType |
software | healthy | web/tests/router-config.test.tsx:elementType |
hasAncestorOfType |
software | healthy | web/tests/router-config.test.tsx:hasAncestorOfType |
walk |
software | healthy | web/tests/router-config.test.tsx:walk |
t |
software | healthy | web/tests/activity-calendar-tooltip.test.ts:t |
localStorageMock |
software | healthy | web/tests/hooks.test.tsx:localStorageMock |
buildMemo |
software | healthy | web/tests/memo-share-image.test.ts:buildMemo |
buildAttachment |
software | healthy | web/tests/memo-share-image.test.ts:buildAttachment |
buildPreviewModel |
software | healthy | web/tests/memo-share-image.test.ts:buildPreviewModel |
makeDay |
software | healthy | web/tests/calendar-cell-empty-clickable.test.tsx:makeDay |
TrustedIframe |
software | healthy | web/tests/memo-content-security.test.tsx:TrustedIframe |
renderMemoContent |
software | healthy | web/tests/memo-content-security.test.tsx:renderMemoContent |
renderGfmContent |
software | healthy | web/tests/memo-content-security.test.tsx:renderGfmContent |
wrapper |
software | healthy | web/tests/filtered-memo-stats.test.ts:wrapper |
ts |
software | healthy | web/tests/filtered-memo-stats.test.ts:ts |
getTokenChannel |
software | healthy | web/src/auth-state.ts:getTokenChannel |
getAccessToken |
software | healthy | web/src/auth-state.ts:getAccessToken |
setAccessToken |
software | healthy | web/src/auth-state.ts:setAccessToken |
isTokenExpired |
software | healthy | web/src/auth-state.ts:isTokenExpired |
hasStoredToken |
software | healthy | web/src/auth-state.ts:hasStoredToken |
clearAccessToken |
software | healthy | web/src/auth-state.ts:clearAccessToken |
createTokenRefreshManager |
software | healthy | web/src/connect.ts:createTokenRefreshManager |
doRefreshAccessToken |
software | healthy | web/src/connect.ts:doRefreshAccessToken |
refreshAccessToken |
software | healthy | web/src/connect.ts:refreshAccessToken |
setAuthorizationHeader |
software | healthy | web/src/connect.ts:setAuthorizationHeader |
shouldHandleUnauthenticatedRetry |
software | healthy | web/src/connect.ts:shouldHandleUnauthenticatedRetry |
refreshAndGetAccessToken |
software | healthy | web/src/connect.ts:refreshAndGetAccessToken |
getRequestToken |
software | healthy | web/src/connect.ts:getRequestToken |
AppInitializer |
software | healthy | web/src/main.tsx:AppInitializer |
init |
software | healthy | web/src/main.tsx:init |
Main |
software | healthy | web/src/main.tsx:Main |
App |
software | healthy | web/src/App.tsx:App |
isApiError |
software | healthy | web/src/types/common.ts:isApiError |
hasExtendedData |
software | healthy | web/src/types/markdown.ts:hasExtendedData |
isTagElement |
software | healthy | web/src/types/markdown.ts:isTagElement |
isMentionElement |
software | healthy | web/src/types/markdown.ts:isMentionElement |
isTaskListItemElement |
software | healthy | web/src/types/markdown.ts:isTaskListItemElement |
LandingRoute |
software | healthy | web/src/router/guards.tsx:LandingRoute |
RequireAuthRoute |
software | healthy | web/src/router/guards.tsx:RequireAuthRoute |
RequireGuestRoute |
software | healthy | web/src/router/guards.tsx:RequireGuestRoute |
lazyWithReload |
software | healthy | web/src/router/index.tsx:lazyWithReload |
convertVisibilityFromString |
software | healthy | web/src/utils/memo.ts:convertVisibilityFromString |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
release-please-config.json |
software | healthy | release-please-config.json |
README.md |
software | healthy | README.md |
go.mod |
software | healthy | go.mod |
.release-please-manifest.json |
software | healthy | .release-please-manifest.json |
.golangci.yaml |
software | healthy | .golangci.yaml |
SECURITY.md |
software | healthy | SECURITY.md |
AGENTS.md |
software | healthy | AGENTS.md |
CHANGELOG.md |
software | healthy | CHANGELOG.md |
motionphoto.go |
software | healthy | internal/motionphoto/motionphoto.go |
motionphoto_test.go |
software | healthy | internal/motionphoto/motionphoto_test.go |
resource_name.go |
software | healthy | internal/base/resource_name.go |
resource_name_test.go |
software | healthy | internal/base/resource_name_test.go |
motionphoto.go |
software | healthy | internal/testutil/motionphoto.go |
client_test.go |
software | healthy | internal/email/client_test.go |
README.md |
software | healthy | internal/email/README.md |
config_test.go |
software | healthy | internal/email/config_test.go |
message_test.go |
software | healthy | internal/email/message_test.go |
client.go |
software | healthy | internal/email/client.go |
config.go |
software | healthy | internal/email/config.go |
doc.go |
software | healthy | internal/email/doc.go |
email.go |
software | healthy | internal/email/email.go |
message.go |
software | healthy | internal/email/message.go |
email_test.go |
software | healthy | internal/email/email_test.go |
ai.go |
software | healthy | internal/ai/ai.go |
errors.go |
software | healthy | internal/ai/errors.go |
models.go |
software | healthy | internal/ai/models.go |
resolver.go |
software | healthy | internal/ai/resolver.go |
webm.go |
software | healthy | internal/ai/audio/webm.go |
webm_test.go |
software | healthy | internal/ai/audio/webm_test.go |
options.go |
software | healthy | internal/ai/stt/options.go |
stt.go |
software | healthy | internal/ai/stt/stt.go |
openai.go |
software | healthy | internal/ai/stt/openai/openai.go |
openai_test.go |
software | healthy | internal/ai/stt/openai/openai_test.go |
options.go |
software | healthy | internal/ai/audiollm/options.go |
audiollm.go |
software | healthy | internal/ai/audiollm/audiollm.go |
gemini_test.go |
software | healthy | internal/ai/audiollm/gemini/gemini_test.go |
gemini.go |
software | healthy | internal/ai/audiollm/gemini/gemini.go |
util_test.go |
software | healthy | internal/util/util_test.go |
util.go |
software | healthy | internal/util/util.go |
webhook.go |
software | healthy | internal/webhook/webhook.go |
validate.go |
software | healthy | internal/webhook/validate.go |
webhook_test.go |
software | healthy | internal/webhook/webhook_test.go |
idp.go |
software | healthy | internal/idp/idp.go |
oauth2.go |
software | healthy | internal/idp/oauth2/oauth2.go |
oauth2_test.go |
software | healthy | internal/idp/oauth2/oauth2_test.go |
MAINTENANCE.md |
software | healthy | internal/filter/MAINTENANCE.md |
README.md |
software | healthy | internal/filter/README.md |
engine.go |
software | healthy | internal/filter/engine.go |
engine_test.go |
software | healthy | internal/filter/engine_test.go |
ir.go |
software | healthy | internal/filter/ir.go |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
internal |
software | healthy | internal |
motionphoto |
software | healthy | internal/motionphoto |
base |
software | healthy | internal/base |
testutil |
software | healthy | internal/testutil |
email |
software | healthy | internal/email |
ai |
software | healthy | internal/ai |
audio |
software | healthy | internal/ai/audio |
stt |
software | healthy | internal/ai/stt |
openai |
software | healthy | internal/ai/stt/openai |
audiollm |
software | healthy | internal/ai/audiollm |
gemini |
software | healthy | internal/ai/audiollm/gemini |
util |
software | healthy | internal/util |
webhook |
software | healthy | internal/webhook |
idp |
software | healthy | internal/idp |
oauth2 |
software | healthy | internal/idp/oauth2 |
filter |
software | healthy | internal/filter |
httpgetter |
software | healthy | internal/httpgetter |
cron |
software | healthy | internal/cron |
markdown |
software | healthy | internal/markdown |
ast |
software | healthy | internal/markdown/ast |
renderer |
software | healthy | internal/markdown/renderer |
extensions |
software | healthy | internal/markdown/extensions |
parser |
software | healthy | internal/markdown/parser |
profile |
software | healthy | internal/profile |
scheduler |
software | healthy | internal/scheduler |
version |
software | healthy | internal/version |
storage |
software | healthy | internal/storage |
s3 |
software | healthy | internal/storage/s3 |
docs |
software | healthy | docs |
superpowers |
software | healthy | docs/superpowers |
plans |
software | healthy | docs/superpowers/plans |
specs |
software | healthy | docs/superpowers/specs |
plans |
software | healthy | docs/plans |
2026-03-31-quick-voice-input |
software | healthy | docs/plans/2026-03-31-quick-voice-input |
2026-04-21-sso-user-identity-linkage |
software | healthy | docs/plans/2026-04-21-sso-user-identity-linkage |
2026-03-23-tag-blur-attribute |
software | healthy | docs/plans/2026-03-23-tag-blur-attribute |
2026-03-24-user-resource-identifiers |
software | healthy | docs/plans/2026-03-24-user-resource-identifiers |
2026-04-06-memo-mentions |
software | healthy | docs/plans/2026-04-06-memo-mentions |
2026-03-23-memo-detail-outline |
software | healthy | docs/plans/2026-03-23-memo-detail-outline |
scripts |
software | healthy | scripts |
cmd |
software | healthy | cmd |
memos |
software | healthy | cmd/memos |
proto |
software | healthy | proto |
api |
software | healthy | proto/api |
v1 |
software | healthy | proto/api/v1 |
gen |
software | healthy | proto/gen |
api |
software | healthy | proto/gen/api |
v1 |
software | healthy | proto/gen/api/v1 |
apiv1connect |
software | healthy | proto/gen/api/v1/apiv1connect |
store |
software | healthy | proto/gen/store |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
App |
frontend | healthy | web/src/App.tsx |
LocaleSelect |
frontend | healthy | web/src/components/LocaleSelect.tsx |
MemoDisplaySettingMenu |
frontend | healthy | web/src/components/MemoDisplaySettingMenu.tsx |
MemosLogo |
frontend | healthy | web/src/components/MemosLogo.tsx |
CreateAccessTokenDialog |
frontend | healthy | web/src/components/CreateAccessTokenDialog.tsx |
UserAvatar |
frontend | healthy | web/src/components/UserAvatar.tsx |
UpdateCustomizedProfileDialog |
frontend | healthy | web/src/components/UpdateCustomizedProfileDialog.tsx |
UpdateAccountDialog |
frontend | healthy | web/src/components/UpdateAccountDialog.tsx |
ThemeSelect |
frontend | healthy | web/src/components/ThemeSelect.tsx |
CreateUserDialog |
frontend | healthy | web/src/components/CreateUserDialog.tsx |
Navigation |
frontend | healthy | web/src/components/Navigation.tsx |
ChangeMemberPasswordDialog |
frontend | healthy | web/src/components/ChangeMemberPasswordDialog.tsx |
MotionPhotoPreview |
frontend | healthy | web/src/components/MotionPhotoPreview.tsx |
MobileHeader |
frontend | healthy | web/src/components/MobileHeader.tsx |
PasswordSignInForm |
frontend | healthy | web/src/components/PasswordSignInForm.tsx |
TagTree |
frontend | healthy | web/src/components/TagTree.tsx |
Skeleton |
frontend | healthy | web/src/components/Skeleton.tsx |
MemoCommentSection |
frontend | healthy | web/src/components/MemoCommentSection.tsx |
MotionPhotoPlayer |
frontend | healthy | web/src/components/MotionPhotoPlayer.tsx |
AuthFooter |
frontend | healthy | web/src/components/AuthFooter.tsx |
PreviewImageDialog |
frontend | healthy | web/src/components/PreviewImageDialog.tsx |
DateTimeInput |
frontend | healthy | web/src/components/DateTimeInput.tsx |
RequiredBadge |
frontend | healthy | web/src/components/RequiredBadge.tsx |
UserMenu |
frontend | healthy | web/src/components/UserMenu.tsx |
VideoPoster |
frontend | healthy | web/src/components/VideoPoster.tsx |
LearnMore |
frontend | healthy | web/src/components/LearnMore.tsx |
MemoFilters |
frontend | healthy | web/src/components/MemoFilters.tsx |
CreateWebhookDialog |
frontend | healthy | web/src/components/CreateWebhookDialog.tsx |
React |
frontend | healthy | web/src/components/AttachmentIcon.tsx |
NavigationDrawer |
frontend | healthy | web/src/components/NavigationDrawer.tsx |
CreateIdentityProviderDialog |
frontend | healthy | web/src/components/CreateIdentityProviderDialog.tsx |
VisibilityIcon |
frontend | healthy | web/src/components/VisibilityIcon.tsx |
SearchBar |
frontend | healthy | web/src/components/SearchBar.tsx |
AttachmentLibraryEmptyState |
frontend | healthy | web/src/components/AttachmentLibrary/AttachmentLibraryEmpty… |
AttachmentMediaGrid |
frontend | healthy | web/src/components/AttachmentLibrary/AttachmentMediaGrid.tsx |
AttachmentLibraryToolbar |
frontend | healthy | web/src/components/AttachmentLibrary/AttachmentLibraryToolb… |
LinkMetadataCard |
frontend | healthy | web/src/components/MemoContent/LinkMetadataCard.tsx |
ConfirmDialog |
frontend | healthy | web/src/components/ConfirmDialog/index.tsx |
SettingGroup |
frontend | healthy | web/src/components/Settings/SettingGroup.tsx |
StorageSection |
frontend | healthy | web/src/components/Settings/StorageSection.tsx |
MyAccountSection |
frontend | healthy | web/src/components/Settings/MyAccountSection.tsx |
SettingSection |
frontend | healthy | web/src/components/Settings/SettingSection.tsx |
NotificationSection |
frontend | healthy | web/src/components/Settings/NotificationSection.tsx |
InstanceSection |
frontend | healthy | web/src/components/Settings/InstanceSection.tsx |
PreferencesSection |
frontend | healthy | web/src/components/Settings/PreferencesSection.tsx |
LinkedIdentitySection |
frontend | healthy | web/src/components/Settings/LinkedIdentitySection.tsx |
MemberSection |
frontend | healthy | web/src/components/Settings/MemberSection.tsx |
WebhookSection |
frontend | healthy | web/src/components/Settings/WebhookSection.tsx |
InfoChip |
frontend | healthy | web/src/components/Settings/InfoChip.tsx |
AISection |
frontend | healthy | web/src/components/Settings/AISection.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
LATEST.sql |
data | healthy | store/migration/mysql/LATEST.sql |
00__user_description.sql |
data | healthy | store/migration/mysql/0.21/00__user_description.sql |
01__rename_uid.sql |
data | healthy | store/migration/mysql/0.21/01__rename_uid.sql |
02__s3_reference_length.sql |
data | healthy | store/migration/mysql/0.24/02__s3_reference_length.sql |
01__memo_pinned.sql |
data | healthy | store/migration/mysql/0.24/01__memo_pinned.sql |
00__memo.sql |
data | healthy | store/migration/mysql/0.24/00__memo.sql |
00__add_resource_name.sql |
data | healthy | store/migration/mysql/0.19/00__add_resource_name.sql |
01__add_idp_uid.sql |
data | healthy | store/migration/mysql/0.27/01__add_idp_uid.sql |
04__memo_share.sql |
data | healthy | store/migration/mysql/0.27/04__memo_share.sql |
02__migrate_inbox_message_payload.sql |
data | healthy | store/migration/mysql/0.27/02__migrate_inbox_message_payloa… |
00__migrate_storage_setting.sql |
data | healthy | store/migration/mysql/0.27/00__migrate_storage_setting.sql |
03__drop_activity.sql |
data | healthy | store/migration/mysql/0.27/03__drop_activity.sql |
02__memo_payload.sql |
data | healthy | store/migration/mysql/0.22/02__memo_payload.sql |
03__drop_tag.sql |
data | healthy | store/migration/mysql/0.22/03__drop_tag.sql |
00__resource_storage_type.sql |
data | healthy | store/migration/mysql/0.22/00__resource_storage_type.sql |
01__memo_tags.sql |
data | healthy | store/migration/mysql/0.22/01__memo_tags.sql |
00__user_identity.sql |
data | healthy | store/migration/mysql/0.28/00__user_identity.sql |
00__rename_resource_to_attachment.sql |
data | healthy | store/migration/mysql/0.26/00__rename_resource_to_attachmen… |
01__drop_memo_organizer.sql |
data | healthy | store/migration/mysql/0.26/01__drop_memo_organizer.sql |
02__migrate_host_to_admin.sql |
data | healthy | store/migration/mysql/0.26/02__migrate_host_to_admin.sql |
00__inbox.sql |
data | healthy | store/migration/mysql/0.17/00__inbox.sql |
01__delete_activity.sql |
data | healthy | store/migration/mysql/0.17/01__delete_activity.sql |
00__reactions.sql |
data | healthy | store/migration/mysql/0.23/00__reactions.sql |
00__remove_webhook.sql |
data | healthy | store/migration/mysql/0.25/00__remove_webhook.sql |
00__reaction.sql |
data | healthy | store/migration/mysql/0.20/00__reaction.sql |
02__user_setting.sql |
data | healthy | store/migration/mysql/0.18/02__user_setting.sql |
01__webhook.sql |
data | healthy | store/migration/mysql/0.18/01__webhook.sql |
00__extend_text.sql |
data | healthy | store/migration/mysql/0.18/00__extend_text.sql |
LATEST.sql |
data | healthy | store/migration/postgres/LATEST.sql |
00__user_description.sql |
data | healthy | store/migration/postgres/0.21/00__user_description.sql |
01__rename_uid.sql |
data | healthy | store/migration/postgres/0.21/01__rename_uid.sql |
01__memo_pinned.sql |
data | healthy | store/migration/postgres/0.24/01__memo_pinned.sql |
00__memo.sql |
data | healthy | store/migration/postgres/0.24/00__memo.sql |
00__add_resource_name.sql |
data | healthy | store/migration/postgres/0.19/00__add_resource_name.sql |
01__add_idp_uid.sql |
data | healthy | store/migration/postgres/0.27/01__add_idp_uid.sql |
04__memo_share.sql |
data | healthy | store/migration/postgres/0.27/04__memo_share.sql |
02__migrate_inbox_message_payload.sql |
data | healthy | store/migration/postgres/0.27/02__migrate_inbox_message_pay… |
00__migrate_storage_setting.sql |
data | healthy | store/migration/postgres/0.27/00__migrate_storage_setting.s… |
03__drop_activity.sql |
data | healthy | store/migration/postgres/0.27/03__drop_activity.sql |
02__memo_payload.sql |
data | healthy | store/migration/postgres/0.22/02__memo_payload.sql |
03__drop_tag.sql |
data | healthy | store/migration/postgres/0.22/03__drop_tag.sql |
00__resource_storage_type.sql |
data | healthy | store/migration/postgres/0.22/00__resource_storage_type.sql |
01__memo_tags.sql |
data | healthy | store/migration/postgres/0.22/01__memo_tags.sql |
00__user_identity.sql |
data | healthy | store/migration/postgres/0.28/00__user_identity.sql |
00__rename_resource_to_attachment.sql |
data | healthy | store/migration/postgres/0.26/00__rename_resource_to_attach… |
01__drop_memo_organizer.sql |
data | healthy | store/migration/postgres/0.26/01__drop_memo_organizer.sql |
02__migrate_host_to_admin.sql |
data | healthy | store/migration/postgres/0.26/02__migrate_host_to_admin.sql |
00__reactions.sql |
data | healthy | store/migration/postgres/0.23/00__reactions.sql |
00__remove_webhook.sql |
data | healthy | store/migration/postgres/0.25/00__remove_webhook.sql |
00__reaction.sql |
data | healthy | store/migration/postgres/0.20/00__reaction.sql |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
auth::web/src/types/proto/api/v1/user_service_pb.ts |
security | healthy | web/src/types/proto/api/v1/user_service_pb.ts |
auth::server/auth/token.go |
security | healthy | server/auth/token.go |
auth::web/src/components/Settings/LinkedIdentitySection.tsx |
security | healthy | web/src/components/Settings/LinkedIdentitySection.tsx |
auth::go.mod |
security | healthy | go.mod |
auth::web/src/types/proto/google/api/client_pb.ts |
security | healthy | web/src/types/proto/google/api/client_pb.ts |
auth::web/src/locales/zh-Hans.json |
security | healthy | web/src/locales/zh-Hans.json |
auth::web/src/utils/oauth.ts |
security | healthy | web/src/utils/oauth.ts |
auth::server/auth/authenticator.go |
security | healthy | server/auth/authenticator.go |
auth::server/auth/extract.go |
security | healthy | server/auth/extract.go |
auth::server/router/api/v1/test/auth_test.go |
security | healthy | server/router/api/v1/test/auth_test.go |
auth::web/src/locales/en.json |
security | healthy | web/src/locales/en.json |
auth::proto/gen/api/v1/user_service.pb.go |
security | healthy | proto/gen/api/v1/user_service.pb.go |
auth::web/src/utils/redirect-safety.ts |
security | healthy | web/src/utils/redirect-safety.ts |
auth::server/router/api/v1/test/idp_service_test.go |
security | healthy | server/router/api/v1/test/idp_service_test.go |
auth::server/auth/context.go |
security | healthy | server/auth/context.go |
auth::proto/gen/openapi.yaml |
security | healthy | proto/gen/openapi.yaml |
auth::web/src/components/CreateIdentityProviderDialog.tsx |
security | healthy | web/src/components/CreateIdentityProviderDialog.tsx |
auth::web/src/router/index.tsx |
security | healthy | web/src/router/index.tsx |
auth::web/src/router/guards.tsx |
security | healthy | web/src/router/guards.tsx |
auth::web/tests/router-config.test.tsx |
security | healthy | web/tests/router-config.test.tsx |
auth::internal/idp/oauth2/oauth2.go |
security | healthy | internal/idp/oauth2/oauth2.go |
auth::web/tests/oauth.test.ts |
security | healthy | web/tests/oauth.test.ts |
auth::store/test/idp_test.go |
security | healthy | store/test/idp_test.go |
auth::proto/gen/api/v1/apiv1connect/auth_service.connect.go |
security | healthy | proto/gen/api/v1/apiv1connect/auth_service.connect.go |
auth::proto/gen/api/v1/user_service_grpc.pb.go |
security | healthy | proto/gen/api/v1/user_service_grpc.pb.go |
auth::proto/gen/api/v1/auth_service_grpc.pb.go |
security | healthy | proto/gen/api/v1/auth_service_grpc.pb.go |
auth::web/src/locales/zh-Hant.json |
security | healthy | web/src/locales/zh-Hant.json |
auth::proto/gen/store/user_setting.pb.go |
security | healthy | proto/gen/store/user_setting.pb.go |
auth::internal/idp/oauth2/oauth2_test.go |
security | healthy | internal/idp/oauth2/oauth2_test.go |
auth::proto/gen/api/v1/apiv1connect/user_service.connect.go |
security | healthy | proto/gen/api/v1/apiv1connect/user_service.connect.go |
auth::web/src/App.tsx |
security | healthy | web/src/App.tsx |
auth::web/src/pages/SignIn.tsx |
security | healthy | web/src/pages/SignIn.tsx |
auth::web/src/pages/AuthCallback.tsx |
security | healthy | web/src/pages/AuthCallback.tsx |
auth::web/src/types/proto/api/v1/auth_service_pb.ts |
security | healthy | web/src/types/proto/api/v1/auth_service_pb.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::internal/email/client_test.go |
security | healthy | internal/email/client_test.go |
password_literal::internal/email/config_test.go |
security | healthy | internal/email/config_test.go |
password_literal::internal/email/config_test.go |
security | healthy | internal/email/config_test.go |
password_literal::internal/email/config_test.go |
security | healthy | internal/email/config_test.go |
password_literal::internal/email/config_test.go |
security | healthy | internal/email/config_test.go |
password_literal::internal/email/doc.go |
security | healthy | internal/email/doc.go |
password_literal::server/router/api/v1/test/user_service_re… |
security | healthy | server/router/api/v1/test/user_service_registration_test.go |
password_literal::server/router/api/v1/test/user_service_re… |
security | healthy | server/router/api/v1/test/user_service_registration_test.go |
password_literal::server/router/api/v1/test/user_service_re… |
security | healthy | server/router/api/v1/test/user_service_registration_test.go |
password_literal::server/router/api/v1/test/user_service_re… |
security | healthy | server/router/api/v1/test/user_service_registration_test.go |
password_literal::server/router/api/v1/test/user_service_re… |
security | healthy | server/router/api/v1/test/user_service_registration_test.go |
password_literal::server/router/api/v1/test/user_service_re… |
security | healthy | server/router/api/v1/test/user_service_registration_test.go |
password_literal::server/router/api/v1/test/user_service_re… |
security | healthy | server/router/api/v1/test/user_service_registration_test.go |
password_literal::server/router/api/v1/test/user_service_re… |
security | healthy | server/router/api/v1/test/user_service_registration_test.go |
password_literal::server/router/api/v1/test/user_service_re… |
security | healthy | server/router/api/v1/test/user_service_registration_test.go |
password_literal::server/router/api/v1/test/user_service_re… |
security | healthy | server/router/api/v1/test/user_service_registration_test.go |
password_literal::server/router/api/v1/test/user_service_em… |
security | healthy | server/router/api/v1/test/user_service_email_username_test.… |
password_literal::server/router/api/v1/test/user_notificati… |
security | healthy | server/router/api/v1/test/user_notification_test.go |
password_literal::server/router/api/v1/test/user_resource_n… |
security | healthy | server/router/api/v1/test/user_resource_name_test.go |
password_literal::server/router/api/v1/test/user_resource_n… |
security | healthy | server/router/api/v1/test/user_resource_name_test.go |
password_literal::server/router/api/v1/test/instance_servic… |
security | healthy | server/router/api/v1/test/instance_service_test.go |
password_literal::server/router/api/v1/test/instance_servic… |
security | healthy | server/router/api/v1/test/instance_service_test.go |
password_literal::server/router/api/v1/test/instance_servic… |
security | healthy | server/router/api/v1/test/instance_service_test.go |
password_literal::server/router/api/v1/test/instance_servic… |
security | healthy | server/router/api/v1/test/instance_service_test.go |
password_literal::store/test/instance_setting_test.go |
security | healthy | store/test/instance_setting_test.go |
| Label | Layer | Status | Path |
|---|---|---|---|
system_setting |
data | healthy | store/migration/mysql/LATEST.sql |
user |
data | healthy | store/migration/mysql/LATEST.sql |
user_setting |
data | healthy | store/migration/mysql/LATEST.sql |
memo |
data | healthy | store/migration/mysql/LATEST.sql |
memo_relation |
data | healthy | store/migration/mysql/LATEST.sql |
attachment |
data | healthy | store/migration/mysql/LATEST.sql |
idp |
data | healthy | store/migration/mysql/LATEST.sql |
inbox |
data | healthy | store/migration/mysql/LATEST.sql |
reaction |
data | healthy | store/migration/mysql/LATEST.sql |
memo_share |
data | healthy | store/migration/mysql/LATEST.sql |
user_identity |
data | healthy | store/migration/mysql/LATEST.sql |
webhook |
data | healthy | store/migration/mysql/0.18/01__webhook.sql |
memo_resource |
data | healthy | store/migration/sqlite/0.5/01__memo_resource.sql |
memo_organizer |
data | healthy | store/migration/sqlite/0.5/00__regenerate_foreign_keys.sql |
shortcut |
data | healthy | store/migration/sqlite/0.5/00__regenerate_foreign_keys.sql |
resource |
data | healthy | store/migration/sqlite/0.5/00__regenerate_foreign_keys.sql |
resource_temp |
data | healthy | store/migration/sqlite/0.14/00__drop_resource_public_id.sql |
user_temp |
data | healthy | store/migration/sqlite/0.15/00__drop_user_open_id.sql |
activity |
data | healthy | store/migration/sqlite/0.10/00__activity.sql |
storage |
data | healthy | store/migration/sqlite/0.11/02__storage.sql |
memo_organizer_temp |
data | healthy | store/migration/sqlite/0.13/01__remove_memo_organizer_id.sql |
migration_history |
data | healthy | store/migration/sqlite/0.8/00__migration_history.sql |
tag |
data | healthy | store/migration/sqlite/0.9/00__tag.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
/AuthCallback |
frontend | healthy | web/src/pages/AuthCallback.tsx |
/AdminSignIn |
frontend | healthy | web/src/pages/AdminSignIn.tsx |
/About |
frontend | healthy | web/src/pages/About.tsx |
/Attachments |
frontend | healthy | web/src/pages/Attachments.tsx |
/UserProfile |
frontend | healthy | web/src/pages/UserProfile.tsx |
/Shortcuts |
frontend | healthy | web/src/pages/Shortcuts.tsx |
/PermissionDenied |
frontend | healthy | web/src/pages/PermissionDenied.tsx |
/MemoDetail |
frontend | healthy | web/src/pages/MemoDetail.tsx |
/Archived |
frontend | healthy | web/src/pages/Archived.tsx |
/Setting |
frontend | healthy | web/src/pages/Setting.tsx |
/NotFound |
frontend | healthy | web/src/pages/NotFound.tsx |
/Home |
frontend | healthy | web/src/pages/Home.tsx |
/Explore |
frontend | healthy | web/src/pages/Explore.tsx |
/SignIn |
frontend | healthy | web/src/pages/SignIn.tsx |
/Inboxes |
frontend | healthy | web/src/pages/Inboxes.tsx |
/SignUp |
frontend | healthy | web/src/pages/SignUp.tsx |
/ |
frontend | healthy | web/tests/guards.test.tsx |
/explore |
frontend | healthy | web/tests/guards.test.tsx |
/setting |
frontend | healthy | web/tests/guards.test.tsx |
/auth |
frontend | healthy | web/tests/guards.test.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
deploy-demo |
cicd | healthy | .github/workflows/demo-deploy.yml |
release-please |
cicd | healthy | .github/workflows/release-please.yml |
lint |
cicd | healthy | .github/workflows/proto-linter.yml |
lint |
cicd | healthy | .github/workflows/frontend-tests.yml |
build |
cicd | healthy | .github/workflows/frontend-tests.yml |
static-checks |
cicd | healthy | .github/workflows/backend-tests.yml |
tests |
cicd | healthy | .github/workflows/backend-tests.yml |
build-frontend |
cicd | healthy | .github/workflows/build-canary-image.yml |
build-push |
cicd | healthy | .github/workflows/build-canary-image.yml |
merge |
cicd | healthy | .github/workflows/build-canary-image.yml |
prepare |
cicd | healthy | .github/workflows/release.yml |
build-frontend |
cicd | healthy | .github/workflows/release.yml |
build-binaries |
cicd | healthy | .github/workflows/release.yml |
checksums |
cicd | healthy | .github/workflows/release.yml |
release |
cicd | healthy | .github/workflows/release.yml |
build-push |
cicd | healthy | .github/workflows/release.yml |
merge-images |
cicd | healthy | .github/workflows/release.yml |
close-stale |
cicd | healthy | .github/workflows/stale.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
169.254.169.254 |
network | healthy | internal/webhook/validate.go |
127.0.0.0 |
network | healthy | internal/webhook/validate.go |
10.0.0.0 |
network | healthy | internal/webhook/validate.go |
172.16.0.0 |
network | healthy | internal/webhook/validate.go |
192.168.0.0 |
network | healthy | internal/webhook/validate.go |
169.254.0.0 |
network | healthy | internal/webhook/validate.go |
93.184.216.34 |
network | healthy | internal/httpgetter/html_meta_test.go |
192.168.0.1 |
network | healthy | internal/httpgetter/html_meta_test.go |
127.0.0.1 |
network | healthy | internal/httpgetter/html_meta_test.go |
203.0.113.1 |
network | healthy | server/router/api/v1/connect_interceptors_test.go |
120.0.0.0 |
network | healthy | server/router/api/v1/auth_service.go |
119.0.0.0 |
network | healthy | server/router/api/v1/auth_service_client_info_test.go |
198.51.100.1 |
network | healthy | server/router/api/v1/auth_service_client_info_test.go |
| Label | Layer | Status | Path |
|---|---|---|---|
LatLng |
software | healthy | web/tests/location-picker.test.tsx:LatLng |
Control |
software | healthy | web/tests/location-picker.test.tsx:Control |
NoopBroadcastChannel |
software | healthy | web/tests/setup.ts:NoopBroadcastChannel |
name |
software | healthy | web/src/types/proto/google/api/client_pb.ts:name |
ErrorBoundary |
software | healthy | web/src/components/ErrorBoundary.tsx:ErrorBoundary |
names |
software | healthy | web/src/components/MemoContent/Tag.tsx:names |
for |
software | healthy | web/src/components/MemoContent/constants.ts:for |
added |
software | healthy | web/src/components/MemoContent/markdown/List.tsx:added |
bundles |
software | healthy | web/src/components/MemoMetadata/Attachment/attachmentVisual… |
class |
software | healthy | web/src/components/map/LocationPicker.tsx:class |
| Label | Layer | Status | Path |
|---|---|---|---|
ARTIFACT_PREFIX |
cicd | healthy | — |
RENDER_DEPLOY_HOOK |
cicd | healthy | — |
ARTIFACT_RETENTION_DAYS |
cicd | healthy | — |
DOCKER_HUB_TOKEN |
cicd | healthy | — |
RELEASE_PLEASE_TOKEN |
cicd | healthy | — |
NODE_VERSION |
cicd | healthy | — |
GO_VERSION |
cicd | healthy | — |
PNPM_VERSION |
cicd | healthy | — |
DOCKER_HUB_USERNAME |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
grpc::AIService |
api | healthy | proto/api/v1/ai_service.proto |
grpc::ShortcutService |
api | healthy | proto/api/v1/shortcut_service.proto |
grpc::AttachmentService |
api | healthy | proto/api/v1/attachment_service.proto |
grpc::InstanceService |
api | healthy | proto/api/v1/instance_service.proto |
grpc::AuthService |
api | healthy | proto/api/v1/auth_service.proto |
grpc::MemoService |
api | healthy | proto/api/v1/memo_service.proto |
grpc::IdentityProviderService |
api | healthy | proto/api/v1/idp_service.proto |
grpc::UserService |
api | healthy | proto/api/v1/user_service.proto |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::demo-deploy |
cicd | healthy | .github/workflows/demo-deploy.yml |
gha::release-please |
cicd | healthy | .github/workflows/release-please.yml |
gha::proto-linter |
cicd | healthy | .github/workflows/proto-linter.yml |
gha::frontend-tests |
cicd | healthy | .github/workflows/frontend-tests.yml |
gha::backend-tests |
cicd | healthy | .github/workflows/backend-tests.yml |
gha::build-canary-image |
cicd | healthy | .github/workflows/build-canary-image.yml |
gha::release |
cicd | healthy | .github/workflows/release.yml |
gha::stale |
cicd | healthy | .github/workflows/stale.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
mysql |
data | healthy | go.mod |
postgres |
data | healthy | go.mod |
sqlite |
data | healthy | go.mod |
postgresql |
data | healthy | .github/ISSUE_TEMPLATE/bug_report.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
envoy |
network | healthy | web/src/types/proto/google/api/http_pb.ts |
nginx |
network | healthy | server/router/api/v1/sse_handler.go |
caddy |
network | healthy | .github/ISSUE_TEMPLATE/bug_report.yml |
traefik |
network | healthy | .github/ISSUE_TEMPLATE/bug_report.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | go.mod |
vps::azure |
hardware | healthy | go.mod |
vps::ec2 |
hardware | healthy | go.mod |
| Label | Layer | Status | Path |
|---|---|---|---|
image::scripts/Dockerfile |
hardware | healthy | scripts/Dockerfile |
memos |
hardware | healthy | scripts/compose.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-tp8vbwqq |
software | healthy | /tmp/repobility-clone-tp8vbwqq |
| Label | Layer | Status | Path |
|---|---|---|---|
pubsub |
data | healthy | web/src/types/proto/google/api/client_pb.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
port:5230 |
network | healthy | scripts/Dockerfile |
This page is publicly accessible at:
https://repobility.com/scan/3629e548-a242-47a9-bc2f-d17e4090d0d5/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/3629e548-a242-47a9-bc2f-d17e4090d0d5/
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.