feat: blabsy and pictqiue filter - #953

Merged
coodos merged 1 commit into
mainfrom
feat/log-viewer-w3ds
Apr 22, 2026
Merged

feat: blabsy and pictqiue filter#953
coodos merged 1 commit into
mainfrom
feat/log-viewer-w3ds

Conversation

@coodos

@coodoscoodos commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Description of change

Issue Number

Type of change

  • Breaking (any change that would cause existing functionality to not work as expected)
  • New (a change which implements a new feature)
  • Update (a change which updates existing functionality)
  • Fix (a change which fixes an issue)
  • Docs (changes to the documentation)
  • Chore (refactoring, build scripts or anything else that isn't user-facing)

How the change has been tested

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

Summary by CodeRabbit

  • New Features

    • Introduced eVault Logs viewer with search by eVault identifier, comprehensive log display featuring timestamps, operation status indicators, ontology details, envelope identifiers, and paginated browsing for efficient navigation.
  • Bug Fixes

    • Chat and message conversation lists now correctly filter to display only conversations with multiple participants.

@coodos
coodos marked this pull request as ready for review April 22, 2026 11:19
@coderabbitai

coderabbitaiBot commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Warning

Rate limit exceeded

@coodos has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 59 minutes and 2 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 59 minutes and 2 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 87bc3054-0b68-478a-814b-09b73e06d833

📥 Commits

Reviewing files that changed from the base of the PR and between a4be956 and 387f59e.

📒 Files selected for processing (3)
  • infrastructure/dev-sandbox/src/routes/+page.svelte
  • platforms/blabsy/client/src/components/chat/chat-list.tsx
  • platforms/pictique/client/src/routes/(protected)/messages/+page.svelte
📝 Walkthrough

Walkthrough

This PR adds eVault Logs functionality to the dev-sandbox interface with a new tab displaying logs fetched via API, and implements filtering to exclude single-participant chats from two separate client platforms' chat list displays.

Changes

Cohort / File(s)Summary
eVault Logs Feature
infrastructure/dev-sandbox/src/routes/+page.svelte
Added new eVault Logs tab with state management (logsEName, evaultLogs, pagination flags), typed EvaultLog model, and loadEvaultLogs function that validates input, resolves eVault base URI via registry, fetches logs from API with cursor-based pagination, and renders logs table with operation badges, timestamps, and "Load More" functionality.
Chat Filtering Across Platforms
platforms/blabsy/client/src/components/chat/chat-list.tsx, platforms/pictique/client/src/routes/(protected)/messages/+page.svelte
Implemented filtering to hide single-participant chats by deriving visibleChats (blabsy) and filtering chats with participants.length < 2 during transformation (pictique), restricting chat list and message pagination to conversations with 2+ participants.

Sequence Diagram(s)

sequenceDiagram
participant User
participant Client as Client UI
participant Registry as Registry API
participant PlatformAuth as Platform Auth
participant eVault as eVault API
User->>Client: Enter eName and click "Load Logs"
Client->>Client: Validate eName from input or selectedIdentity
Client->>Registry: Resolve eVault base URI (if needed)
Registry-->>Client: Return resolved base URL
Client->>PlatformAuth: Request platform bearer token
PlatformAuth-->>Client: Return token
Client->>eVault: GET /logs with token, limit, cursor
eVault-->>Client: Return logs array and nextCursor
Client->>Client: Append/replace logs in state
Client-->>User: Display logs table with pagination
alt User clicks "Load More"
User->>Client: Click "Load More"
Client->>eVault: GET /logs with nextCursor
eVault-->>Client: Return additional logs
Client->>Client: Append new logs to table
Client-->>User: Update table with more results
end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • ananyayaya129
  • sosweetham

Poem

🐰✨ Logs are gathered, chats now lean,
With two or more, the scene is clean!
Pagination hops from page to page,
eVault unfolds upon the stage—
Filter, fetch, and show with care! 🎯📋

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/log-viewer-w3ds

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coodos
coodos merged commit 62658ff into mainApr 22, 2026
3 of 4 checks passed
@coodos
coodos deleted the feat/log-viewer-w3ds branch April 22, 2026 11:19
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@coodos
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

feat: blabsy and pictqiue filter - #953

Merged
coodos merged 1 commit into
mainfrom
feat/log-viewer-w3ds
Apr 22, 2026
Merged

feat: blabsy and pictqiue filter#953
coodos merged 1 commit into
mainfrom
feat/log-viewer-w3ds

Conversation

@coodos

@coodoscoodos commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Description of change

Issue Number

Type of change

  • Breaking (any change that would cause existing functionality to not work as expected)
  • New (a change which implements a new feature)
  • Update (a change which updates existing functionality)
  • Fix (a change which fixes an issue)
  • Docs (changes to the documentation)
  • Chore (refactoring, build scripts or anything else that isn't user-facing)

How the change has been tested

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

Summary by CodeRabbit

  • New Features

    • Introduced eVault Logs viewer with search by eVault identifier, comprehensive log display featuring timestamps, operation status indicators, ontology details, envelope identifiers, and paginated browsing for efficient navigation.
  • Bug Fixes

    • Chat and message conversation lists now correctly filter to display only conversations with multiple participants.

@coodos
coodos marked this pull request as ready for review April 22, 2026 11:19
@coderabbitai

coderabbitaiBot commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Warning

Rate limit exceeded

@coodos has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 59 minutes and 2 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 59 minutes and 2 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 87bc3054-0b68-478a-814b-09b73e06d833

📥 Commits

Reviewing files that changed from the base of the PR and between a4be956 and 387f59e.

📒 Files selected for processing (3)
  • infrastructure/dev-sandbox/src/routes/+page.svelte
  • platforms/blabsy/client/src/components/chat/chat-list.tsx
  • platforms/pictique/client/src/routes/(protected)/messages/+page.svelte
📝 Walkthrough

Walkthrough

This PR adds eVault Logs functionality to the dev-sandbox interface with a new tab displaying logs fetched via API, and implements filtering to exclude single-participant chats from two separate client platforms' chat list displays.

Changes

Cohort / File(s)Summary
eVault Logs Feature
infrastructure/dev-sandbox/src/routes/+page.svelte
Added new eVault Logs tab with state management (logsEName, evaultLogs, pagination flags), typed EvaultLog model, and loadEvaultLogs function that validates input, resolves eVault base URI via registry, fetches logs from API with cursor-based pagination, and renders logs table with operation badges, timestamps, and "Load More" functionality.
Chat Filtering Across Platforms
platforms/blabsy/client/src/components/chat/chat-list.tsx, platforms/pictique/client/src/routes/(protected)/messages/+page.svelte
Implemented filtering to hide single-participant chats by deriving visibleChats (blabsy) and filtering chats with participants.length < 2 during transformation (pictique), restricting chat list and message pagination to conversations with 2+ participants.

Sequence Diagram(s)

sequenceDiagram
participant User
participant Client as Client UI
participant Registry as Registry API
participant PlatformAuth as Platform Auth
participant eVault as eVault API
User->>Client: Enter eName and click "Load Logs"
Client->>Client: Validate eName from input or selectedIdentity
Client->>Registry: Resolve eVault base URI (if needed)
Registry-->>Client: Return resolved base URL
Client->>PlatformAuth: Request platform bearer token
PlatformAuth-->>Client: Return token
Client->>eVault: GET /logs with token, limit, cursor
eVault-->>Client: Return logs array and nextCursor
Client->>Client: Append/replace logs in state
Client-->>User: Display logs table with pagination
alt User clicks "Load More"
User->>Client: Click "Load More"
Client->>eVault: GET /logs with nextCursor
eVault-->>Client: Return additional logs
Client->>Client: Append new logs to table
Client-->>User: Update table with more results
end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • ananyayaya129
  • sosweetham

Poem

🐰✨ Logs are gathered, chats now lean,
With two or more, the scene is clean!
Pagination hops from page to page,
eVault unfolds upon the stage—
Filter, fetch, and show with care! 🎯📋

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/log-viewer-w3ds

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coodos
coodos merged commit 62658ff into mainApr 22, 2026
3 of 4 checks passed
@coodos
coodos deleted the feat/log-viewer-w3ds branch April 22, 2026 11:19
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@coodos
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: blabsy and pictqiue filter - #953

Merged
coodos merged 1 commit into
mainfrom
feat/log-viewer-w3ds
Apr 22, 2026
Merged

feat: blabsy and pictqiue filter#953
coodos merged 1 commit into
mainfrom
feat/log-viewer-w3ds

Conversation

@coodos

@coodoscoodos commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Description of change

Issue Number

Type of change

  • Breaking (any change that would cause existing functionality to not work as expected)
  • New (a change which implements a new feature)
  • Update (a change which updates existing functionality)
  • Fix (a change which fixes an issue)
  • Docs (changes to the documentation)
  • Chore (refactoring, build scripts or anything else that isn't user-facing)

How the change has been tested

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

Summary by CodeRabbit

  • New Features

    • Introduced eVault Logs viewer with search by eVault identifier, comprehensive log display featuring timestamps, operation status indicators, ontology details, envelope identifiers, and paginated browsing for efficient navigation.
  • Bug Fixes

    • Chat and message conversation lists now correctly filter to display only conversations with multiple participants.

@coodos
coodos marked this pull request as ready for review April 22, 2026 11:19
@coderabbitai

coderabbitaiBot commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Warning

Rate limit exceeded

@coodos has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 59 minutes and 2 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 59 minutes and 2 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 87bc3054-0b68-478a-814b-09b73e06d833

📥 Commits

Reviewing files that changed from the base of the PR and between a4be956 and 387f59e.

📒 Files selected for processing (3)
  • infrastructure/dev-sandbox/src/routes/+page.svelte
  • platforms/blabsy/client/src/components/chat/chat-list.tsx
  • platforms/pictique/client/src/routes/(protected)/messages/+page.svelte
📝 Walkthrough

Walkthrough

This PR adds eVault Logs functionality to the dev-sandbox interface with a new tab displaying logs fetched via API, and implements filtering to exclude single-participant chats from two separate client platforms' chat list displays.

Changes

Cohort / File(s)Summary
eVault Logs Feature
infrastructure/dev-sandbox/src/routes/+page.svelte
Added new eVault Logs tab with state management (logsEName, evaultLogs, pagination flags), typed EvaultLog model, and loadEvaultLogs function that validates input, resolves eVault base URI via registry, fetches logs from API with cursor-based pagination, and renders logs table with operation badges, timestamps, and "Load More" functionality.
Chat Filtering Across Platforms
platforms/blabsy/client/src/components/chat/chat-list.tsx, platforms/pictique/client/src/routes/(protected)/messages/+page.svelte
Implemented filtering to hide single-participant chats by deriving visibleChats (blabsy) and filtering chats with participants.length < 2 during transformation (pictique), restricting chat list and message pagination to conversations with 2+ participants.

Sequence Diagram(s)

sequenceDiagram
participant User
participant Client as Client UI
participant Registry as Registry API
participant PlatformAuth as Platform Auth
participant eVault as eVault API
User->>Client: Enter eName and click "Load Logs"
Client->>Client: Validate eName from input or selectedIdentity
Client->>Registry: Resolve eVault base URI (if needed)
Registry-->>Client: Return resolved base URL
Client->>PlatformAuth: Request platform bearer token
PlatformAuth-->>Client: Return token
Client->>eVault: GET /logs with token, limit, cursor
eVault-->>Client: Return logs array and nextCursor
Client->>Client: Append/replace logs in state
Client-->>User: Display logs table with pagination
alt User clicks "Load More"
User->>Client: Click "Load More"
Client->>eVault: GET /logs with nextCursor
eVault-->>Client: Return additional logs
Client->>Client: Append new logs to table
Client-->>User: Update table with more results
end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • ananyayaya129
  • sosweetham

Poem

🐰✨ Logs are gathered, chats now lean,
With two or more, the scene is clean!
Pagination hops from page to page,
eVault unfolds upon the stage—
Filter, fetch, and show with care! 🎯📋

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/log-viewer-w3ds

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coodos
coodos merged commit 62658ff into mainApr 22, 2026
3 of 4 checks passed
@coodos
coodos deleted the feat/log-viewer-w3ds branch April 22, 2026 11:19
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@coodos
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: blabsy and pictqiue filter - #953

Merged
coodos merged 1 commit into
mainfrom
feat/log-viewer-w3ds
Apr 22, 2026
Merged

feat: blabsy and pictqiue filter#953
coodos merged 1 commit into
mainfrom
feat/log-viewer-w3ds

Conversation

@coodos

@coodoscoodos commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Description of change

Issue Number

Type of change

  • Breaking (any change that would cause existing functionality to not work as expected)
  • New (a change which implements a new feature)
  • Update (a change which updates existing functionality)
  • Fix (a change which fixes an issue)
  • Docs (changes to the documentation)
  • Chore (refactoring, build scripts or anything else that isn't user-facing)

How the change has been tested

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

Summary by CodeRabbit

  • New Features

    • Introduced eVault Logs viewer with search by eVault identifier, comprehensive log display featuring timestamps, operation status indicators, ontology details, envelope identifiers, and paginated browsing for efficient navigation.
  • Bug Fixes

    • Chat and message conversation lists now correctly filter to display only conversations with multiple participants.

@coodos
coodos marked this pull request as ready for review April 22, 2026 11:19
@coderabbitai

coderabbitaiBot commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Warning

Rate limit exceeded

@coodos has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 59 minutes and 2 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 59 minutes and 2 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 87bc3054-0b68-478a-814b-09b73e06d833

📥 Commits

Reviewing files that changed from the base of the PR and between a4be956 and 387f59e.

📒 Files selected for processing (3)
  • infrastructure/dev-sandbox/src/routes/+page.svelte
  • platforms/blabsy/client/src/components/chat/chat-list.tsx
  • platforms/pictique/client/src/routes/(protected)/messages/+page.svelte
📝 Walkthrough

Walkthrough

This PR adds eVault Logs functionality to the dev-sandbox interface with a new tab displaying logs fetched via API, and implements filtering to exclude single-participant chats from two separate client platforms' chat list displays.

Changes

Cohort / File(s)Summary
eVault Logs Feature
infrastructure/dev-sandbox/src/routes/+page.svelte
Added new eVault Logs tab with state management (logsEName, evaultLogs, pagination flags), typed EvaultLog model, and loadEvaultLogs function that validates input, resolves eVault base URI via registry, fetches logs from API with cursor-based pagination, and renders logs table with operation badges, timestamps, and "Load More" functionality.
Chat Filtering Across Platforms
platforms/blabsy/client/src/components/chat/chat-list.tsx, platforms/pictique/client/src/routes/(protected)/messages/+page.svelte
Implemented filtering to hide single-participant chats by deriving visibleChats (blabsy) and filtering chats with participants.length < 2 during transformation (pictique), restricting chat list and message pagination to conversations with 2+ participants.

Sequence Diagram(s)

sequenceDiagram
participant User
participant Client as Client UI
participant Registry as Registry API
participant PlatformAuth as Platform Auth
participant eVault as eVault API
User->>Client: Enter eName and click "Load Logs"
Client->>Client: Validate eName from input or selectedIdentity
Client->>Registry: Resolve eVault base URI (if needed)
Registry-->>Client: Return resolved base URL
Client->>PlatformAuth: Request platform bearer token
PlatformAuth-->>Client: Return token
Client->>eVault: GET /logs with token, limit, cursor
eVault-->>Client: Return logs array and nextCursor
Client->>Client: Append/replace logs in state
Client-->>User: Display logs table with pagination
alt User clicks "Load More"
User->>Client: Click "Load More"
Client->>eVault: GET /logs with nextCursor
eVault-->>Client: Return additional logs
Client->>Client: Append new logs to table
Client-->>User: Update table with more results
end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • ananyayaya129
  • sosweetham

Poem

🐰✨ Logs are gathered, chats now lean,
With two or more, the scene is clean!
Pagination hops from page to page,
eVault unfolds upon the stage—
Filter, fetch, and show with care! 🎯📋

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/log-viewer-w3ds

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coodos
coodos merged commit 62658ff into mainApr 22, 2026
3 of 4 checks passed
@coodos
coodos deleted the feat/log-viewer-w3ds branch April 22, 2026 11:19
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@coodos
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

feat: blabsy and pictqiue filter - #953

Merged
coodos merged 1 commit into
mainfrom
feat/log-viewer-w3ds
Apr 22, 2026
Merged

feat: blabsy and pictqiue filter#953
coodos merged 1 commit into
mainfrom
feat/log-viewer-w3ds

Conversation

@coodos

@coodoscoodos commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Description of change

Issue Number

Type of change

  • Breaking (any change that would cause existing functionality to not work as expected)
  • New (a change which implements a new feature)
  • Update (a change which updates existing functionality)
  • Fix (a change which fixes an issue)
  • Docs (changes to the documentation)
  • Chore (refactoring, build scripts or anything else that isn't user-facing)

How the change has been tested

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

Summary by CodeRabbit

  • New Features

    • Introduced eVault Logs viewer with search by eVault identifier, comprehensive log display featuring timestamps, operation status indicators, ontology details, envelope identifiers, and paginated browsing for efficient navigation.
  • Bug Fixes

    • Chat and message conversation lists now correctly filter to display only conversations with multiple participants.

@coodos
coodos marked this pull request as ready for review April 22, 2026 11:19
@coderabbitai

coderabbitaiBot commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Warning

Rate limit exceeded

@coodos has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 59 minutes and 2 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 59 minutes and 2 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 87bc3054-0b68-478a-814b-09b73e06d833

📥 Commits

Reviewing files that changed from the base of the PR and between a4be956 and 387f59e.

📒 Files selected for processing (3)
  • infrastructure/dev-sandbox/src/routes/+page.svelte
  • platforms/blabsy/client/src/components/chat/chat-list.tsx
  • platforms/pictique/client/src/routes/(protected)/messages/+page.svelte
📝 Walkthrough

Walkthrough

This PR adds eVault Logs functionality to the dev-sandbox interface with a new tab displaying logs fetched via API, and implements filtering to exclude single-participant chats from two separate client platforms' chat list displays.

Changes

Cohort / File(s)Summary
eVault Logs Feature
infrastructure/dev-sandbox/src/routes/+page.svelte
Added new eVault Logs tab with state management (logsEName, evaultLogs, pagination flags), typed EvaultLog model, and loadEvaultLogs function that validates input, resolves eVault base URI via registry, fetches logs from API with cursor-based pagination, and renders logs table with operation badges, timestamps, and "Load More" functionality.
Chat Filtering Across Platforms
platforms/blabsy/client/src/components/chat/chat-list.tsx, platforms/pictique/client/src/routes/(protected)/messages/+page.svelte
Implemented filtering to hide single-participant chats by deriving visibleChats (blabsy) and filtering chats with participants.length < 2 during transformation (pictique), restricting chat list and message pagination to conversations with 2+ participants.

Sequence Diagram(s)

sequenceDiagram
participant User
participant Client as Client UI
participant Registry as Registry API
participant PlatformAuth as Platform Auth
participant eVault as eVault API
User->>Client: Enter eName and click "Load Logs"
Client->>Client: Validate eName from input or selectedIdentity
Client->>Registry: Resolve eVault base URI (if needed)
Registry-->>Client: Return resolved base URL
Client->>PlatformAuth: Request platform bearer token
PlatformAuth-->>Client: Return token
Client->>eVault: GET /logs with token, limit, cursor
eVault-->>Client: Return logs array and nextCursor
Client->>Client: Append/replace logs in state
Client-->>User: Display logs table with pagination
alt User clicks "Load More"
User->>Client: Click "Load More"
Client->>eVault: GET /logs with nextCursor
eVault-->>Client: Return additional logs
Client->>Client: Append new logs to table
Client-->>User: Update table with more results
end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • ananyayaya129
  • sosweetham

Poem

🐰✨ Logs are gathered, chats now lean,
With two or more, the scene is clean!
Pagination hops from page to page,
eVault unfolds upon the stage—
Filter, fetch, and show with care! 🎯📋

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/log-viewer-w3ds

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coodos
coodos merged commit 62658ff into mainApr 22, 2026
3 of 4 checks passed
@coodos
coodos deleted the feat/log-viewer-w3ds branch April 22, 2026 11:19
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@coodos
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: blabsy and pictqiue filter - #953

Merged
coodos merged 1 commit into
mainfrom
feat/log-viewer-w3ds
Apr 22, 2026
Merged

feat: blabsy and pictqiue filter#953
coodos merged 1 commit into
mainfrom
feat/log-viewer-w3ds

Conversation

@coodos

@coodoscoodos commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Description of change

Issue Number

Type of change

  • Breaking (any change that would cause existing functionality to not work as expected)
  • New (a change which implements a new feature)
  • Update (a change which updates existing functionality)
  • Fix (a change which fixes an issue)
  • Docs (changes to the documentation)
  • Chore (refactoring, build scripts or anything else that isn't user-facing)

How the change has been tested

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

Summary by CodeRabbit

  • New Features

    • Introduced eVault Logs viewer with search by eVault identifier, comprehensive log display featuring timestamps, operation status indicators, ontology details, envelope identifiers, and paginated browsing for efficient navigation.
  • Bug Fixes

    • Chat and message conversation lists now correctly filter to display only conversations with multiple participants.

@coodos
coodos marked this pull request as ready for review April 22, 2026 11:19
@coderabbitai

coderabbitaiBot commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Warning

Rate limit exceeded

@coodos has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 59 minutes and 2 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 59 minutes and 2 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 87bc3054-0b68-478a-814b-09b73e06d833

📥 Commits

Reviewing files that changed from the base of the PR and between a4be956 and 387f59e.

📒 Files selected for processing (3)
  • infrastructure/dev-sandbox/src/routes/+page.svelte
  • platforms/blabsy/client/src/components/chat/chat-list.tsx
  • platforms/pictique/client/src/routes/(protected)/messages/+page.svelte
📝 Walkthrough

Walkthrough

This PR adds eVault Logs functionality to the dev-sandbox interface with a new tab displaying logs fetched via API, and implements filtering to exclude single-participant chats from two separate client platforms' chat list displays.

Changes

Cohort / File(s)Summary
eVault Logs Feature
infrastructure/dev-sandbox/src/routes/+page.svelte
Added new eVault Logs tab with state management (logsEName, evaultLogs, pagination flags), typed EvaultLog model, and loadEvaultLogs function that validates input, resolves eVault base URI via registry, fetches logs from API with cursor-based pagination, and renders logs table with operation badges, timestamps, and "Load More" functionality.
Chat Filtering Across Platforms
platforms/blabsy/client/src/components/chat/chat-list.tsx, platforms/pictique/client/src/routes/(protected)/messages/+page.svelte
Implemented filtering to hide single-participant chats by deriving visibleChats (blabsy) and filtering chats with participants.length < 2 during transformation (pictique), restricting chat list and message pagination to conversations with 2+ participants.

Sequence Diagram(s)

sequenceDiagram
participant User
participant Client as Client UI
participant Registry as Registry API
participant PlatformAuth as Platform Auth
participant eVault as eVault API
User->>Client: Enter eName and click "Load Logs"
Client->>Client: Validate eName from input or selectedIdentity
Client->>Registry: Resolve eVault base URI (if needed)
Registry-->>Client: Return resolved base URL
Client->>PlatformAuth: Request platform bearer token
PlatformAuth-->>Client: Return token
Client->>eVault: GET /logs with token, limit, cursor
eVault-->>Client: Return logs array and nextCursor
Client->>Client: Append/replace logs in state
Client-->>User: Display logs table with pagination
alt User clicks "Load More"
User->>Client: Click "Load More"
Client->>eVault: GET /logs with nextCursor
eVault-->>Client: Return additional logs
Client->>Client: Append new logs to table
Client-->>User: Update table with more results
end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • ananyayaya129
  • sosweetham

Poem

🐰✨ Logs are gathered, chats now lean,
With two or more, the scene is clean!
Pagination hops from page to page,
eVault unfolds upon the stage—
Filter, fetch, and show with care! 🎯📋

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/log-viewer-w3ds

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coodos
coodos merged commit 62658ff into mainApr 22, 2026
3 of 4 checks passed
@coodos
coodos deleted the feat/log-viewer-w3ds branch April 22, 2026 11:19
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@coodos
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: blabsy and pictqiue filter - #953

Merged
coodos merged 1 commit into
mainfrom
feat/log-viewer-w3ds
Apr 22, 2026
Merged

feat: blabsy and pictqiue filter#953
coodos merged 1 commit into
mainfrom
feat/log-viewer-w3ds

Conversation

@coodos

@coodoscoodos commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Description of change

Issue Number

Type of change

  • Breaking (any change that would cause existing functionality to not work as expected)
  • New (a change which implements a new feature)
  • Update (a change which updates existing functionality)
  • Fix (a change which fixes an issue)
  • Docs (changes to the documentation)
  • Chore (refactoring, build scripts or anything else that isn't user-facing)

How the change has been tested

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

Summary by CodeRabbit

  • New Features

    • Introduced eVault Logs viewer with search by eVault identifier, comprehensive log display featuring timestamps, operation status indicators, ontology details, envelope identifiers, and paginated browsing for efficient navigation.
  • Bug Fixes

    • Chat and message conversation lists now correctly filter to display only conversations with multiple participants.

@coodos
coodos marked this pull request as ready for review April 22, 2026 11:19
@coderabbitai

coderabbitaiBot commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Warning

Rate limit exceeded

@coodos has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 59 minutes and 2 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 59 minutes and 2 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 87bc3054-0b68-478a-814b-09b73e06d833

📥 Commits

Reviewing files that changed from the base of the PR and between a4be956 and 387f59e.

📒 Files selected for processing (3)
  • infrastructure/dev-sandbox/src/routes/+page.svelte
  • platforms/blabsy/client/src/components/chat/chat-list.tsx
  • platforms/pictique/client/src/routes/(protected)/messages/+page.svelte
📝 Walkthrough

Walkthrough

This PR adds eVault Logs functionality to the dev-sandbox interface with a new tab displaying logs fetched via API, and implements filtering to exclude single-participant chats from two separate client platforms' chat list displays.

Changes

Cohort / File(s)Summary
eVault Logs Feature
infrastructure/dev-sandbox/src/routes/+page.svelte
Added new eVault Logs tab with state management (logsEName, evaultLogs, pagination flags), typed EvaultLog model, and loadEvaultLogs function that validates input, resolves eVault base URI via registry, fetches logs from API with cursor-based pagination, and renders logs table with operation badges, timestamps, and "Load More" functionality.
Chat Filtering Across Platforms
platforms/blabsy/client/src/components/chat/chat-list.tsx, platforms/pictique/client/src/routes/(protected)/messages/+page.svelte
Implemented filtering to hide single-participant chats by deriving visibleChats (blabsy) and filtering chats with participants.length < 2 during transformation (pictique), restricting chat list and message pagination to conversations with 2+ participants.

Sequence Diagram(s)

sequenceDiagram
participant User
participant Client as Client UI
participant Registry as Registry API
participant PlatformAuth as Platform Auth
participant eVault as eVault API
User->>Client: Enter eName and click "Load Logs"
Client->>Client: Validate eName from input or selectedIdentity
Client->>Registry: Resolve eVault base URI (if needed)
Registry-->>Client: Return resolved base URL
Client->>PlatformAuth: Request platform bearer token
PlatformAuth-->>Client: Return token
Client->>eVault: GET /logs with token, limit, cursor
eVault-->>Client: Return logs array and nextCursor
Client->>Client: Append/replace logs in state
Client-->>User: Display logs table with pagination
alt User clicks "Load More"
User->>Client: Click "Load More"
Client->>eVault: GET /logs with nextCursor
eVault-->>Client: Return additional logs
Client->>Client: Append new logs to table
Client-->>User: Update table with more results
end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • ananyayaya129
  • sosweetham

Poem

🐰✨ Logs are gathered, chats now lean,
With two or more, the scene is clean!
Pagination hops from page to page,
eVault unfolds upon the stage—
Filter, fetch, and show with care! 🎯📋

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/log-viewer-w3ds

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coodos
coodos merged commit 62658ff into mainApr 22, 2026
3 of 4 checks passed
@coodos
coodos deleted the feat/log-viewer-w3ds branch April 22, 2026 11:19
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@coodos
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

feat: blabsy and pictqiue filter - #953

Merged
coodos merged 1 commit into
mainfrom
feat/log-viewer-w3ds
Apr 22, 2026
Merged

feat: blabsy and pictqiue filter#953
coodos merged 1 commit into
mainfrom
feat/log-viewer-w3ds

Conversation

@coodos

@coodoscoodos commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Description of change

Issue Number

Type of change

  • Breaking (any change that would cause existing functionality to not work as expected)
  • New (a change which implements a new feature)
  • Update (a change which updates existing functionality)
  • Fix (a change which fixes an issue)
  • Docs (changes to the documentation)
  • Chore (refactoring, build scripts or anything else that isn't user-facing)

How the change has been tested

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

Summary by CodeRabbit

  • New Features

    • Introduced eVault Logs viewer with search by eVault identifier, comprehensive log display featuring timestamps, operation status indicators, ontology details, envelope identifiers, and paginated browsing for efficient navigation.
  • Bug Fixes

    • Chat and message conversation lists now correctly filter to display only conversations with multiple participants.

@coodos
coodos marked this pull request as ready for review April 22, 2026 11:19
@coderabbitai

coderabbitaiBot commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Warning

Rate limit exceeded

@coodos has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 59 minutes and 2 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 59 minutes and 2 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 87bc3054-0b68-478a-814b-09b73e06d833

📥 Commits

Reviewing files that changed from the base of the PR and between a4be956 and 387f59e.

📒 Files selected for processing (3)
  • infrastructure/dev-sandbox/src/routes/+page.svelte
  • platforms/blabsy/client/src/components/chat/chat-list.tsx
  • platforms/pictique/client/src/routes/(protected)/messages/+page.svelte
📝 Walkthrough

Walkthrough

This PR adds eVault Logs functionality to the dev-sandbox interface with a new tab displaying logs fetched via API, and implements filtering to exclude single-participant chats from two separate client platforms' chat list displays.

Changes

Cohort / File(s)Summary
eVault Logs Feature
infrastructure/dev-sandbox/src/routes/+page.svelte
Added new eVault Logs tab with state management (logsEName, evaultLogs, pagination flags), typed EvaultLog model, and loadEvaultLogs function that validates input, resolves eVault base URI via registry, fetches logs from API with cursor-based pagination, and renders logs table with operation badges, timestamps, and "Load More" functionality.
Chat Filtering Across Platforms
platforms/blabsy/client/src/components/chat/chat-list.tsx, platforms/pictique/client/src/routes/(protected)/messages/+page.svelte
Implemented filtering to hide single-participant chats by deriving visibleChats (blabsy) and filtering chats with participants.length < 2 during transformation (pictique), restricting chat list and message pagination to conversations with 2+ participants.

Sequence Diagram(s)

sequenceDiagram
participant User
participant Client as Client UI
participant Registry as Registry API
participant PlatformAuth as Platform Auth
participant eVault as eVault API
User->>Client: Enter eName and click "Load Logs"
Client->>Client: Validate eName from input or selectedIdentity
Client->>Registry: Resolve eVault base URI (if needed)
Registry-->>Client: Return resolved base URL
Client->>PlatformAuth: Request platform bearer token
PlatformAuth-->>Client: Return token
Client->>eVault: GET /logs with token, limit, cursor
eVault-->>Client: Return logs array and nextCursor
Client->>Client: Append/replace logs in state
Client-->>User: Display logs table with pagination
alt User clicks "Load More"
User->>Client: Click "Load More"
Client->>eVault: GET /logs with nextCursor
eVault-->>Client: Return additional logs
Client->>Client: Append new logs to table
Client-->>User: Update table with more results
end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • ananyayaya129
  • sosweetham

Poem

🐰✨ Logs are gathered, chats now lean,
With two or more, the scene is clean!
Pagination hops from page to page,
eVault unfolds upon the stage—
Filter, fetch, and show with care! 🎯📋

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/log-viewer-w3ds

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coodos
coodos merged commit 62658ff into mainApr 22, 2026
3 of 4 checks passed
@coodos
coodos deleted the feat/log-viewer-w3ds branch April 22, 2026 11:19
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@coodos