-
Notifications
You must be signed in to change notification settings - Fork 4
Fix/post context menu #231
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughThe changes introduce a new Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant PostComponent
participant ActionMenu
User->>PostComponent: Clicks on 3-dots/options menu
PostComponent->>ActionMenu: Renders options (e.g., "Report")
User->>ActionMenu: Selects "Report"
ActionMenu->>User: Triggers handler (shows alert or performs action)
Assessment against linked issues
Assessment against linked issues: Out-of-scope changesNo out-of-scope changes detected. Possibly related PRs
Suggested reviewers
Poem
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 43
🔭 Outside diff range comments (1)
platforms/pictique/src/lib/fragments/Profile/Profile.svelte (1)
58-76
: Fix prop name inconsistencies between Profile and Post components.There are inconsistencies in the prop names being passed to the Post component:
- Profile passes
text={post.caption}
but Post expectstext
(line 62 in Post.svelte)- Profile passes
time={post.time}
but this should match the time format expected by PostAdditionally, the Post component now expects an
options
prop for the action menu, but Profile isn't providing it, which means posts in profiles won't have action menus.Apply this diff to fix the prop inconsistencies and add the missing options:
<Post avatar={profileData.avatarUrl || 'https://picsum.photos/200/200'} username={profileData?.username} + userId={profileData.id} imgUris={post.imgUris ?? []} - text={post.caption} + text={post.caption || ''} time={post.time ? new Date(post.time).toLocaleDateString() : ''} + options={[ + { name: 'Report', handler: () => alert('Report functionality') } + ]} callback={{ like: async () => { try { } catch (err) {} }, comment: () => { if (window.matchMedia('(max-width: 768px)').matches) { } else { } }, - menu: () => alert('menu') + menu: () => {} }} />
🧹 Nitpick comments (49)
platforms/metagram/project.inlang/settings.json (1)
3-6
: Pin plugin dependencies to exact versions
Relying on floating CDN URLs may introduce breaking changes when a plugin releases a new major version. Consider locking each plugin to a specific version (e.g., by including a commit hash or exact semver range) to ensure deterministic builds.platforms/metagram/project.inlang/.gitignore (1)
1-1
: Use directory-only ignore pattern.Appending a trailing slash makes it explicit that only the
cache
directory (and its contents) is ignored, not any file namedcache
:-cache +cache/platforms/metagram/project.inlang/project_id (1)
1-1
: Add a newline at end of file.
To adhere to POSIX conventions and avoid potential tooling warnings, append a newline character at the end of this file.platforms/blabsy/package.json (1)
7-7
: Verify the dev port change relevance
Thedev
script now uses port 8080 instead of 80. This update doesn’t appear tied to the “Fix/post context menu” objective—please confirm it’s intentional, update any related documentation (e.g., README or developer guides), and ensure existing workflows aren’t broken.platforms/pictique/src/routes/(protected)/discover/+page.svelte (1)
43-45
: Remove debug logging before production.This reactive effect with console.log appears to be debug code that should be removed before deploying to production.
Remove the debug logging:
- $effect(() => { - console.log($searchResults); - })platforms/pictique/src/routes/(protected)/messages/[id]/+page.svelte (1)
42-42
: Remove debug logging before production.This console.log statement appears to be debug code for tracking incoming message events. Consider removing it before production deployment to keep console logs clean.
Remove the debug logging:
- console.log('messages', data);
platforms/pictique/src/lib/stores/auth.ts (1)
7-11
: LGTM on formatting changes, but consider performance optimizations.The indentation changes from spaces to tabs are fine. However, consider addressing the static analysis suggestions for better performance:
Apply these optimizations:
export const initializeAuth = () => { const token = localStorage.getItem('pictique_auth_token'); if (token) { - apiClient.defaults.headers.common['Authorization'] = `Bearer ${token}`; + apiClient.defaults.headers.common.Authorization = `Bearer ${token}`; isAuthenticated.set(true); } }; export const login = (token: string) => { setAuthToken(token); - apiClient.defaults.headers.common['Authorization'] = `Bearer ${token}`; + apiClient.defaults.headers.common.Authorization = `Bearer ${token}`; isAuthenticated.set(true); }; export const logout = () => { removeAuthToken(); - delete apiClient.defaults.headers.common['Authorization']; + apiClient.defaults.headers.common.Authorization = undefined; isAuthenticated.set(false); };Also applies to: 15-17, 21-24
platforms/blabsy/.env.development (1)
2-6
: Verify the switch from local to remote development environment.Switching the development URLs from localhost to a remote prototype server (
https://blabsy.w3ds-prototype.merul.org
) will affect the development workflow. Ensure this change is intentional and developers are aware they'll be working against remote services instead of local ones.Also consider addressing the static analysis hint about key ordering:
-NEXT_PUBLIC_URL=https://blabsy.w3ds-prototype.merul.org NEXT_PUBLIC_BASE_URL=https://blabsy.w3ds-prototype.merul.org +NEXT_PUBLIC_URL=https://blabsy.w3ds-prototype.merul.orgplatforms/pictique/src/lib/stores/posts.ts (1)
3-3
: Remove unused import.The
goto
import from$app/navigation
is not used anywhere in this file.-import { goto } from '$app/navigation';
platforms/pictique-api/src/services/event-emitter.ts (1)
1-1
: Use the node: protocol for Node.js builtin imports.The static analysis tool correctly identifies that Node.js builtin modules should use the
node:
protocol for better explicitness and security.Apply this diff to use the recommended import protocol:
-import { EventEmitter } from "events"; +import { EventEmitter } from "node:events";platforms/pictique-api/src/controllers/MessageController.ts (1)
323-323
: Consider typing the event data parameter.The
any
type disables type checking. Consider defining a more specific type for the event data to improve type safety.-const messageHandler = (data: any) => { +const messageHandler = (data: { type: string; message?: any; [key: string]: any }) => {Or create a specific interface for chat event data if the structure is known.
platforms/pictique-api/src/services/CommentService.ts (1)
6-6
: Consider the architectural implications of public repository access.Making
commentRepository
public exposes internal data access patterns. While this may be needed for webhook integration or external services, consider if a more controlled approach through service methods would be better for encapsulation.If external access to comments is needed, consider adding specific service methods instead of exposing the repository directly:
// Instead of direct repository access async getCommentsByIds(ids: string[]): Promise<Comment[]> { return await this.commentRepository.findByIds(ids); }platforms/pictique-api/src/database/migrations/1749561069022-migration.ts (1)
1-1
: Consider using import type for type-only imports.The static analysis tool correctly identifies that
MigrationInterface
andQueryRunner
are only used as types. Consider usingimport type
for better tree-shaking:-import { MigrationInterface, QueryRunner } from "typeorm"; +import type { MigrationInterface, QueryRunner } from "typeorm";infrastructure/evault-provisioner/src/controllers/VerificationController.ts (1)
225-229
: Added logging enhances debugging capabilities.The console.log statements will help with monitoring verification processes. Consider using a structured logging library for production environments.
Also applies to: 236-236
infrastructure/evault-provisioner/src/templates/evault.nomad.ts (1)
186-186
: Service type change may affect accessibilityChanging from LoadBalancer to NodePort reduces external accessibility. NodePort services are typically used for internal cluster communication or development environments.
Ensure this change aligns with your deployment requirements:
- LoadBalancer: Provides external access with cloud provider integration
- NodePort: Exposes service on each node's IP at a static port (30000-32767 range)
If external access is required, consider using an Ingress controller with the NodePort service.
platforms/pictique-api/src/services/MessageService.ts (1)
5-5
: Consider making the repository initialization more robust.The repository is initialized as a public property at class instantiation. Consider initializing it in the constructor or using dependency injection to make the service more testable and flexible.
export class MessageService { - public messageRepository = AppDataSource.getRepository(Message); + private messageRepository: Repository<Message>; + + constructor() { + this.messageRepository = AppDataSource.getRepository(Message); + }infrastructure/evault-core/src/db/retry-neo4j.ts (4)
1-1
: Fix import type usage as suggested by static analysis.The
Driver
import is only used as a type annotation, so it should be imported as a type to avoid runtime loading.-import neo4j, { Driver } from "neo4j-driver"; +import neo4j, { type Driver } from "neo4j-driver";
17-18
: Consider adjusting default retry parameters.The default values of 30 retries with 5-second delays (150 seconds total) seem quite aggressive. Consider if these defaults are appropriate for your use case or if they should be environment-configurable.
26-26
: Consider making encryption configuration more explicit.The encryption setting uses a string value which might be deprecated. Consider using the boolean form for clarity.
- { encrypted: "ENCRYPTION_OFF" }, // or { encrypted: false } + { encrypted: false },
21-40
: Consider adding exponential backoff for better retry strategy.The current implementation uses fixed delays between retries. Consider implementing exponential backoff for more robust retry behavior, especially under high load scenarios.
let attempt = 0; +let currentDelay = delayMs; while (attempt < maxRetries) { try { // ... connection logic } catch (err: unknown) { attempt++; const errorMessage = err instanceof Error ? err.message : String(err); console.warn( - `Neo4j connection attempt ${attempt} failed: ${errorMessage}. Retrying in ${delayMs}ms...`, + `Neo4j connection attempt ${attempt} failed: ${errorMessage}. Retrying in ${currentDelay}ms...`, ); - await new Promise((res) => setTimeout(res, delayMs)); + await new Promise((res) => setTimeout(res, currentDelay)); + currentDelay = Math.min(currentDelay * 2, 30000); // Cap at 30 seconds } }platforms/pictique/src/lib/fragments/CreatePostModal/CreatePostModal.svelte (1)
61-61
: Review accessibility suppressions for legitimacy.The accessibility linting suppressions may be hiding genuine issues:
element_invalid_self_closing_tag
on textarea - this should be a properly closed taga11y_img_redundant_alt
on img - consider if a more descriptive alt text would be betterConsider addressing the underlying accessibility concerns rather than suppressing the warnings.
Also applies to: 74-74
platforms/pictique/src/routes/(protected)/profile/[id]/+page.svelte (1)
22-22
: Remove debugging console.log before production.The console.log statement should be removed before merging to production to avoid cluttering the console output.
- console.log(JSON.stringify(profile));
platforms/pictique-api/src/index.ts (1)
21-30
: Improve error type specificity in initialization handler.The initialization logic is solid with proper error handling and process exit, but the error type should be more specific.
- .catch((error: any) => { + .catch((error: Error) => { console.error("Error during initialization:", error); process.exit(1); });infrastructure/evault-core/src/evault.ts (1)
106-108
: Consider adding more detailed error handlingWhile the current error handling logs to console, consider adding more specific error handling for different failure scenarios (connection failures, authentication issues, etc.) to aid in debugging.
-EVault.create() - .then(evault => evault.start()) - .catch(console.error); +EVault.create() + .then(evault => evault.start()) + .catch(error => { + console.error('Failed to start EVault server:', error); + process.exit(1); + });infrastructure/evault-core/src/db/db.service.ts (1)
403-470
: Consider batch operations for performance optimizationThe current implementation executes individual queries for each envelope update/creation. For better performance with large payloads, consider batching these operations into fewer queries.
Example approach using a single query with UNWIND:
UNWIND $envelopes AS env MATCH (m:MetaEnvelope {id: $metaId}) MERGE (e:Envelope {ontology: env.ontology})-[:LINKS_TO]-(m) ON CREATE SET e.id = env.id, e.value = env.value, e.valueType = env.valueType ON MATCH SET e.value = env.value, e.valueType = env.valueTypeplatforms/pictique-api/src/services/ChatService.ts (1)
134-135
: Remove debug logging before production.The console.log statement should be removed or replaced with proper logging before deploying to production.
- console.log("Sent event", `chat:${chatId}`); - this.eventEmitter.emit(`chat:${chatId}`, [savedMessage]); + this.eventEmitter.emit(`chat:${chatId}`, [savedMessage]);infrastructure/web3-adapter/src/mapper/mapper.types.ts (1)
1-1
: Use import type for type-only imports.Since
MappingDatabase
is only used as a type annotation, useimport type
to ensure it's removed during compilation and avoid loading unnecessary modules.-import { MappingDatabase } from "../db"; +import type { MappingDatabase } from "../db";platforms/pictique/src/lib/fragments/Post/Post.svelte (2)
39-39
: Remove debug console.log statements.The debug logging should be removed before production deployment.
- console.log('chunks', chunks); for (let i = 0; i < chunks.length; i += 2) { const dataPart = chunks[i]; const chunkPart = chunks[i + 1]; if (dataPart && chunkPart) { if (dataPart.startsWith('data:')) { result.push(dataPart + ',' + chunkPart); } else { result.push(dataPart); result.push(chunkPart); } } else { if (!dataPart.startsWith('data:')) result.push(dataPart); console.warn(`Skipping incomplete pair at index ${i}`); } } - console.log('result', result);Also applies to: 56-56
115-121
: Remove commented-out code.The commented-out menu button code should be removed to keep the codebase clean.
- <!-- <button - onclick={callback.menu} - class="cursor-pointer rounded-full p-2 hover:bg-gray-100" - > - <HugeiconsIcon icon={MoreVerticalIcon} size={24} color="var(--color-black-500)" /> - </button> --> <ActionMenu {options}/>platforms/pictique/src/lib/utils/axios.ts (2)
6-6
: Replace any type with proper typing.The explicit
any
type disables type checking and should be avoided.-let headers: Record<string, any> = { +let headers: Record<string, string> = { 'Content-Type': 'application/json' };
22-22
: Consider removing automatic redirect from utility function.Having
setAuthToken
automatically redirect to '/home' couples the utility function to specific application behavior. Consider letting the calling component handle navigation for better separation of concerns.export const setAuthToken = (token: string): void => { localStorage.setItem(TOKEN_KEY, token); - window.location.href = '/home'; };
Then handle navigation in the component that calls
setAuthToken
:setAuthToken(token); goto('/home');platforms/blabsy-w3ds-auth-api/src/web3adapter/watchers/firestoreWatcher.ts (2)
1-7
: Use import type for type-only importsThese imports are only used as types and should use
import type
for better tree-shaking.-import { - DocumentChange, - DocumentData, - QuerySnapshot, - CollectionReference, - CollectionGroup, -} from "firebase-admin/firestore"; +import type { + DocumentChange, + DocumentData, + QuerySnapshot, + CollectionReference, + CollectionGroup, +} from "firebase-admin/firestore";
8-8
: Use node: protocol for Node.js builtin modulesUsing the
node:
protocol makes it explicit that this is a Node.js builtin module.-import path from "path"; +import path from "node:path";infrastructure/web3-adapter/src/index.ts (1)
1-3
: Use node: protocol and import typeApply these improvements for better code clarity:
-import * as fs from "fs/promises"; -import path from "path"; -import { IMapping } from "./mapper/mapper.types"; +import * as fs from "node:fs/promises"; +import path from "node:path"; +import type { IMapping } from "./mapper/mapper.types";platforms/blabsy-w3ds-auth-api/src/web3adapter/index.ts (1)
3-3
: Use node: protocol for path import-import path from "path"; +import path from "node:path";infrastructure/web3-adapter/src/db/mapping.db.ts (4)
2-3
: Use node: protocol for Node.js built-in modulesFor better clarity and to follow modern Node.js conventions, use the
node:
protocol when importing built-in modules.-import { join } from "path"; -import { promisify } from "util"; +import { join } from "node:path"; +import { promisify } from "node:util";
85-87
: Remove unnecessary catch blockThis catch block only rethrows the error without any additional handling or logging.
- } catch (error) { - throw error; - } + }
109-112
: Inconsistent error handling between similar methods
getGlobalId
logs errors whilegetLocalId
(lines 134-136) silently swallows them. Consider consistent error handling across similar methods.Either log errors in both methods or in neither, depending on your error handling strategy.
156-158
: Remove unnecessary catch blockThis catch block only rethrows the error without any additional handling.
- } catch (error) { - throw error; - } + }platforms/pictique-api/src/web3adapter/watchers/subscriber.ts (3)
1-8
: Use type imports for type-only importsSeveral imports are only used as types and should be imported using the
import type
syntax.-import { - EventSubscriber, - EntitySubscriberInterface, - InsertEvent, - UpdateEvent, - RemoveEvent, - ObjectLiteral, -} from "typeorm"; +import { + EventSubscriber, + type EntitySubscriberInterface, + type InsertEvent, + type UpdateEvent, + type RemoveEvent, + type ObjectLiteral, +} from "typeorm";
10-10
: Use node: protocol for path module-import path from "path"; +import path from "node:path";
224-224
: Use template literal instead of string concatenation-tableName: junctionInfo.entity.toLowerCase() + "s", +tableName: `${junctionInfo.entity.toLowerCase()}s`,platforms/pictique-api/src/controllers/WebhookController.ts (1)
1-1
: Use type imports for type-only importsThese imports are only used as types and should use
import type
.-import { Request, Response } from "express"; +import type { Request, Response } from "express"; -import { Web3Adapter } from "../../../../infrastructure/web3-adapter/src"; +import type { Web3Adapter } from "../../../../infrastructure/web3-adapter/src"; -import { User } from "database/entities/User"; -import { Chat } from "database/entities/Chat"; +import type { User } from "database/entities/User"; +import type { Chat } from "database/entities/Chat"; -import { Post } from "database/entities/Post"; +import type { Post } from "database/entities/Post";Also applies to: 6-10
infrastructure/web3-adapter/src/mapper/mapper.ts (2)
1-1
: Use type imports-import { IMappingConversionOptions, IMapperResponse } from "./mapper.types"; +import type { IMappingConversionOptions, IMapperResponse } from "./mapper.types";
58-58
: Use const for variables that aren't reassignedSeveral
let
declarations can beconst
.-for (let [localKey, globalPathRaw] of Object.entries( +for (const [localKey, globalPathRaw] of Object.entries(Also applies to: 62-62, 171-171
platforms/blabsy-w3ds-auth-api/src/controllers/WebhookController.ts (3)
1-1
: Use type imports-import { Request, Response } from "express"; +import type { Request, Response } from "express";
3-3
: Use node: protocol-import path from "path"; +import path from "node:path";
221-223
: Remove unnecessary else clauseThe else is not needed since the if block returns.
- } else { - return u; - } + } + return u;infrastructure/eid-wallet/src/routes/(auth)/onboarding/+page.svelte (1)
52-54
: Add error handling for context retrieval.The context retrieval could fail if the component is used outside its expected context.
onMount(() => { - globalState = getContext<() => GlobalState>("globalState")(); + try { + const getGlobalState = getContext<() => GlobalState>("globalState"); + if (!getGlobalState) { + console.error("GlobalState context not found"); + goto("/error"); + return; + } + globalState = getGlobalState(); + } catch (error) { + console.error("Failed to get GlobalState:", error); + goto("/error"); + return; + }
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (27)
infrastructure/eid-wallet/src-tauri/gen/android/.idea/.gitignore
is excluded by!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/.idea/AndroidProjectSystem.xml
is excluded by!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/.idea/appInsightsSettings.xml
is excluded by!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/.idea/deploymentTargetSelector.xml
is excluded by!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/.idea/gradle.xml
is excluded by!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/.idea/misc.xml
is excluded by!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/app/.gitignore
is excluded by!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/app/build.gradle.kts
is excluded by!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/app/src/main/java/com/eid_wallet/app/MainActivity.kt
is excluded by!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/app/src/main/java/com/eid_wallet/app/generated/Ipc.kt
is excluded by!**/generated/**
,!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/app/src/main/java/com/eid_wallet/app/generated/Logger.kt
is excluded by!**/generated/**
,!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/app/src/main/java/com/eid_wallet/app/generated/PermissionHelper.kt
is excluded by!**/generated/**
,!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/app/src/main/java/com/eid_wallet/app/generated/RustWebChromeClient.kt
is excluded by!**/generated/**
,!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/app/src/main/java/com/eid_wallet/app/generated/RustWebView.kt
is excluded by!**/generated/**
,!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/app/src/main/java/com/eid_wallet/app/generated/RustWebViewClient.kt
is excluded by!**/generated/**
,!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/app/src/main/java/com/eid_wallet/app/generated/TauriActivity.kt
is excluded by!**/generated/**
,!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/app/src/main/java/com/eid_wallet/app/generated/WryActivity.kt
is excluded by!**/generated/**
,!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/app/src/main/java/com/eid_wallet/app/generated/proguard-wry.pro
is excluded by!**/generated/**
,!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/app/src/main/java/io/tanglelabs/metastate/eid_wallet/MainActivity.kt
is excluded by!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/app/src/main/res/values/strings.xml
is excluded by!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/buildSrc/src/main/java/io/tanglelabs/metastate/eid_wallet/kotlin/BuildTask.kt
is excluded by!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/android/buildSrc/src/main/java/io/tanglelabs/metastate/eid_wallet/kotlin/RustPlugin.kt
is excluded by!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/apple/eid-wallet.xcodeproj/project.pbxproj
is excluded by!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/apple/eid-wallet.xcodeproj/xcshareddata/xcschemes/eid-wallet_iOS.xcscheme
is excluded by!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/apple/eid-wallet_iOS/Info.plist
is excluded by!**/gen/**
infrastructure/eid-wallet/src-tauri/gen/apple/project.yml
is excluded by!**/gen/**
pnpm-lock.yaml
is excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (107)
infrastructure/eid-wallet/package.json
(1 hunks)infrastructure/eid-wallet/src-tauri/tauri.conf.json
(1 hunks)infrastructure/eid-wallet/src/routes/(auth)/onboarding/+page.svelte
(1 hunks)infrastructure/eid-wallet/src/routes/(auth)/verify/+page.svelte
(1 hunks)infrastructure/evault-core/src/db/db.service.spec.ts
(2 hunks)infrastructure/evault-core/src/db/db.service.ts
(1 hunks)infrastructure/evault-core/src/db/retry-neo4j.ts
(1 hunks)infrastructure/evault-core/src/db/types.ts
(1 hunks)infrastructure/evault-core/src/evault.ts
(5 hunks)infrastructure/evault-core/src/protocol/examples/examples.ts
(2 hunks)infrastructure/evault-core/src/protocol/graphql-server.ts
(1 hunks)infrastructure/evault-core/src/protocol/typedefs.ts
(1 hunks)infrastructure/evault-core/src/protocol/vault-access-guard.ts
(1 hunks)infrastructure/evault-provisioner/src/controllers/VerificationController.ts
(2 hunks)infrastructure/evault-provisioner/src/index.ts
(3 hunks)infrastructure/evault-provisioner/src/templates/evault.nomad.ts
(2 hunks)infrastructure/web3-adapter/package.json
(1 hunks)infrastructure/web3-adapter/src/__tests__/adapter.test.ts
(0 hunks)infrastructure/web3-adapter/src/__tests__/evault.test.ts
(0 hunks)infrastructure/web3-adapter/src/adapter.ts
(0 hunks)infrastructure/web3-adapter/src/db/index.ts
(1 hunks)infrastructure/web3-adapter/src/db/mapping.db.ts
(1 hunks)infrastructure/web3-adapter/src/evault/evault.ts
(1 hunks)infrastructure/web3-adapter/src/index.ts
(1 hunks)infrastructure/web3-adapter/src/mapper/mapper.ts
(1 hunks)infrastructure/web3-adapter/src/mapper/mapper.types.ts
(1 hunks)infrastructure/web3-adapter/tsconfig.json
(1 hunks)platforms/blabsy-w3ds-auth-api/package.json
(1 hunks)platforms/blabsy-w3ds-auth-api/src/controllers/AuthController.ts
(0 hunks)platforms/blabsy-w3ds-auth-api/src/controllers/WebhookController.ts
(1 hunks)platforms/blabsy-w3ds-auth-api/src/index.ts
(2 hunks)platforms/blabsy-w3ds-auth-api/src/web3adapter/index.ts
(1 hunks)platforms/blabsy-w3ds-auth-api/src/web3adapter/mappings/chat.mapping.json
(1 hunks)platforms/blabsy-w3ds-auth-api/src/web3adapter/mappings/message.mapping.json
(1 hunks)platforms/blabsy-w3ds-auth-api/src/web3adapter/mappings/social-media-post.mapping.json
(1 hunks)platforms/blabsy-w3ds-auth-api/src/web3adapter/mappings/user.mapping.json
(1 hunks)platforms/blabsy-w3ds-auth-api/src/web3adapter/watchers/firestoreWatcher.ts
(1 hunks)platforms/blabsy/.env.development
(1 hunks)platforms/blabsy/package.json
(1 hunks)platforms/blabsy/src/components/modal/mobile-sidebar-modal.tsx
(1 hunks)platforms/blabsy/src/components/sidebar/more-settings.tsx
(1 hunks)platforms/blabsy/src/components/sidebar/sidebar-profile.tsx
(1 hunks)platforms/blabsy/src/lib/types/tweet.ts
(1 hunks)platforms/metagram/project.inlang/.gitignore
(1 hunks)platforms/metagram/project.inlang/project_id
(1 hunks)platforms/metagram/project.inlang/settings.json
(1 hunks)platforms/pictique-api/package.json
(1 hunks)platforms/pictique-api/src/controllers/MessageController.ts
(10 hunks)platforms/pictique-api/src/controllers/PostController.ts
(1 hunks)platforms/pictique-api/src/controllers/WebhookController.ts
(1 hunks)platforms/pictique-api/src/database/data-source.ts
(2 hunks)platforms/pictique-api/src/database/migrations/1749561069022-migration.ts
(1 hunks)platforms/pictique-api/src/index.ts
(1 hunks)platforms/pictique-api/src/middleware/auth.ts
(1 hunks)platforms/pictique-api/src/services/ChatService.ts
(10 hunks)platforms/pictique-api/src/services/CommentService.ts
(3 hunks)platforms/pictique-api/src/services/MessageService.ts
(1 hunks)platforms/pictique-api/src/services/PostService.ts
(2 hunks)platforms/pictique-api/src/services/UserService.ts
(1 hunks)platforms/pictique-api/src/services/event-emitter.ts
(1 hunks)platforms/pictique-api/src/web3adapter/config/index.ts
(0 hunks)platforms/pictique-api/src/web3adapter/controllers/WebhookController.ts
(0 hunks)platforms/pictique-api/src/web3adapter/entities/MetaEnvelopeMap.ts
(0 hunks)platforms/pictique-api/src/web3adapter/mappings/chat.mapping.json
(1 hunks)platforms/pictique-api/src/web3adapter/mappings/comment.mapping.json
(1 hunks)platforms/pictique-api/src/web3adapter/mappings/message.mapping.json
(1 hunks)platforms/pictique-api/src/web3adapter/mappings/post.mapping.json
(1 hunks)platforms/pictique-api/src/web3adapter/mappings/user.mapping.json
(1 hunks)platforms/pictique-api/src/web3adapter/routes/webhook.ts
(0 hunks)platforms/pictique-api/src/web3adapter/services/TransformService.ts
(0 hunks)platforms/pictique-api/src/web3adapter/services/eVaultService.ts
(0 hunks)platforms/pictique-api/src/web3adapter/subscribers/EntitySubscriber.ts
(0 hunks)platforms/pictique-api/src/web3adapter/types/index.ts
(0 hunks)platforms/pictique-api/src/web3adapter/watchers/subscriber.ts
(1 hunks)platforms/pictique/package.json
(1 hunks)platforms/pictique/src/lib/fragments/BottomNav/BottomNav.svelte
(3 hunks)platforms/pictique/src/lib/fragments/Comment/Comment.svelte
(0 hunks)platforms/pictique/src/lib/fragments/CreatePostModal/CreatePostModal.svelte
(4 hunks)platforms/pictique/src/lib/fragments/InputFile/InputFile.svelte
(1 hunks)platforms/pictique/src/lib/fragments/MessageInput/MessageInput.svelte
(1 hunks)platforms/pictique/src/lib/fragments/Post/Post.svelte
(4 hunks)platforms/pictique/src/lib/fragments/Profile/Profile.svelte
(3 hunks)platforms/pictique/src/lib/fragments/SideBar/SideBar.svelte
(4 hunks)platforms/pictique/src/lib/fragments/UploadedPostView/UploadedPostView.svelte
(2 hunks)platforms/pictique/src/lib/fragments/UserRequest/UserRequest.svelte
(0 hunks)platforms/pictique/src/lib/store/store.svelte.ts
(1 hunks)platforms/pictique/src/lib/stores/auth.ts
(1 hunks)platforms/pictique/src/lib/stores/comments.ts
(2 hunks)platforms/pictique/src/lib/stores/posts.ts
(2 hunks)platforms/pictique/src/lib/stores/users.ts
(1 hunks)platforms/pictique/src/lib/types.ts
(2 hunks)platforms/pictique/src/lib/utils/axios.ts
(1 hunks)platforms/pictique/src/routes/(auth)/auth/+page.svelte
(2 hunks)platforms/pictique/src/routes/(protected)/+layout.svelte
(5 hunks)platforms/pictique/src/routes/(protected)/discover/+page.svelte
(2 hunks)platforms/pictique/src/routes/(protected)/home/+page.svelte
(2 hunks)platforms/pictique/src/routes/(protected)/messages/+page.svelte
(3 hunks)platforms/pictique/src/routes/(protected)/messages/[id]/+page.svelte
(1 hunks)platforms/pictique/src/routes/(protected)/profile/+page.svelte
(1 hunks)platforms/pictique/src/routes/(protected)/profile/[id]/+page.svelte
(4 hunks)platforms/pictique/src/routes/(protected)/settings/+page.svelte
(2 hunks)platforms/pictique/src/routes/(protected)/settings/account/username/+page.svelte
(2 hunks)platforms/pictique/src/routes/+layout.svelte
(1 hunks)platforms/pictique/src/routes/store.ts
(1 hunks)platforms/pictique/svelte.config.js
(1 hunks)platforms/pictique/vite.config.ts
(1 hunks)services/ontology/schemas/bookmark.json
(1 hunks)
⛔ Files not processed due to max files limit (4)
- services/ontology/schemas/chat.json
- services/ontology/schemas/message.json
- services/ontology/schemas/socialMediaPost.json
- services/ontology/schemas/user.json
💤 Files with no reviewable changes (14)
- platforms/pictique/src/lib/fragments/UserRequest/UserRequest.svelte
- platforms/pictique/src/lib/fragments/Comment/Comment.svelte
- platforms/blabsy-w3ds-auth-api/src/controllers/AuthController.ts
- platforms/pictique-api/src/web3adapter/routes/webhook.ts
- platforms/pictique-api/src/web3adapter/entities/MetaEnvelopeMap.ts
- platforms/pictique-api/src/web3adapter/types/index.ts
- infrastructure/web3-adapter/src/tests/adapter.test.ts
- platforms/pictique-api/src/web3adapter/config/index.ts
- infrastructure/web3-adapter/src/adapter.ts
- platforms/pictique-api/src/web3adapter/services/eVaultService.ts
- infrastructure/web3-adapter/src/tests/evault.test.ts
- platforms/pictique-api/src/web3adapter/subscribers/EntitySubscriber.ts
- platforms/pictique-api/src/web3adapter/controllers/WebhookController.ts
- platforms/pictique-api/src/web3adapter/services/TransformService.ts
🧰 Additional context used
🪛 Biome (1.9.4)
platforms/pictique/src/lib/stores/auth.ts
[error] 9-9: The computed expression can be simplified without the use of a string literal.
Unsafe fix: Use a literal key instead.
(lint/complexity/useLiteralKeys)
[error] 16-16: The computed expression can be simplified without the use of a string literal.
Unsafe fix: Use a literal key instead.
(lint/complexity/useLiteralKeys)
[error] 22-22: Avoid the delete operator which can impact performance.
Unsafe fix: Use an undefined assignment instead.
(lint/performance/noDelete)
[error] 22-22: The computed expression can be simplified without the use of a string literal.
Unsafe fix: Use a literal key instead.
(lint/complexity/useLiteralKeys)
infrastructure/evault-core/src/db/types.ts
[error] 14-14: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 26-26: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 26-26: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 39-39: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 39-39: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 53-53: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 53-53: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
platforms/pictique-api/src/services/event-emitter.ts
[error] 1-1: A Node.js builtin module should be imported with the node: protocol.
Using the node: protocol is more explicit and signals that the imported module belongs to Node.js.
Unsafe fix: Add the node: protocol.
(lint/style/useNodejsImportProtocol)
platforms/pictique-api/src/controllers/MessageController.ts
[error] 323-323: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
infrastructure/evault-core/src/protocol/vault-access-guard.ts
[error] 50-50: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 65-65: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 83-83: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 84-84: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
platforms/pictique-api/src/index.ts
[error] 27-27: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
infrastructure/web3-adapter/src/mapper/mapper.types.ts
[error] 1-1: All these imports are only used as types.
Importing the types with import type ensures that they are removed by the compilers and avoids loading unnecessary modules.
Safe fix: Use import type.
(lint/style/useImportType)
infrastructure/evault-core/src/db/db.service.ts
[error] 377-377: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 377-377: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
platforms/blabsy-w3ds-auth-api/src/web3adapter/watchers/firestoreWatcher.ts
[error] 8-8: A Node.js builtin module should be imported with the node: protocol.
Using the node: protocol is more explicit and signals that the imported module belongs to Node.js.
Unsafe fix: Add the node: protocol.
(lint/style/useNodejsImportProtocol)
[error] 91-91: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 1-7: Some named imports are only used as types.
This import is only used as a type.
This import is only used as a type.
This import is only used as a type.
Importing the types with import type ensures that they are removed by the compilers and avoids loading unnecessary modules.
Safe fix: Add inline type keywords.
(lint/style/useImportType)
infrastructure/web3-adapter/src/index.ts
[error] 1-1: A Node.js builtin module should be imported with the node: protocol.
Using the node: protocol is more explicit and signals that the imported module belongs to Node.js.
Unsafe fix: Add the node: protocol.
(lint/style/useNodejsImportProtocol)
[error] 2-2: A Node.js builtin module should be imported with the node: protocol.
Using the node: protocol is more explicit and signals that the imported module belongs to Node.js.
Unsafe fix: Add the node: protocol.
(lint/style/useNodejsImportProtocol)
[error] 3-3: All these imports are only used as types.
Importing the types with import type ensures that they are removed by the compilers and avoids loading unnecessary modules.
Safe fix: Use import type.
(lint/style/useImportType)
platforms/pictique/src/routes/store.ts
[error] 3-3: This let declares a variable that is only assigned once.
'heading' is never reassigned.
Safe fix: Use const instead.
(lint/style/useConst)
platforms/pictique-api/src/services/ChatService.ts
[error] 158-158: This type annotation is trivially inferred from its initialization.
Safe fix: Remove the type annotation.
(lint/style/noInferrableTypes)
[error] 238-238: This type annotation is trivially inferred from its initialization.
Safe fix: Remove the type annotation.
(lint/style/noInferrableTypes)
platforms/pictique-api/src/database/migrations/1749561069022-migration.ts
[error] 1-1: All these imports are only used as types.
Importing the types with import type ensures that they are removed by the compilers and avoids loading unnecessary modules.
Safe fix: Use import type.
(lint/style/useImportType)
infrastructure/evault-core/src/db/retry-neo4j.ts
[error] 31-31: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 1-1: Some named imports are only used as types.
This import is only used as a type.
Importing the types with import type ensures that they are removed by the compilers and avoids loading unnecessary modules.
Safe fix: Add inline type keywords.
(lint/style/useImportType)
infrastructure/web3-adapter/src/evault/evault.ts
[error] 8-8: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 64-64: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 67-67: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 72-72: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 83-83: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 86-86: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 91-91: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
infrastructure/web3-adapter/src/db/mapping.db.ts
[error] 2-2: A Node.js builtin module should be imported with the node: protocol.
Using the node: protocol is more explicit and signals that the imported module belongs to Node.js.
Unsafe fix: Add the node: protocol.
(lint/style/useNodejsImportProtocol)
[error] 3-3: A Node.js builtin module should be imported with the node: protocol.
Using the node: protocol is more explicit and signals that the imported module belongs to Node.js.
Unsafe fix: Add the node: protocol.
(lint/style/useNodejsImportProtocol)
[error] 7-7: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 8-8: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 8-8: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 9-9: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 9-9: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 86-86: The catch clause that only rethrows the original error is useless.
An unnecessary catch clause can be confusing.
Unsafe fix: Remove the try/catch clause.
(lint/complexity/noUselessCatch)
[error] 157-157: The catch clause that only rethrows the original error is useless.
An unnecessary catch clause can be confusing.
Unsafe fix: Remove the try/catch clause.
(lint/complexity/noUselessCatch)
platforms/blabsy-w3ds-auth-api/src/web3adapter/index.ts
[error] 3-3: A Node.js builtin module should be imported with the node: protocol.
Using the node: protocol is more explicit and signals that the imported module belongs to Node.js.
Unsafe fix: Add the node: protocol.
(lint/style/useNodejsImportProtocol)
infrastructure/evault-core/src/protocol/graphql-server.ts
[error] 34-34: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 39-39: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 45-45: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 62-62: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 68-68: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 86-86: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 94-94: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 120-120: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 127-127: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 131-131: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
platforms/pictique-api/src/controllers/WebhookController.ts
[error] 1-1: All these imports are only used as types.
Importing the types with import type ensures that they are removed by the compilers and avoids loading unnecessary modules.
Safe fix: Use import type.
(lint/style/useImportType)
[error] 6-6: All these imports are only used as types.
Importing the types with import type ensures that they are removed by the compilers and avoids loading unnecessary modules.
Safe fix: Use import type.
(lint/style/useImportType)
[error] 7-7: All these imports are only used as types.
Importing the types with import type ensures that they are removed by the compilers and avoids loading unnecessary modules.
Safe fix: Use import type.
(lint/style/useImportType)
[error] 8-8: All these imports are only used as types.
Importing the types with import type ensures that they are removed by the compilers and avoids loading unnecessary modules.
Safe fix: Use import type.
(lint/style/useImportType)
[error] 10-10: All these imports are only used as types.
Importing the types with import type ensures that they are removed by the compilers and avoids loading unnecessary modules.
Safe fix: Use import type.
(lint/style/useImportType)
platforms/pictique/src/lib/utils/axios.ts
[error] 6-6: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
infrastructure/web3-adapter/src/mapper/mapper.ts
[error] 3-3: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 3-3: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 25-25: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 61-61: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 139-139: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 158-158: Template literals are preferred over string concatenation.
Unsafe fix: Use a template literal.
(lint/style/useTemplate)
[error] 174-174: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 1-1: All these imports are only used as types.
Importing the types with import type ensures that they are removed by the compilers and avoids loading unnecessary modules.
Safe fix: Use import type.
(lint/style/useImportType)
[error] 58-58: This let declares some variables that are only assigned once.
'localKey' is never reassigned.
'globalPathRaw' is never reassigned.
Safe fix: Use const instead.
(lint/style/useConst)
[error] 62-62: This let declares a variable that is only assigned once.
'targetKey' is never reassigned.
Safe fix: Use const instead.
(lint/style/useConst)
[error] 171-171: This let declares some variables that are only assigned once.
'localKey' is never reassigned.
'globalPathRaw' is never reassigned.
Safe fix: Use const instead.
(lint/style/useConst)
platforms/blabsy-w3ds-auth-api/src/controllers/WebhookController.ts
[error] 3-3: A Node.js builtin module should be imported with the node: protocol.
Using the node: protocol is more explicit and signals that the imported module belongs to Node.js.
Unsafe fix: Add the node: protocol.
(lint/style/useNodejsImportProtocol)
[error] 33-33: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 92-92: Template literals are preferred over string concatenation.
Unsafe fix: Use a template literal.
(lint/style/useTemplate)
[error] 116-116: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 123-123: This variable implicitly has the any type.
Variable declarations without type annotation and initialization implicitly have the any type. Declare a type or initialize the variable with some value.
(lint/suspicious/noImplicitAnyLet)
[error] 146-146: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 156-156: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 156-156: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 173-173: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 199-199: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 221-223: This else clause can be omitted because previous branches break early.
Unsafe fix: Omit the else clause.
(lint/style/noUselessElse)
[error] 244-244: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 267-267: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 1-1: All these imports are only used as types.
Importing the types with import type ensures that they are removed by the compilers and avoids loading unnecessary modules.
Safe fix: Use import type.
(lint/style/useImportType)
platforms/pictique-api/src/web3adapter/watchers/subscriber.ts
[error] 10-10: A Node.js builtin module should be imported with the node: protocol.
Using the node: protocol is more explicit and signals that the imported module belongs to Node.js.
Unsafe fix: Add the node: protocol.
(lint/style/useNodejsImportProtocol)
[error] 42-42: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 49-49: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 53-53: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 53-53: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 74-74: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 94-94: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 101-101: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 120-120: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 127-127: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 146-146: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 194-194: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 224-224: Template literals are preferred over string concatenation.
Unsafe fix: Use a template literal.
(lint/style/useTemplate)
[error] 261-261: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 261-261: Unexpected any. Specify a different type.
any disables many type checking rules. Its use should be avoided.
(lint/suspicious/noExplicitAny)
[error] 1-8: Some named imports are only used as types.
This import is only used as a type.
This import is only used as a type.
This import is only used as a type.
This import is only used as a type.
This import is only used as a type.
Importing the types with import type ensures that they are removed by the compilers and avoids loading unnecessary modules.
Safe fix: Add inline type keywords.
(lint/style/useImportType)
🪛 dotenv-linter (3.3.0)
platforms/blabsy/.env.development
[warning] 6-6: [UnorderedKey] The NEXT_PUBLIC_BASE_URL key should go before the NEXT_PUBLIC_URL key
🔇 Additional comments (111)
platforms/metagram/project.inlang/settings.json (3)
2-2
: Validate the$schema
reference
Double-check that the JSON Schema URL (https://inlang.com/schema/project-settings
) is correct and reachable, and that it matches the Inlang version you’re targeting.
7-9
: Verify thepathPattern
for message files
Confirm that../messages/{locale}.json
correctly resolves fromplatforms/metagram/project.inlang/
. If your message files live elsewhere or the directory structure changes, this will break.
10-11
: Locale settings align with requirements
The base locale (en
) and supported locales (["en", "es"]
) match the project’s target languages. No changes needed here.platforms/metagram/project.inlang/project_id (2)
1-1
: Approve addition of Inlangproject_id
file.
This file is required by Inlang for localization project identification and is correctly placed underplatforms/metagram/project.inlang/
.
1-1
: Verify the correctness and exposure of the project ID.
Ensure that1lExt3FnvpxOpPeeZE
is the intended Inlang project identifier and that exposing this ID publicly does not leak any sensitive or private information.platforms/blabsy/src/components/sidebar/more-settings.tsx (1)
57-58
: Align dropdown at the container’s top edge
Switching from-top-44
totop-0
correctly anchors the menu flush with its trigger. Please verify in all layouts (e.g., collapsed sidebar, mobile breakpoints) that it doesn’t overlap adjacent elements or break on narrower viewports.platforms/blabsy/src/components/modal/mobile-sidebar-modal.tsx (1)
123-123
: Branding consistency: updated logout modal title
TheActionModal
title has been correctly changed to "Log out of Blabsy?" to align with the platform’s branding.platforms/blabsy/src/components/sidebar/sidebar-profile.tsx (1)
46-46
: Branding consistency: updated logout modal title
TheActionModal
title now references "Blabsy" instead of "Twitter," ensuring consistent terminology across the app.platforms/pictique/src/routes/(protected)/profile/+page.svelte (1)
1-3
: Remove explicit TypeScript attribute
Updated the<script>
tag fromlang="ts"
to plain<script>
, aligning with the project’s streamlined state management conventions. No functional changes introduced.platforms/pictique/src/lib/stores/comments.ts (3)
5-13
: Consistent indentation:Comment
interface
Replaced spaces with tabs in theComment
interface block. Logic and types remain unchanged.
22-31
: Consistent indentation:fetchComments
Indentation converted to tabs only; the API call, error handling, and reactive store updates are unaffected.
35-46
: Consistent indentation:createComment
Tab-based indentation applied uniformly. No alterations to the control flow or error propagation.platforms/pictique/src/lib/store/store.svelte.ts (1)
1-26
: Style normalization: quotes & indentation
Normalized import quotes to single quotes and converted spaces to tabs across all$state
initializations. Functionality is unchanged.platforms/pictique/src/routes/+layout.svelte (1)
3-3
: Remove unusedownerId
import
Dropping theownerId
store import matches the shift to local authentication ID retrieval. No references toownerId
remain in this component.platforms/pictique-api/src/controllers/PostController.ts (1)
25-25
: LGTM: Clean formatting improvement.The trailing comma removal is a minor but clean formatting improvement. Good job on cleaning up debug statements as mentioned in the summary.
platforms/pictique/package.json (1)
54-54
: LGTM: Dependency addition aligns with adapter switch.The addition of
@sveltejs/adapter-node
dependency supports the architectural change from static to server-side rendering mentioned in the summary.infrastructure/eid-wallet/package.json (1)
24-24
: LGTM: Appropriate dependency for fake data generation.The addition of
@ngneat/falso
dependency is appropriate for generating fake user profile data during development and testing flows.platforms/pictique-api/package.json (2)
21-21
: Verify the graphql-request package version and security status.The addition of
graphql-request
dependency should be validated for security vulnerabilities and ensure it's the latest stable version.What is the latest version of graphql-request npm package and are there any known security vulnerabilities in version 6.1.0?
25-25
: ```shell
#!/bin/bash
set -eecho 'Searching for ".update({})" usages:'
rg -n '.update(\s*{\s*}\s*)'echo
echo 'Searching for ".delete({})" usages:'
rg -n '.delete(\s*{\s*}\s*)'</details> <details> <summary>platforms/pictique/svelte.config.js (1)</summary> `1-1`: **Verify the adapter change aligns with deployment strategy.** Switching from `@sveltejs/adapter-static` to `@sveltejs/adapter-node` is a significant architectural change that affects how the application is deployed and hosted. This changes the application from static site generation to requiring a Node.js server environment. Ensure this change: - Aligns with your hosting infrastructure - Has been tested in the target deployment environment - Doesn't break existing functionality that relied on static generation Also applies to: 7-7 </details> <details> <summary>platforms/pictique/src/lib/fragments/InputFile/InputFile.svelte (1)</summary> `29-29`: **LGTM - CSS class reordering has no functional impact.** The reordering of CSS class names doesn't affect the styling or functionality of the component. </details> <details> <summary>platforms/blabsy/src/lib/types/tweet.ts (1)</summary> `6-29`: **LGTM!** The formatting improvements enhance code readability without affecting functionality. </details> <details> <summary>platforms/pictique-api/src/middleware/auth.ts (1)</summary> `13-15`: ```shell #!/bin/bash # Display the contents of index.ts to verify route protection sed -n '1,200p' platforms/pictique-api/src/index.ts
platforms/pictique/src/routes/(auth)/auth/+page.svelte (2)
4-4
: LGTM!Good addition of the
setAuthId
import to support storing the authenticated user's ID.
24-25
: LGTM!Properly extracts and stores the user ID during the authentication flow. This enhancement allows the application to access the authenticated user's ID throughout the session.
infrastructure/web3-adapter/src/db/index.ts (1)
1-1
: LGTM! Clean database module export.The export statement correctly exposes the mapping database functionality, providing a clean interface for the web3-adapter's new ID mapping persistence features.
infrastructure/web3-adapter/tsconfig.json (1)
2-25
: LGTM! Modern TypeScript configuration.The updated configuration appropriately targets ES2021 with NodeNext module resolution, providing good compatibility for the new web3-adapter architecture while maintaining strict type checking and modern JavaScript features.
platforms/pictique/src/lib/fragments/MessageInput/MessageInput.svelte (1)
55-55
: Improved CSS class organization.The reordering of CSS classes follows a logical grouping pattern (display → sizing → positioning → styling), which enhances code consistency and readability.
infrastructure/evault-core/src/protocol/typedefs.ts (1)
41-41
: Well-structured GraphQL mutation addition.The new
updateMetaEnvelopeById
mutation follows established patterns and correctly uses existing types, completing the CRUD operations for meta-envelopes in the API.platforms/pictique-api/src/services/event-emitter.ts (1)
3-3
: LGTM! Clean singleton event emitter pattern.The singleton EventEmitter instance provides a good foundation for centralized event handling across the pictique-api services, promoting decoupled communication patterns.
platforms/pictique/src/lib/stores/users.ts (1)
1-44
: LGTM: Consistent formatting changes.The indentation conversion from spaces to tabs improves code consistency across the codebase without affecting functionality.
infrastructure/web3-adapter/package.json (1)
17-23
: Verify these dependency changes belong in this PR.The addition of new dependencies (
@types/node
,axios
,graphql-request
,sqlite3
,uuid
) and removal of"type": "module"
appear to be part of a Web3Adapter refactoring, which seems unrelated to the stated PR objective of fixing the post context menu. Please confirm these changes should be included in this PR or if they should be in a separate infrastructure update.platforms/pictique/vite.config.ts (1)
7-9
: Verify this server configuration change belongs in this PR.The addition of
allowedHosts
configuration appears unrelated to fixing the post context menu functionality. This seems like a separate infrastructure/deployment concern that might belong in a different PR.platforms/pictique-api/src/database/data-source.ts (2)
11-11
: Import looks correct for PostgresSubscriber integration.The import statement follows proper TypeScript import conventions.
22-22
: Verify this database subscriber change belongs in this PR.While the PostgresSubscriber addition appears technically correct, this database integration change seems unrelated to fixing the post context menu functionality. This looks like it should be part of a separate Web3Adapter integration PR.
platforms/pictique/src/routes/(protected)/home/+page.svelte (1)
81-81
: LGTM: userId prop addition.Adding the userId prop to the Post component provides necessary user context for the enhanced menu functionality.
platforms/pictique/src/lib/types.ts (2)
21-21
: Good addition of timestamp property.The
createdAt
property with flexible typing (string | number | Date) provides good flexibility for handling timestamps from different sources.
38-38
: To catch any remaining references—especially in destructuring or JSX—let’s search for the bare identifieravatar
across TS/JS files:#!/usr/bin/env bash # Broaden search for any usage of the old `avatar` identifier rg '\bavatar\b' --glob '*.ts' --glob '*.tsx' --glob '*.js' --glob '*.jsx' -A 3 -B 3platforms/pictique-api/src/controllers/MessageController.ts (1)
321-324
: Helpful debugging additions for SSE events.The console.log statements provide useful visibility into the SSE event handling flow, which is valuable for debugging real-time messaging functionality.
infrastructure/evault-core/src/db/types.ts (1)
4-9
: Good formatting improvements.The indentation and formatting changes improve code readability without affecting functionality. The
any
usage in generic type constraints is appropriate for a flexible database abstraction layer.Also applies to: 14-19, 25-33, 38-47, 52-54
platforms/pictique/src/routes/(protected)/messages/+page.svelte (2)
6-6
: Good integration of reactive heading management.Adding the heading store and setting it before navigation provides better user experience and consistent state management across the app.
Also applies to: 36-39
21-22
: Excellent defensive programming.The null-safe handling of
latestMessage
prevents runtime errors when chats don't have messages yet. Using optional chaining and providing sensible defaults (false
for unread,'No message yet'
for text) makes the code more robust.platforms/pictique-api/src/services/CommentService.ts (1)
9-13
: Good formatting and consistency improvements.The parameter formatting, string literal standardization, and trailing comma additions improve code readability and consistency.
Also applies to: 19-26, 29-34, 36-41, 43-51, 53-60
infrastructure/eid-wallet/src/routes/(auth)/verify/+page.svelte (2)
21-21
: Good naming conflict resolution.Renaming the
Selfie
store import toSelfiePic
effectively resolves the naming conflict with theSelfie
component imported on line 24, improving code clarity.
63-63
: Consistent usage of renamed store.The usage correctly reflects the renamed store import, maintaining consistency with the change on line 21.
platforms/pictique-api/src/web3adapter/mappings/user.mapping.json (1)
1-24
: Well-structured user mapping configuration.The JSON mapping structure is comprehensive and follows good practices:
- Uses proper UUID for schema identification
- Logical field mappings (e.g.,
handle
→username
,name
→displayName
)- Includes junction tables for relationship management
- Consistent naming conventions throughout
platforms/blabsy-w3ds-auth-api/src/web3adapter/mappings/message.mapping.json (2)
11-12
: Correct Firestore timestamp transformation.The date calculation properly converts Firestore timestamps from seconds to milliseconds format:
calc(createdAt._seconds * 1000)
correctly multiplies seconds by 1000- Wrapped in
__date()
function for proper date formattingThis handles the common Firestore timestamp structure appropriately.
6-7
: Proper entity reference mappings.The entity reference syntax is correctly implemented:
chat(chatId),chatId
properly references the chat entityuser(senderId),senderId
properly references the user entityThis establishes proper relationships between entities in the mapping system.
platforms/pictique-api/src/database/migrations/1749561069022-migration.ts (2)
7-11
: Well-designed mapping table with proper indexing.The table structure is well-designed for the Web3 adapter:
- UUID primary key with auto-generation
- Proper timestamp columns with defaults
- Indexes on
localId
,metaEnvelopeId
, andentityType
for optimal query performanceThis will efficiently handle ID mapping lookups in both directions.
13-18
: Proper rollback implementation.The
down()
method correctly reverses all operations fromup()
in the proper order:
- Drops indexes first
- Drops table last
This ensures clean rollback capability.
platforms/pictique-api/src/web3adapter/mappings/chat.mapping.json (2)
4-4
: Appropriate ownership model for chat entities.Setting
ownerEnamePath
to"null"
is correct for chat entities, as chats typically don't have a single owner but rather multiple participants with potentially equal rights.
11-11
: Correct array mapping syntax for participants.The participant mapping
"users(participants[].id),participantIds"
properly handles the many-to-many relationship by:
- Referencing the user entity type
- Using array syntax with
participants[].id
- Mapping to
participantIds
fieldThis correctly represents the chat-to-users relationship.
platforms/pictique/src/routes/(protected)/settings/account/username/+page.svelte (3)
5-6
: LGTM! Good addition of navigation and lifecycle imports.The imports are properly added to support the new functionality.
29-39
: Excellent error handling and navigation flow.The try-catch wrapper provides proper error handling, and navigating to
/settings
after successful update improves the user experience.
47-51
: Good use of onMount for initial data loading.Fetching and pre-populating the form fields with existing user data provides a better user experience.
infrastructure/evault-core/src/db/db.service.spec.ts (1)
55-55
: Good defensive programming in tests.The early return guards prevent null pointer exceptions and ensure tests don't continue with invalid state. This is a solid pattern for robust test execution.
Also applies to: 171-171, 178-178, 184-184, 189-189
platforms/blabsy-w3ds-auth-api/src/index.ts (4)
7-9
: Good imports for Firebase and Web3 integration.The imports properly support the new Firebase and Web3Adapter functionality being introduced.
29-39
: Excellent initialization and error handling.Firebase initialization with default credentials is appropriate, and the Web3Adapter initialization includes proper error handling with process exit on failure.
43-48
: Good webhook endpoint registration.The webhook controller setup follows proper RESTful conventions and integrates well with the existing route structure.
50-55
: Excellent graceful shutdown handling.The SIGTERM handler ensures proper cleanup of the Web3Adapter, which is crucial for maintaining data integrity during shutdowns.
platforms/blabsy-w3ds-auth-api/src/web3adapter/mappings/social-media-post.mapping.json (1)
1-14
: Well-structured mapping configuration.The JSON mapping file is properly formatted with consistent field mappings, appropriate date transformations, and a clear schema structure for social media posts.
infrastructure/evault-provisioner/src/controllers/VerificationController.ts (1)
43-45
: Good formatting improvement for SSE heartbeat.The reformatted JSON data improves readability while maintaining the same functionality.
platforms/blabsy-w3ds-auth-api/src/web3adapter/mappings/chat.mapping.json (3)
1-14
: Inconsistency with PR objectivesThis file appears unrelated to the stated PR objective of "Fix/post context menu" for issue #216. The provided files don't contain any
Post.svelte
component or action menu changes as described in the AI summary.#!/bin/bash # Search for Post.svelte and ActionMenu components to verify PR content fd -t f "Post.svelte" fd -t f -e svelte | xargs rg -l "ActionMenu" rg -A 5 -B 5 "options.*prop" --type svelteLikely an incorrect or invalid review comment.
10-11
: Timestamp transformation logic is correctThe timestamp conversion from Firestore format to milliseconds using
__calc(createdAt._seconds * 1000)
properly handles the Firestore timestamp structure.
3-3
: Verify schema ID uniquenessThe schema ID should be unique across all mapping files to prevent conflicts in the universal schema.
#!/bin/bash # Check for duplicate schema IDs across mapping files fd -e json -p "*mapping*" | xargs rg "550e8400-e29b-41d4-a716-446655440003" -cplatforms/pictique/src/lib/fragments/SideBar/SideBar.svelte (1)
7-7
: Approve the authentication refactorThe migration from global store to local reactive state using
getAuthId()
utility is a good architectural improvement for component isolation.Also applies to: 24-24
platforms/pictique-api/src/web3adapter/mappings/post.mapping.json (3)
5-7
: Junction table configuration looks correctThe
ownedJunctionTables
configuration forpost_likes
properly handles the many-to-many relationship between posts and users who liked them.
13-13
: #!/usr/bin/env bash
set -eecho "🔍 Searching for ORM entity definitions and relation fields in TypeScript files…"
Look for Post entity/table definitions
rg -n "@entity.posts" -g '.ts' || echo "No @entity('posts') annotations found."
rg -n "class Post" -g '*.ts' || echo "No Post classes found."echo
echo "🔍 Scanning for parentPostId and authorId in entity files…"
rg -nE "parentPostId|authorId" -g '*.ts' || echo "No parentPostId/authorId fields found in TS files."echo
echo "🔍 Checking migration scripts (if any)…"
fd migrations -t f -e ts -e js | while read -r file; do
echo "----- $file -----"
rg -nE "parentPostId|authorId" "$file" || echo " (no matches)"
done || echo "No migrations directory found."
3-3
: Verify schema ID uniqueness and formatEnsure this schema ID is unique across all mapping files and follows proper UUID v4 format.
#!/bin/bash # Check for duplicate schema IDs and validate UUID format fd -e json -p "*mapping*" | xargs rg "550e8400-e29b-41d4-a716-446655440001" -c echo "Schema ID: 550e8400-e29b-41d4-a716-446655440001" python3 -c "import uuid; print('Valid UUID v4:', str(uuid.UUID('550e8400-e29b-41d4-a716-446655440001')).version == 4)"infrastructure/eid-wallet/src-tauri/tauri.conf.json (1)
37-39
: Hardcoded development team ID requires verificationThe iOS development team ID "HZ7MLR7Q46" is hardcoded. Ensure this is the correct team ID and consider using environment variables for different deployment contexts.
How to verify an Apple Developer Team ID and best practices for managing team IDs in Tauri configurations?
platforms/pictique-api/src/web3adapter/mappings/comment.mapping.json (1)
1-19
: #!/bin/bash1. List all files under web3adapter to locate TS/JS implementation
fd -I platforms/pictique-api/src/web3adapter -t f
2. Find how .mapping.json files are loaded or referenced
rg -n ".mapping.json" -C2 platforms/pictique-api/src/web3adapter
3. Search for JSON parsing or file‐read calls in mapping logic
rg -n "fs.readFileSync" -C2 platforms/pictique-api/src/web3adapter
rg -n "JSON.parse" -C2 platforms/pictique-api/src/web3adapter4. Look for functions that handle array notation in mappings
rg -n "[]" -C2 platforms/pictique-api/src/web3adapter
5. Search for junction‐table handling references
rg -n "junction" -C2 platforms/pictique-api/src/web3adapter
platforms/blabsy-w3ds-auth-api/package.json (3)
44-47
: Good addition of testing infrastructure.The addition of Jest testing framework and related packages is a positive improvement for code quality. The configuration looks appropriate for a TypeScript project.
22-22
: Verify compatibility after downgrading firebase-admin.The
firebase-admin
package was downgraded from a potentially newer version to^12.0.0
. Ensure that all Firebase functionality in your codebase is compatible with this version, especially any newer APIs that might have been used.#!/bin/bash # Check for potential Firebase API usage that might be incompatible with v12 rg -A 3 "firebase-admin|getFirestore|getAuth" --type ts
28-29
: Verify GraphQL package versions and compatibility.The added GraphQL packages (
graphql
andgraphql-request
) should be compatible with each other and with your project's requirements.What are the latest stable versions of graphql and graphql-request packages and are they compatible with each other?
platforms/pictique-api/src/web3adapter/mappings/message.mapping.json (1)
1-12
: LGTM! Well-structured mapping configuration.The JSON mapping file is correctly structured with appropriate field mappings for message entities. The schema ID, owner entity path, and local-to-universal field mappings all follow expected patterns for the web3adapter integration.
platforms/pictique/src/lib/fragments/CreatePostModal/CreatePostModal.svelte (2)
54-54
: Verify the intentional change from Svelte to standard DOM events.The event handlers have been changed from Svelte's reactive syntax (
on:click
,on:change
) to standard HTML attributes (onclick
,onchange
). This removes Svelte's event handling benefits like automatic cleanup and could impact reactivity.Ensure this change is intentional and that the functionality still works correctly with standard DOM events.
Also applies to: 83-83, 96-96
92-98
: UI improvements look good.The styling updates with
gap-2
class, full-width label styling, and smaller button size enhance the user interface appropriately.Also applies to: 102-102
platforms/pictique/src/routes/(protected)/profile/[id]/+page.svelte (2)
14-14
: Good architectural improvement with local reactive state.The migration from global store-based
ownerId
to local reactive state usinggetAuthId()
improves the component's self-sufficiency and aligns with the centralized authentication management pattern.Also applies to: 56-58, 74-74
42-42
: Excellent defensive programming with optional chaining.Using optional chaining for
profile?.username
prevents potential runtime errors and makes the code more robust.platforms/blabsy-w3ds-auth-api/src/web3adapter/mappings/user.mapping.json (1)
1-17
: Well-structured user mapping with proper date transformations.The JSON mapping file correctly handles user field mappings with appropriate date transformations for Firestore timestamps. The
calc()
functions properly convert seconds to milliseconds for JavaScript compatibility.platforms/pictique-api/src/services/PostService.ts (2)
17-19
: LGTM - Clean implementation of findById method.The method follows a clear pattern and provides essential functionality for post retrieval.
34-44
: Verify the removal of author ID filtering in getFollowingFeed.The
authorIds
variable is calculated but no longer used in the query. This means the feed now returns all posts instead of just posts from followed users, which seems like a significant business logic change.#!/bin/bash # Check if there are other methods or places where author filtering is handled rg -A 5 -B 5 "authorIds|following.*feed|feed.*following"platforms/pictique/src/routes/(protected)/settings/+page.svelte (2)
22-37
: Excellent async state management with proper error handling.The implementation demonstrates good practices with:
- Clear loading and error states
- Proper async error handling
- Reactive updates using
$effect
Minor suggestion: Consider adding retry functionality for failed requests:
async function fetchProfile() { try { loading = true; error = null; + // Add retry logic here if needed const response = await apiClient.get(`/api/users/${ownerId}`); profile = response.data; } catch (err) { error = err instanceof Error ? err.message : 'Failed to load profile'; + console.error('Profile fetch failed:', err); } finally { loading = false; } }
77-94
: Good UI decision to disable unavailable functionality.The visual feedback with cursor and opacity changes clearly communicates that the Data & Storage feature is not available, improving user experience.
platforms/pictique-api/src/index.ts (2)
37-42
: LGTM - Proper CORS configuration for webhook support.The addition of webhook-specific headers (
X-Webhook-Signature
,X-Webhook-Timestamp
) is essential for secure webhook handling.
55-65
: Clean webhook integration with proper route organization.The webhook controller integration follows good patterns with clear separation between authenticated and public routes.
infrastructure/evault-core/src/protocol/examples/examples.ts (2)
82-82
: LGTM - Corrected typographic apostrophe.Good attention to detail in fixing the typography.
101-131
: Excellent comprehensive example for the new mutation.The example clearly demonstrates:
- Proper mutation syntax
- Input structure with all required fields
- Expected response format
- Real-world use case scenario
This provides valuable documentation for developers using the API.
services/ontology/schemas/bookmark.json (2)
3-3
: Verify the purpose ofschemaId
fieldThe
schemaId
field with a hardcoded UUID value is unusual for a JSON schema. Typically, the$id
field is used for schema identification, not a customschemaId
. Please verify if this is intentional and aligns with your schema management system.
1-39
: Schema structure looks goodThe bookmark schema is well-structured with appropriate field types and validation constraints. The use of UUID format for IDs and proper timestamp fields follows best practices.
platforms/pictique/src/lib/fragments/BottomNav/BottomNav.svelte (2)
5-7
: Good refactoring of authentication state managementThe change from direct store import to using the
getAuthId
utility function improves encapsulation and centralizes authentication state management.
10-11
: Ensure getAuthId() handles null/undefined casesThe reactive assignment
ownerId = getAuthId()
should handle cases wheregetAuthId()
might return null or undefined, especially during initialization or logout scenarios.#!/bin/bash # Description: Verify getAuthId implementation and its null handling # Check the implementation of getAuthId ast-grep --pattern 'export $_ function getAuthId($_) { $$$ }' # Also check for any TypeScript/JavaScript exports rg -A 10 'export.*getAuthId'Also applies to: 50-50
platforms/pictique/src/lib/fragments/UploadedPostView/UploadedPostView.svelte (1)
25-30
: Formatting improvements enhance readabilityThe CSS class formatting changes improve code consistency and readability without affecting functionality.
Also applies to: 33-33, 35-35
infrastructure/evault-core/src/evault.ts (1)
26-53
: Excellent refactoring to factory pattern with async initializationThe change to use a static factory method with private constructor ensures proper async initialization of the Neo4j driver with retry logic. This prevents instantiation issues and improves reliability.
infrastructure/evault-core/src/db/db.service.ts (1)
376-505
: Well-implemented update functionality with comprehensive error handlingThe
updateMetaEnvelopeById
method provides thorough handling of meta-envelope updates including:
- Proper existence checking
- Updating existing envelopes
- Creating new envelopes
- Removing obsolete envelopes
- Detailed error logging
The implementation follows good practices with try-catch blocks and descriptive error messages.
platforms/pictique/src/lib/fragments/Profile/Profile.svelte (1)
6-18
: LGTM on the props destructuring refactor.The conversion to use
$props()
with proper TypeScript typing is a good modernization of the Svelte component and improves type safety.platforms/pictique-api/src/services/ChatService.ts (2)
8-20
: LGTM on the shared event emitter implementation.Using a shared event emitter instance improves consistency across services and enables better coordination for real-time features.
312-317
: LGTM on the new findById method.The method implementation is correct and follows the existing patterns in the service.
infrastructure/web3-adapter/src/mapper/mapper.types.ts (1)
3-47
: Well-designed interfaces with comprehensive documentation.The interface definitions are clear, well-documented, and provide good type safety for the mapping operations. The
ownerEnamePath
documentation with examples is particularly helpful for understanding the nested reference syntax.platforms/pictique/src/lib/fragments/Post/Post.svelte (2)
15-15
: Excellent implementation of the ActionMenu integration.The replacement of the static menu button with the configurable
ActionMenu
component using theoptions
prop perfectly addresses the PR objective of fixing the post context menu functionality. This provides much more flexibility for different menu actions.Also applies to: 33-33, 121-121
20-20
: Good prop refinements for flexibility.Making
userId
andcount
optional, and the property name consistency improvements enhance the component's reusability and align with the broader refactoring.Also applies to: 22-22, 23-26
platforms/pictique/src/lib/utils/axios.ts (2)
34-46
: LGTM on the auth ID management functions.The new functions for managing the owner/user ID in localStorage follow the same pattern as the token management functions and provide good consistency.
6-17
: Good improvement to conditional header construction.The refactored approach to conditionally build headers only when a token exists is cleaner and avoids potential issues with undefined authorization headers.
platforms/blabsy-w3ds-auth-api/src/web3adapter/watchers/firestoreWatcher.ts (1)
29-75
: Well-structured initialization with proper error handlingThe start method correctly handles initial data loading followed by real-time listening, with appropriate concurrency control and error recovery.
platforms/pictique/src/routes/(protected)/+layout.svelte (1)
1-11
: File changes don't match PR objectivesThis file's changes involve profile fetching and heading management, but the PR objectives state this should fix the "action menu for a single post" (issue #216). The expected changes to
Post.svelte
component withoptions
prop andActionMenu
component are not present in the files under review.Please verify that the correct files are included for review or update the PR description to accurately reflect these infrastructure changes.
Likely an incorrect or invalid review comment.
infrastructure/web3-adapter/src/evault/evault.ts (1)
135-135
: Security concern with universal ACLThe ACL is hardcoded to
["*"]
which grants universal access. Is this intentional?Please confirm that universal access is the intended behavior for all stored envelopes. Consider implementing proper access control based on the w3id or other criteria.
infrastructure/web3-adapter/src/db/mapping.db.ts (1)
1-202
: PR objectives don't match the code changesThe PR objectives state this fixes a "post context menu" issue and mentions changes to
Post.svelte
component, but all the files under review are related to web3 adapter infrastructure, database mappings, and webhook controllers. This appears to be a completely different set of changes than what's described in the PR summary.Please clarify if:
- The wrong PR objectives were provided
- The wrong files were included for review
- This is actually the correct PR content
Likely an incorrect or invalid review comment.
platforms/pictique-api/src/web3adapter/watchers/subscriber.ts (1)
175-175
: Explain or remove hardcoded 2-second delaysThe code uses
setTimeout
with a hardcoded 2-second delay in multiple places. This seems like a workaround for a race condition.Why is this delay necessary? Consider:
- Using proper synchronization mechanisms
- Making the delay configurable
- Adding a comment explaining the requirement
Also applies to: 234-234
infrastructure/web3-adapter/src/mapper/mapper.ts (1)
157-161
: ```shell
#!/bin/bashDisplay contents of mapper.types to inspect IMappingConversionOptions definition
sed -n '1,200p' infrastructure/web3-adapter/src/mapper/mapper.types
</details> <details> <summary>infrastructure/eid-wallet/src/routes/(auth)/onboarding/+page.svelte (2)</summary> `1-195`: **File doesn't match PR objectives - Wrong file or PR description?** This file (`infrastructure/eid-wallet/src/routes/(auth)/onboarding/+page.svelte`) implements an onboarding flow for digital identity provisioning, but the PR objectives state this PR fixes "action menu for a single post" (issue #216). The AI summary also mentions changes to `Post.svelte` component with `options` prop and `ActionMenu`. This appears to be either: 1. The wrong file was included for review 2. The PR description/objectives are incorrect 3. Multiple unrelated changes were bundled into one PR Please clarify the actual scope of this PR. > Likely an incorrect or invalid review comment. --- `60-72`: **Verify: Is fake data generation intended for production?** The code generates fake passport numbers and user data for what appears to be a digital identity system. This raises security concerns if this is production code. Please confirm: 1. Is this demo/test code or production code? 2. Should real identity verification be implemented here? 3. Are there security implications of using fake identity data? If this is for demo purposes only, consider: - Adding clear comments indicating this is demo-only code - Adding environment checks to prevent this in production - Implementing proper identity verification for production use </details> </blockquote></details> </details> <!-- This is an auto-generated comment by CodeRabbit for review status -->
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review continued from previous batch...
9b29cd7
to
919d044
Compare
* fix: post-context-menu * fix: user id with post * fix: removed redundant code * fix: images * fix: profile data * fix: profile data * fix: image cover * fix: logout
* initial commit * chore: add w3id readme (#3) * chore: add w3id readme * chore: bold text * chore: better formatting * docs: add w3id details * chore: format * chore: add links * fix: id spec considerations addressal (#8) * fix: id spec considerations addressal * fix: identity -> indentifier * chore: expand on trust list based recovery * chore: expand on AKA --------- Co-authored-by: Merul Dhiman <[email protected]> * Docs/eid wallet (#10) * chore: add eid-wallet folder * chore: add eid wallet docs * feat: add (#9) * feat(w3id): basic setup (#11) * feat(w3id): basic setup * fix(root): add infrastructure workspaces * update: lock file * feat(eidw): setup tauri (#40) * Feat/setup daisyui (#46) * feat: setup-daisyui * fix: index file * feat: colors added * feat: Archivo font added * fix: postcss added * fix: +layout.svelte file added * fix: packages * fix: fully migrating to tailwind v4 * feat: add Archivo font * feat: add danger colors * feat: twmerge and clsx added * feat: shadcn function added --------- Co-authored-by: Bekiboo <[email protected]> Co-authored-by: Julien <[email protected]> * feat: add storybook (#45) * feat: add storybook * update: lockfile * feat: created connection button (#48) * created connection button * added restprops to parent class * added onClick btn and storybook * fix: make font work in storybook (#54) * Feat/header (#55) * feat: add icons lib * fix: make font work in storybook * feat: Header * feat: runtime global added, icon library created, icons added, type file added * feat: header props added * fix: remove icons and type file as we are using lib for icons * fix: heading style * fix: color and icons, git merge branch 51, 54 * fix: color * fix: header-styling * fix: classes * chore: handlers added * chore: handlers added * fix: added heading --------- Co-authored-by: Soham Jaiswal <[email protected]> * Alternative w3id diagram (#52) * Feat/cupertino pane (#49) * feat: Drawer * feat: Drawer and added a function for clickoutside in utils * fix: classes * fix: drawer button position * fix: style and clickoutside * fix: pane height * fix: border-radius * fix: drawer as bulletin * fix: styling * fix: component with inbuilt features * fix: remove redundant code * fix: remove redundant code * fix: cancel button * fix: css in storybook * fix: position * fix: height of pane * fix: remove redundant code * feat: add button action component (#47) * feat: add button action component * fix: add correct weights to Archivo fontt * feat: add base button * fix: set prop classes last * feat: improve loading state * chore: cleanup * feat: add button action component * fix: add correct weights to Archivo fontt * feat: add base button * fix: set prop classes last * feat: improve loading state * chore: cleanup * chore: add documentation * fix: configure Storybook * chore: storybook gunk removal * feat: enhance ButtonAction component with type prop and better error handling --------- Co-authored-by: JulienAuvo <[email protected]> * Feat/splash screen (#63) * feat: SplashScreen * fix: remove redundant code * fix: as per given suggestion * fix: font-size * fix: logo * feat: input-pin (#56) * feat: input-pin * fix: styling as per our design * fix: added small variant * fix: hide pin on select * fix: gap between pins * fix: color of focus state * fix: removed legacy code and also fix some css to tailwind css * fix: css * fix: optional props * feat: added color variants * Feat/improve button component (#60) * feat: add white variant * feat: add small variant * chore: update doc and story for button * chore: rename cb into callback * update: improve small size * update: modify loading style * fix: return getAbsolutePath function to storybook (#58) Co-authored-by: Bekiboo <[email protected]> * feat: add selector component (#59) * feat: add selector component * feat: improve selector + add flag-icon lib * feat: improve selector + doc * feat: add utility function to get language with country name * feat: test page for language selectors * chore: add Selector Story * chore: clean test page * fix: types * fix: normalize custom tailwind colors (#71) * feat: workflows (#64) * feat: workflows * fix: node version * fix: use pnpm 10 * fix: check message * Fix/codebase linting (#73) * fix: Check Lint / lint * fix: Check Lint / lint * fix: Check Lint / lint * fix: Check Lint / lint * fix: Check Code / lint * fix: Check Format / lint * fix: Check Code / lint * fix: Check Format / lint * fix: Check Code / lint * fix: Check Format / lint * fix: Check Code / lint * fix: Check Code / lint * fix: Check Format / lint * fix: unknown property warning * fix: unknown property warning * chore: improve args type * settings nav button :) (#75) * setting bav button all done :) * lint fixski * added component to index.ts * Feat/#32 identity card fragment (#74) * identity card * identity card * lint fixski * lint fixski * lint fixski * fixed the font weight * added component to index.ts * changed span to buttton * feat: add icon button component (#68) * feat: add icon button component * feat: finish up buttonIcon + stories * fix: update with new color naming * feat: polish button icon (and button action too) * chore: format lint * chore: sort imports * chore: format, not sure why * Feat/onboarding flow (#67) * feat: onboarding-page * fix: line height and added handlers * fix: button variant * fix: text-decoration * fix: subtext * fix: underline * fix: padding and button spacing * fix: according to design update * feat: Drawer * feat: verify-pae * fix: verify-page styling * feat: drawer for both confirm pin and add bio metrics added * feat: modal added in fragments * fix: icons and flow * feat: Identifier Card * fix: copy to clipboard * feat: e-passport page * fix: error state * fix: colors * fix: lint error * fix: lint * feat: Typography * fix: typograpy * fix: as per given suggestion * fix: font-sizing * fix: identity card implementation * fix: spacing * fix: padding * fix: padding and spacing * fix: splashscreen * fix: error state * fix: styling to avoid * fix:typo * Fix/remove daisyui (#82) * refactoring: remove DaisyUI + refactor some tailwind classes and logic * refactoring: remove DaisyUI + refactor some tailwind classes and logic * feat: add Button.Nav (#77) * feat: add Button.Nav * chore: format * chore: sort imports * update: remove unused snippet and add missing props * feat: stick to fragment definition * update: documentation * fix: stories * chore: sort imports * Feat/splashscreen animation (#81) * feat: add animation to splashScreen * feat: implement data loading logic with splash screen delay * chore: sort import * update: use ButtonIcon is IdentityCard (#78) * update: use ButtonIcon is IdentityCard * feat: refactor ButtonIcon to be used anywhere in the app * chore: format indent * chore: remove useless change * feat: setup safe area (#80) * feat: setup safe area * chore: simplify implementation * chore: format * Feat/uuidv5 generation (#61) * feat: setup uuidv5 * chore: add test for deterministic UUID * feat: add Hero fragment (#88) * feat: add Hero fragment * chore: sort imports + add doc * feat: add storage specification abstract class (#92) * feat: add storage specification abstract class * chore: format and ignore lint * chore: change format checker on w3id * feat: settings-flow (#86) * feat: settings-flow * feat: settings and language page * feat : history page * feat: change pin page * fix: height of selector * fix: pin change page * fix: size of input pin * fix: spacing of pins * feat: AppNav fragment * fix: height of page * fix: padding * fix: remove redundant code * feat: privacy page * chore: add doc * fix: error state * feat: remove redundant code * chore: used app nav component --------- Co-authored-by: JulienAuvo <[email protected]> * feat: AppNav fragment (#90) * feat: AppNav fragment * chore: add doc * feat: Main page flow (#93) * feat: create root page + layout * feat: complete main page flow beta * chore: fix ts block * chore: sort imports * feat: integrate-flows (#94) * feat: intigrate-flows * fix: spacing in e-passport page * fix: page connectivity * feat: app page transitions * fix: z index * fix: pages * fix: view transition effect on splashscreen * fix: drawer pill and cancel button removed * fix: share button removed when onboarding * fix: remove share and view button when on onboarding flow * fix: remove view button * fix: ci checks * fix: transitions * fix: transititon according to direction * fix: lint error * fix: loop holes * Feat/w3id log generation (#98) * chore: create basic log generation mechanism * chore: add hashing utility function * chore: rotation event * feat: genesis entry * feat: generalize hash function * feat: append entry * chore: basic tests * chore: add tests for rotation * feat: add malform throws * chore: add the right errors * chore: fix CI stuff * chore: add missing file * chore: fix event type enum * chore: format * feat: add proper error * chore: format * chore: remove eventtypes enum * chore: add new error for bad options * chore: add options tests * feat: add codec tests * fix: err handling && jsdoc * fix: run format * fix: remove unused import * fix: improve default error messages * fix: move redundant logic to function * fix: run format * fix: type shadow * fix: useless conversion/cast * fix: run format --------- Co-authored-by: Soham Jaiswal <[email protected]> * Feat/core id creation logic (#99) * feat: create w3id builder * fix: w3id builder * feat: add global config var for w3id * chore: add docs * chore: change rand to crng * chore: add ts type again * chore: fix lint and format * chore: add w3id tests github workflow * Feat/evault core (#100) * feat: migrate neo4j * chore: envelope logic works * chore: envelope logic works * feat: parsed envelopes search * feat: generics * feat: protocol * feat: jwt sigs in w3id * chore: stuff works * chore: tests for evault core * chore: format * chore: fix test * Feat/docker compose and docs (#101) * chore: stash dockerfile progress * fix: getEnvelopesByOntology thing * chore: fix tests * Update infrastructure/evault-core/src/protocol/vault-access-guard.ts Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: remove unused import * chore: remove package * chore: fix pnpm lock * chore: fix workflow * chore: fix port in dockerfile --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Feat/registry and evault provisioning (#106) * feat: evault provisioning * chore: fianlly fixed provisioner * feat: add logic for metadata in consul * feat: registry * chore: format * Feat/watchers logs (#114) * feat: alloc according to entropy and namespace * chore: move exports * chore: docs * feat: `whois` endpoint * feat: watcher endpoints * chore: fix format and lint * chore: fix tests * feat: web3 adapter (#115) * feat: tauri plugins setup (#97) * feat: tauri plugins setup * fix: add editorconfig * fix: add missing biome json * fix: run formatter * feat: biometry homework * feat: add pin set logic * feat: add biometric enabling logic * fix: sec controller qol * feat: stub user controller * fix: run format && lint * fix: sort imports * fix: import statement sort * feat: user controller * feat: pin flow * feat: biometrics unavailable * fix: pin input not working * feat: make checks pass * fix: scan works * fix: actions * feat: format on save * fix: coderabbit suggestions * chore: run format lint check * fix: scan on decline too * feat: documentation links (#117) * feat: bad namespace test (#116) * fix: layouts (#119) * fix: layouts * fix: Onboarding page scroll fixed * fix: page layout and prevent from scroll in all devices * fix: pages layout * chore: try to fix emulator * fix: units * fix: safezones for ios * fix: styling --------- Co-authored-by: Soham Jaiswal <[email protected]> * feat: setup-metagram (#121) * feat: setup-metagram * chore: tailwind css worked * feat: fonts added * feat: typography * fix: removed stories and fixed setup for icons lib * feat: icons and story file * fix: type of args in story * fix: lint errors * feat: colors added * feat: Button * fix: format and lint * fix: colors * fix: spinner * fix: code rebbit suggestions * fix: code rebbit suggestions * fix: paraglide removed * fix: lock file * feat: added user avatar. (#130) * feat: Button (#129) * feat: Button * fix: colors of variants * feat: Input (#131) * feat: Input * feat: styling added * fix: styling * fix: styling * fix: added a new story * fix: focus states * fix: input states * Feat/settings navigation button (#140) * feat: settings-navigation-button * fix: handler added * chore: another variant added * fix: as per given suggestion * feat: BottomNav (#132) * feat: BottomNav * fix: icons * feat: profile icons created * feat: handler added * feat: handler added * fix: correct tags * fix: as per given suggestion, bottomnav moved to fragments and also implemented on page * fix: handler * chore: routes added * feat: app transitions added * fix: direction of transition * fix: transition css * fix: directionable transition * fix: used button instead of label, and used page from state * feat: added post fragment. (#137) * feat: FileInput (#150) * feat: FileInput * fix: added icon * feat: cancel upload * fix: remove redundant code * fix: usage docs added and as per requirements ' * fix: moved to framents * feat: Toggle Switch (#143) * feat: Toggle Switch * feat: Toggle Switch * fix: as per our design * fix: as per our design * feat: Label (#146) * feat: Select (#148) * feat: Select * fix: as per our design * fix: code format and as per svelte 5 * fix: font-size * fix: font-size * fix: icon * feat: message-input (#144) * feat: message-input * fix: classes merge and a files as a prop * feat: variant added * feat: icon replaced * fix: as per code rabbit suggestions * fix: icon * fix: input file button * fix: as per suggestion * fix: classes * fix: no need of error and disabled classes * fix: input * feat: invalid inputs * feat: add number input storybook --------- Co-authored-by: Soham Jaiswal <[email protected]> * feat:Drawer (#152) * feat:Drawer * feat: Drawer with clickoutside * fix: settings * Feat/metagram header (#133) * feat: added metagram header primary linear gradient. * feat: added flash icon. * feat: added secondary state of header. * feat: added secondary state of header with menu. * chore: cleaned some code. * docs: updated component docs. --------- Co-authored-by: SoSweetHam <[email protected]> * Feat/metagram message (#135) * feat: added metagram message component. * feat: added both states of message component. * docs: added usage docs. * chore: exposed component from ui. * fix: component -> fragement --------- Co-authored-by: SoSweetHam <[email protected]> * feat: modal (#154) * fix: styling of modal * fix: modal props * fix: conflicting styles * fix: styles of drawer * fix: hide scrollbar in drawer * fix: padding * fix: used native method for dismissing of drawer * feat: Context-Menu (#156) * feat: Context-Menu * fix: name of component * fix: as per suggestion * fix: action menu position * fix: class * feat: responsive-setup (#157) * feat: responsive-setup * fix: background color * fix: added font fmaily * feat: responsive setup for mobile and desktop (#159) * feat: responsive setup for mobile and desktop * fix: width of sidebar and rightaside * fix: responsive layout * feat: SideBar * fix: added some finishing touches to sidebar and button * fix: prevent pages transition on desktop * fix: icon center * feat: settings page and icon added * feat/layout-enhancement (#168) * feat/infinite-scroll (#170) * feat/infinite-scroll * fix: aspect ratio of post * fix: bottom nav background * settings page (#169) * settings page layout done * settings page layout done * formt fix * format fix * format fix * routing for settings page fixed * settings page buttons * merge conflict * settings page tertiary pages * settings pages all done * settings pages unnecessary page deleted * requested changes done * requested changes done * Feat/comments pane (#171) * feat/comments-pane * fix: overflow and drawer swipe * feat: Comment fragment * fix: comments added * fix: comment fragment * feat: Comments reply * fix: message input position * fix: post type shifted to types file * fix: one level deep only * fix: drawer should only be render on mobile * fix: comments on layout page * fix: format * feat: messages (#174) * feat: messages * feat: ChatMessae * feat: messages by id * fix: messages page * fix: icon name * fix: hide bottom nav for chat * fix: header * fix: message bubble * fix: message bubble * fix: message bubble * fix: as per suggestion * fix: messaging * chore: change from nomad to k8s (#179) * chore: change from nomad to k8s * Update infrastructure/eid-wallet/src/routes/+layout.svelte Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: uri extraction * feat: regitry stuff * feat: registry using local db * 📝 Add docstrings to `feat/switch-to-k8s` (#181) Docstrings generation was requested by @coodos. * #179 (comment) The following files were modified: * `infrastructure/evault-provisioner/src/templates/evault.nomad.ts` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: format --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: make scan qr page work again (#185) * feat: Discover Page (#180) * refactor/Post (#186) * refactor/Post * fix: format and lint * fix: added dots for gallery * fix: added dots for gallery * fix: added dots for gallery * fix: plural name * feat: splash-screen (#187) * Feat/evault provisioning via phone (#188) * feat: eid wallet basic ui for verification * chore: evault provisioning * feat: working wallet with provisioning * feat: restrict people on dupes * 📝 Add docstrings to `feat/evault-provisioning-via-phone` (#189) Docstrings generation was requested by @coodos. * #188 (comment) The following files were modified: * `infrastructure/eid-wallet/src/lib/utils/capitalize.ts` * `infrastructure/evault-provisioner/src/utils/hmac.ts` Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: added uploaded post view component. (#182) * feat: added uploaded post view component. * fix: fixed the outline and color. * fix: moved function to external definition. * fix: fixed the restProps. * profile page (#178) * basic layout for profile page * fixed alt text * merge conflict * profile page for other users implemented * fix: profile pages and logics * fixed all the pages of profile * fixed all the pages of profile * fix: format --------- Co-authored-by: gourav <[email protected]> * Feat/radio input (#176) * feat: added a radio button custom * docs: added name option in docs. * chore: cleaned the unnecessary classes and variables for input type radio. * fix: moved input radio to its own component. * fix: keydown events added. * feat: added settings tile component. (#184) * feat: added settings tile component. * chore: fixed the naming convention * chore: renamed callback to onclick * fix: fixed the use of restProps * fix: fixed the unnecessary onclick expose. * fix: fixed the join function params. * Feat/textarea (#194) * chore: removed redundant radio * feat: added textarea. * fix: tabindex * fix: removed type inconsitency. * Feat/mobile upload flow (#193) * fix: header logic in secondary * fix: fixed the text in header in post * feat: trying some hack to get file image input. * feat: added image input on clicking the post bottom nav * chore: got rid of non-required code. * feat: added the logic to get the images from user on clicking post tab. * feat: added store. * feat: added correct conversion of files. * feat: added the correct display of image when uploading. * feat: added settings tile to the post page and fixed the settingsTile component type of currentStatus * feat: added hte correct header for the audience page. * fix: fixed the page transition not happening to audience page. * feat: added audience setting * feat: added store to audience. * chore: removed console log * feat: added post button. * feat: correct button placement * fix: horizontal scroll * fix: positioning of the post button. * fix: protecting post route when no image is selected. * fix: improved type saftey * feat: added memory helper function * feat: added memory cleanup. * Feat/social media platforms (#195) * chore: this part works now wooohooo * chore: stash progress * chore: stash progress * chore: init message data models * feat: different socials * chore: blabsy ready for redesign * Feat/social media platforms (#196) * chore: this part works now wooohooo * chore: stash progress * chore: stash progress * chore: init message data models * feat: different socials * chore: blabsy ready for redesign * chore: add other socials * Feat/blabsy add clone (#198) * chore: clone twitter * feat: custom auth with firebase using w3ds * chore: add chat * feat: chat works with sync * feat: twittex * feat: global schemas * feat: blabsy adapter * refactor: shift some text messages to work on blabsy (#199) * chore: stash progress * chore: stash adapters * chore: stash working extractor * feat: adapter working properly for translating to global with globalIDs * feat: adapter toGlobal pristine * chore: stash * feat: adapter working * chore: stash until global translation from pictique * feat: bi-directional sync prestino * feat: bidir adapters * chore: login redir * chore: swap out for sqlite3 * chore: swap out for sqlite3 * chore: server conf * feat: messages one way * feat: ready to deploy * feat: ready to deploy * chore: auth thing pictique * chore: set adapter to node * chore: fix auth token thingy * chore: auth thing * chore: fix auth token thingy * chore: port for blabsy * feat: provision stuff * feat: provision * feat: provision * feat: provision * chore: fix sync * feat: temporary id thing * chore: android * chore: fix mapper sync * chore: fallback * feat: add error handling on stores * feat: fix issue with posts * chore: fix retry loop * Fix/author details (#229) * fix: author-details * fix: owner-details * fix: author avatar * fix: auth user avatar * fix: error handling * fix: author image in bottom nav --------- Co-authored-by: Merul Dhiman <[email protected]> * Fix/change name (#228) * fix: corrected the name to blabsy * fix: extra shit comming. * fix: fixed the alignment of the display in more to look more like current twitter. * fix: avatars (#226) * fix: avatars * fix: avatar in follow request page * fix: images uploaded shown in user profile * fix: button size * fix: avatar --------- Co-authored-by: Merul Dhiman <[email protected]> * chore: temp fix sync * chore: stash progress * Fix/post context menu (#231) * fix: post-context-menu * fix: user id with post * fix: removed redundant code * fix: images * fix: profile data * fix: profile data * fix: image cover * fix: logout * Fix/wallet text (#234) * changed text as per the request and fixed styling on pages with useless scroll * added settings button in main page which went missing somehow * fix: consistent padding * chore: change tags * feat: change icon * feat: webhook dynamic registry * feat: make camera permission work properlyh * chore: removed all locking mechanism thing from platforms * feat: synchronization works perfectly * feat: fixed everything up * feat: changes * chore: stats fix * chore: fix pictique visual issues * chore: fix cosmetic name issue * feat: fix sync issue * chore: fix logical issue here * chore: add qrcode ename * feat: add packages (#235) * feat: add packages * feat: add sample funcs + docs * fixed the filled color on like icon for liked post (#239) * feat: fake passport name * feat: double confirmation * chore: fix pictique login issue * fix: make no user case redir to login * fix: issues with wallet --------- Co-authored-by: Soham Jaiswal <[email protected]> Co-authored-by: SoSweetHam <[email protected]> Co-authored-by: Gourav Saini <[email protected]> Co-authored-by: Bekiboo <[email protected]> Co-authored-by: Julien <[email protected]> Co-authored-by: Ananya Rana <[email protected]> Co-authored-by: Sergey <[email protected]> Co-authored-by: Julien Connault <[email protected]> Co-authored-by: Ananya Rana <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Sahil Garg <[email protected]> Co-authored-by: Sahil Garg <[email protected]>
Description of change
Issue Number
closes #216
closes #221
Type of change
How the change has been tested
CI and Manual
Change checklist
Summary by CodeRabbit
New Features
Bug Fixes
Refactor
Chores
Documentation
Tests