objectbox / objectbox/objectbox-java

ObjectBrowser: not possible to add filter based on relation-ID

オープン
#1,057 コメント 2 件 リアクション 2 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

enhancement
主要言語
Java
スター
4.6k
フォーク
311
PR マージ指標
30日以内にマージされた PR はありません

説明

🚨 First, please check:

  • existing issues,

As far as I searched the open and closed issues with keyword "browser", I couldn't find anything related.

Curiously, I couldn't find anything in the docs about the ObjectBrowsers' usage and setup (aside of the changelog), is it deprecated now?

This page gives me a 500-code page right now...

The FAQ doesn't mention usage of the objectbrowser

Describe the bug
If I try to filter the data in the objectbrowser for an Entity that is participating as a target in an ToMany-relation, the objectbrowser-filter feature does not let me choose any operators for the ID-property for the ToOne-backlink.

Basic info (please complete the following information):

  • ObjectBox version (are you using the latest version?): 3.1.2 on a fresh test-project
  • Reproducibility: always
  • Device: Galaxy S20 FE (does not seem related to execution of this specific bug in ObjectBrowser)
  • OS: Android 12

To Reproduce
Steps to reproduce the behavior:

  1. Extract the attached demo-project objectboxtest.zip
  2. Open the project in Android Studio
  3. Compile and start the app on an emulator or device
  4. Leave the app open
  5. On the terminal, execute command adb forward tcp:8090 tcp:8090
  6. On the desktop, open a browser and open objectbrowser at http://localhost:8090/#/data/Login/page-1
  7. Add a filter for the Login-table
  8. As the filtered property, select userId
  9. Try to select the operator, but only choice from the popup is No data available
  10. No dice!

Expected behavior
As the property userId is a Long, I would expect the operator-popup to give me at least the choice to select = to filter the table for specific rows, so that I can filter a longer list of data for specific items.

Code
If applicable, add code to help explain your problem.

  • Include affected entity classes.
  • Please remove any unnecessary or confidential parts.
  • At best, link to or attach a project with a failing test.

objectboxtest.zip

Logs, stack traces
If applicable, add relevant logs, or a stack trace.

  • For build issues, use --stacktrace for the Gradle build (./gradlew build --stacktrace).
  • For runtime errors, check Android's Logcat (also check logs before the issue!).

There are no build-issues or runtime-errors to be observed. Even the objectbrowser does not issue any warnings at any time.

Additional context
Add any other context about the problem here.

  • Is there anything special about your app?

The only special thing about this might be the use-case for the filtering-feature in the objectbrowser.
Otherwise, it is a very simple demo-setup according to the Get-Started-docs (aside from the objectbrowser-setup, which I had to derive from my real app-project, since I couldn't find any setup-docs for it anymore).

  • May transactions or multi-threading play a role?

Nothing of the like is used here.

  • Did you find any workarounds to prevent the issue?

I tried the workaround mentioned here to being able to filter data with the userId in the objectbrowser, but sadly it didn't make any difference.

It would be really nice to be able to filter specific dependent data from relations in the objectbrowser, as long as a dedicated relations-browser feature is missing.

Thank you for your support!

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

添付された objectboxtest.zip を使用し、アプリを起動して、adb forward tcp:8090 tcp:8090 を実行し、ObjectBrowser URL でフィルターを再現してください。userId のリレーション ID に対する ObjectBrowser のフィルター動作を調査してください。オペレーターポップアップに = が表示され、関連する行がフィルタリングされれば完了です。必要に応じて、関連するセットアップを文書化してください。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
android, java
領域
databases, mobile-dev
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。