🎯 Feature Request: Device Support for Profiles
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- typescript
- 領域
- analytics, full-stack
調査の方向性
既存のProfiles実装と、プロファイル間の関係がどのように表現されているかを確認することから始めます。第一級のDeviceエンティティ、プロファイルとデバイスの関係、および提案されているProfiles UIとプロファイル詳細UIへの統合の範囲を定義します。合意されたデバイスデータと関連付けが該当するインターフェースに表現され、見つけられる状態になっており、オプションの拡張が別途扱われていれば完了です。
索引モデルが issue の本文から書いたものです。
説明
📌 Summary
We are actively using Openpanel in our product analytics infrastructure. While the Profiles feature is already quite powerful, it lacks a native representation for Devices — a critical component in multi-device environments such as mobile and desktop apps.
⸻
🚨 Problem
Currently, a Profile in Openpanel does not distinguish between different devices used by the same person. In real-world scenarios:
• A single Profile may interact with the system from multiple devices (e.g., phone, tablet, laptop).
• A single Device may be shared across multiple profiles (e.g., shared tablet or kiosk).
This missing granularity leads to limited tracking accuracy, especially for cross-device attribution, session mapping, and identity resolution.
⸻
✅ Proposed Solution
Introduce a first-class Device entity, related to Profiles, with the following structure:
Device { id: string, fingerprint: string, userAgent: string, platform: string, // iOS, Android, macOS, Windows, Web createdAt: datetime, updatedAt: datetime, profiles: [ProfileID] }
Each Profile can then be linked to one or more Devices, and each Device can be linked to one or more Profiles.
⸻
🔍 Key Benefits
• Enables cross-device session tracking
• Improves user journey visualization
• Supports per-device engagement analytics
• Enables fraud detection (e.g., multiple accounts from same device)
• Prepares the system for deeper identity graphs
⸻
🔧 Suggested UI Integration
• Under the Profiles section, add a Devices tab.
• On the left menu (as shown in the screenshot), consider adding a “Devices” section under or near “Profiles”.
• On a specific profile detail page, display a list of associated devices and their metadata.
⸻
🧠 Optional Enhancements
• Device fingerprinting integration (e.g., FingerprintJS)
• Device location history
• Session-based device usage logs
- 主要言語
- TypeScript
- スター
- 7.1k
- フォーク
- 500
- 平均マージ
- 7日 2時間
- マージ済み PR(30日)
- 7
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Openpanel-dev/openpanel のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
Openpanel-dev/openpanel#532 ·
メンテナーはふだん 1 日以内に返信
-
Period comparison badge shows wrong percentage for decreases (100 → 50 shows ↓100%)対応中かも @sarmah-rup が 8 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
Openpanel-dev/openpanel#526 ·
メンテナーはふだん 1 日以内に返信
-
Self-hosted missing op1-replay.js対応中かも @houstona が 8 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
Openpanel-dev/openpanel#512 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
login page needs refinement対応中かも @anandghegde が 23 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
Openpanel-dev/openpanel#495 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
Openpanel-dev/openpanel#528 ·
メンテナーはふだん 1 日以内に返信
Openpanel-dev/openpanel の issue をすべて見る
似ている issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
[Bug] remember() with special characters in namespace hangs until timeout instead of returning 400オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
MystenLabs/MemWal#1133 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug user-priority/P2
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1時間未満 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
Effect-TS/effect#8881 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信