feat: revamp issue recorder, issue report viewer

This commit is contained in:
5rahim
2026-02-13 13:12:36 +01:00
parent 90f5b22281
commit f95c534cf8
25 changed files with 3325 additions and 459 deletions

View File

@@ -51657,7 +51657,7 @@
"",
"\tExample:",
"\t\t{",
"\t\t\t\"pattern\": \"/(.*)\\/(Mob Psycho)\\/(Season 1)/\"",
"\t\t\t\"pattern\": \"(?i)(.*)/(Mob Psycho)/(Season 1)\"",
"\t\t\t\"mediaId\": 12345",
"\t\t}"
]
@@ -51728,13 +51728,13 @@
"\t\t\t\"mediaId\": 12345,",
"\t\t\t\"files\": [",
"\t\t\t\t{",
"\t\t\t\t\t\"path\": \"/Mob Psycho - (\\d+) - (.*)$/\",",
"\t\t\t\t\t\"pattern\": \"Mob Psycho - (\\d+) - (.*)$\",",
"\t\t\t\t\t\"episode\": \"calc($1-12)\",",
"\t\t\t\t\t\"aniDbEpisode\": \"$1\",",
"\t\t\t\t\t\"type\": \"main\",",
"\t\t\t\t},",
"\t\t\t\t{",
"\t\t\t\t\t\"path\": \"/Mob Psycho - NCOP(\\d+) - (.*)$/\",",
"\t\t\t\t\t\"pattern\": \"Mob Psycho - NCOP(\\d+)$\",",
"\t\t\t\t\t\"episode\": \"$1\",",
"\t\t\t\t\t\"aniDbEpisode\": \"$1\",",
"\t\t\t\t\t\"type\": \"nc\",",
@@ -51751,14 +51751,23 @@
"package": "scanner",
"fields": [
{
"name": "Path",
"jsonName": "path",
"name": "Filename",
"jsonName": "filename",
"goType": "string",
"typescriptType": "string",
"required": true,
"public": true,
"comments": []
},
{
"name": "IsRegex",
"jsonName": "isRegex",
"goType": "bool",
"typescriptType": "boolean",
"required": true,
"public": true,
"comments": []
},
{
"name": "Episode",
"jsonName": "episode",
@@ -52478,6 +52487,28 @@
"comments": [
" optional - force all local files to have this media ID"
]
},
{
"name": "Config",
"jsonName": "Config",
"goType": "Config",
"typescriptType": "Scanner_Config",
"usedTypescriptType": "Scanner_Config",
"usedStructName": "scanner.Config",
"required": false,
"public": true,
"comments": []
},
{
"name": "hydrationRules",
"jsonName": "hydrationRules",
"goType": "map[string]compiledHydrationRule",
"typescriptType": "Record\u003cstring, Scanner_compiledHydrationRule\u003e",
"usedTypescriptType": "Scanner_compiledHydrationRule",
"usedStructName": "scanner.compiledHydrationRule",
"required": false,
"public": false,
"comments": []
}
],
"comments": [
@@ -52595,6 +52626,17 @@
"required": false,
"public": true,
"comments": []
},
{
"name": "matchingRules",
"jsonName": "matchingRules",
"goType": "map[string]compiledMatchingRule",
"typescriptType": "Record\u003cstring, Scanner_compiledMatchingRule\u003e",
"usedTypescriptType": "Scanner_compiledMatchingRule",
"usedStructName": "scanner.compiledMatchingRule",
"required": false,
"public": false,
"comments": []
}
],
"comments": []
@@ -53229,14 +53271,14 @@
"comments": []
},
{
"name": "ShelvedLocalFiles",
"jsonName": "ShelvedLocalFiles",
"name": "shelvedLocalFiles",
"jsonName": "shelvedLocalFiles",
"goType": "[]anime.LocalFile",
"typescriptType": "Array\u003cAnime_LocalFile\u003e",
"usedTypescriptType": "Anime_LocalFile",
"usedStructName": "anime.LocalFile",
"required": false,
"public": true,
"public": false,
"comments": []
},
{
@@ -53249,6 +53291,15 @@
"required": false,
"public": true,
"comments": []
},
{
"name": "ConfigAsString",
"jsonName": "ConfigAsString",
"goType": "string",
"typescriptType": "string",
"required": true,
"public": true,
"comments": []
}
],
"comments": []
@@ -53292,12 +53343,55 @@
"required": false,
"public": false,
"comments": []
},
{
"name": "mu",
"jsonName": "mu",
"goType": "sync.Mutex",
"typescriptType": "Mutex",
"usedTypescriptType": "Mutex",
"usedStructName": "sync.Mutex",
"required": false,
"public": false,
"comments": []
}
],
"comments": [
" ScanLogger is a custom logger struct for scanning operations."
]
},
{
"filepath": "../internal/library/scanner/scan_logger.go",
"filename": "scan_logger.go",
"name": "ThreadSafeWriteSyncer",
"formattedName": "Scanner_ThreadSafeWriteSyncer",
"package": "scanner",
"fields": [
{
"name": "w",
"jsonName": "w",
"goType": "bytes.Buffer",
"typescriptType": "Buffer",
"usedTypescriptType": "Buffer",
"usedStructName": "bytes.Buffer",
"required": false,
"public": false,
"comments": []
},
{
"name": "mu",
"jsonName": "mu",
"goType": "sync.Mutex",
"typescriptType": "Mutex",
"usedTypescriptType": "Mutex",
"usedStructName": "sync.Mutex",
"required": false,
"public": false,
"comments": []
}
],
"comments": []
},
{
"filepath": "../internal/library/scanner/title_normalization.go",
"filename": "title_normalization.go",
@@ -78079,6 +78173,146 @@
],
"comments": []
},
{
"filepath": "../internal/report/report.go",
"filename": "report.go",
"name": "NavigationLog",
"formattedName": "Report_NavigationLog",
"package": "report",
"fields": [
{
"name": "From",
"jsonName": "from",
"goType": "string",
"typescriptType": "string",
"required": true,
"public": true,
"comments": []
},
{
"name": "To",
"jsonName": "to",
"goType": "string",
"typescriptType": "string",
"required": true,
"public": true,
"comments": []
},
{
"name": "Timestamp",
"jsonName": "timestamp",
"goType": "time.Time",
"typescriptType": "string",
"usedStructName": "time.Time",
"required": false,
"public": true,
"comments": []
}
],
"comments": []
},
{
"filepath": "../internal/report/report.go",
"filename": "report.go",
"name": "Screenshot",
"formattedName": "Report_Screenshot",
"package": "report",
"fields": [
{
"name": "Data",
"jsonName": "data",
"goType": "string",
"typescriptType": "string",
"required": true,
"public": true,
"comments": [
" base64 encoded image"
]
},
{
"name": "Caption",
"jsonName": "caption",
"goType": "string",
"typescriptType": "string",
"required": false,
"public": true,
"comments": []
},
{
"name": "PageURL",
"jsonName": "pageUrl",
"goType": "string",
"typescriptType": "string",
"required": true,
"public": true,
"comments": []
},
{
"name": "Timestamp",
"jsonName": "timestamp",
"goType": "time.Time",
"typescriptType": "string",
"usedStructName": "time.Time",
"required": false,
"public": true,
"comments": []
}
],
"comments": []
},
{
"filepath": "../internal/report/report.go",
"filename": "report.go",
"name": "WebSocketLog",
"formattedName": "Report_WebSocketLog",
"package": "report",
"fields": [
{
"name": "Direction",
"jsonName": "direction",
"goType": "string",
"typescriptType": "string",
"required": true,
"public": true,
"comments": [
" \"incoming\" or \"outgoing\""
]
},
{
"name": "EventType",
"jsonName": "eventType",
"goType": "string",
"typescriptType": "string",
"required": true,
"public": true,
"comments": []
},
{
"name": "Payload",
"jsonName": "payload",
"goType": "json.RawMessage",
"typescriptType": "RawMessage",
"usedTypescriptType": "RawMessage",
"usedStructName": "json.RawMessage",
"required": false,
"public": true,
"comments": []
},
{
"name": "Timestamp",
"jsonName": "timestamp",
"goType": "time.Time",
"typescriptType": "string",
"usedStructName": "time.Time",
"required": false,
"public": true,
"comments": []
}
],
"comments": [
" WebSocketLog represents a captured WebSocket message during recording"
]
},
{
"filepath": "../internal/report/report.go",
"filename": "report.go",
@@ -78132,6 +78366,15 @@
"public": true,
"comments": []
},
{
"name": "Description",
"jsonName": "description",
"goType": "string",
"typescriptType": "string",
"required": false,
"public": true,
"comments": []
},
{
"name": "ClickLogs",
"jsonName": "clickLogs",
@@ -78176,6 +78419,50 @@
"public": true,
"comments": []
},
{
"name": "NavigationLogs",
"jsonName": "navigationLogs",
"goType": "[]NavigationLog",
"typescriptType": "Array\u003cReport_NavigationLog\u003e",
"usedTypescriptType": "Report_NavigationLog",
"usedStructName": "report.NavigationLog",
"required": false,
"public": true,
"comments": []
},
{
"name": "Screenshots",
"jsonName": "screenshots",
"goType": "[]Screenshot",
"typescriptType": "Array\u003cReport_Screenshot\u003e",
"usedTypescriptType": "Report_Screenshot",
"usedStructName": "report.Screenshot",
"required": false,
"public": true,
"comments": []
},
{
"name": "WebSocketLogs",
"jsonName": "websocketLogs",
"goType": "[]WebSocketLog",
"typescriptType": "Array\u003cReport_WebSocketLog\u003e",
"usedTypescriptType": "Report_WebSocketLog",
"usedStructName": "report.WebSocketLog",
"required": false,
"public": true,
"comments": []
},
{
"name": "RRWebEvents",
"jsonName": "rrwebEvents",
"goType": "[]json.RawMessage",
"typescriptType": "Array\u003cRawMessage\u003e",
"usedTypescriptType": "RawMessage",
"usedStructName": "json.RawMessage",
"required": false,
"public": true,
"comments": []
},
{
"name": "UnlockedLocalFiles",
"jsonName": "unlockedLocalFiles",
@@ -78213,6 +78500,33 @@
"required": false,
"public": true,
"comments": []
},
{
"name": "ViewportWidth",
"jsonName": "viewportWidth",
"goType": "int",
"typescriptType": "number",
"required": false,
"public": true,
"comments": []
},
{
"name": "ViewportHeight",
"jsonName": "viewportHeight",
"goType": "int",
"typescriptType": "number",
"required": false,
"public": true,
"comments": []
},
{
"name": "RecordingDurationMs",
"jsonName": "recordingDurationMs",
"goType": "int64",
"typescriptType": "number",
"required": false,
"public": true,
"comments": []
}
],
"comments": []
@@ -78272,6 +78586,15 @@
"public": true,
"comments": []
},
{
"name": "Description",
"jsonName": "description",
"goType": "string",
"typescriptType": "string",
"required": true,
"public": true,
"comments": []
},
{
"name": "ClickLogs",
"jsonName": "clickLogs",
@@ -78316,6 +78639,50 @@
"public": true,
"comments": []
},
{
"name": "NavigationLogs",
"jsonName": "navigationLogs",
"goType": "[]NavigationLog",
"typescriptType": "Array\u003cReport_NavigationLog\u003e",
"usedTypescriptType": "Report_NavigationLog",
"usedStructName": "report.NavigationLog",
"required": false,
"public": true,
"comments": []
},
{
"name": "Screenshots",
"jsonName": "screenshots",
"goType": "[]Screenshot",
"typescriptType": "Array\u003cReport_Screenshot\u003e",
"usedTypescriptType": "Report_Screenshot",
"usedStructName": "report.Screenshot",
"required": false,
"public": true,
"comments": []
},
{
"name": "WebSocketLogs",
"jsonName": "websocketLogs",
"goType": "[]WebSocketLog",
"typescriptType": "Array\u003cReport_WebSocketLog\u003e",
"usedTypescriptType": "Report_WebSocketLog",
"usedStructName": "report.WebSocketLog",
"required": false,
"public": true,
"comments": []
},
{
"name": "RRWebEvents",
"jsonName": "rrwebEvents",
"goType": "[]json.RawMessage",
"typescriptType": "Array\u003cRawMessage\u003e",
"usedTypescriptType": "RawMessage",
"usedStructName": "json.RawMessage",
"required": false,
"public": true,
"comments": []
},
{
"name": "LocalFiles",
"jsonName": "localFiles",
@@ -78366,6 +78733,33 @@
"required": true,
"public": true,
"comments": []
},
{
"name": "ViewportWidth",
"jsonName": "viewportWidth",
"goType": "int",
"typescriptType": "number",
"required": true,
"public": true,
"comments": []
},
{
"name": "ViewportHeight",
"jsonName": "viewportHeight",
"goType": "int",
"typescriptType": "number",
"required": true,
"public": true,
"comments": []
},
{
"name": "RecordingDurationMs",
"jsonName": "recordingDurationMs",
"goType": "int64",
"typescriptType": "number",
"required": true,
"public": true,
"comments": []
}
],
"comments": []