Skip to content
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

Sync: Fix query.get_description() to work with unicode symbols #6350

Closed
sync-by-unito bot opened this issue Mar 1, 2023 · 0 comments · Fixed by #6353
Closed

Sync: Fix query.get_description() to work with unicode symbols #6350

sync-by-unito bot opened this issue Mar 1, 2023 · 0 comments · Fixed by #6353
Assignees

Comments

@sync-by-unito
Copy link

sync-by-unito bot commented Mar 1, 2023

Actual:

Creating subscriptions with queries having unicode parameters causes a server error:
【 highlighted #de350b 】query from client: "{"Product":"(stringQueryField BEGINSWITH B64\"2KzZhdi52Kpz\" )"}" could not be parsed: unsupported query for table "Product": can't use BEGINSWITH operator on a non-string constant (ProtocolErrorCode=300)【 end highlighted 】
Generated query is:

Query:{
  "Product": "(stringQueryField BEGINSWITH B64\"2KzZhdi52Kpz\" )"
} 

This is because the base64 encoding in {}serializer.cpp{}: https://github.com/realm/realm-core/blob/master/src/realm/util/serializer.cpp#L116

Expected:

The query should be generated without base64 encoding like this:

Query:
{
  "Product": "(stringQueryField BEGINSWITH \"جمعتs\" )"
} 

Note: The issue is reproduced for queries with BEGINSWITH and CONTAINS, but it should be fixed for all the queries.

cbush pushed a commit to mongodb/docs-realm that referenced this issue Apr 27, 2023
<h3>Snyk has created this PR to upgrade realm from 11.5.2 to
11.6.0.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.
<hr/>

- The recommended version is **1 version** ahead of your current
version.
- The recommended version was released **22 days ago**, on 2023-03-23.


<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>realm</b></summary>
    <ul>
      <li>
<b>11.6.0</b> - <a
href="https://snyk.io/redirect/github/realm/realm-js/releases/tag/v11.6.0">2023-03-23</a></br><h3>Enhancements</h3>
<ul>
<li>Added configuration option <code>App.baseFilePath</code> which
controls where synced Realms and metadata is stored.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix type error when using <code>realm.create</code> in combination
with class base models. (since v11.0.0)</li>
</ul>
<h3>Compatibility</h3>
<ul>
<li>React Native &gt;= v0.71.0</li>
<li>Realm Studio v13.0.0.</li>
<li>File format: generates Realms with format v23 (reads and upgrades
file format v5 or later for non-synced Realm, upgrades file format v10
or later for synced Realms).</li>
</ul>
<h3>Internal</h3>



<ul>
<li>Test</li>
</ul>
      </li>
      <li>
<b>11.5.2</b> - <a
href="https://snyk.io/redirect/github/realm/realm-js/releases/tag/v11.5.2">2023-03-16</a></br><h3>Fixed</h3>
<ul>
<li>Suppress omitting <code>objcMsgsend</code> stubs to ensure backward
compatibility with Xcode 13. It can be observed as <code>Undefined
symbols for architecture arm64: "_objc_msgSend$allBundles", referenced
from: realm::copy_bundled_realm_files() in
librealm-js-ios.a(platform.o)</code> when using a React Native app for
iOS. (<a
href="https://snyk.io/redirect/github/realm/realm-js/issues/5511"
data-hovercard-type="issue"
data-hovercard-url="/realm/realm-js/issues/5511/hovercard">#5511</a>,
since v11.5.1)</li>
<li>It is not allowed to specify
<code>deleteRealmIfMigrationIsNeeded</code> and sync. This can lead to
error messages like <code>Schema validation failed due to the following
errors</code>. (<a
href="https://snyk.io/redirect/github/realm/realm-js/issues/5548"
data-hovercard-type="issue"
data-hovercard-url="/realm/realm-js/issues/5548/hovercard">#5548</a>,
v10.12.0)</li>
<li>Installation will no longer hang when using Node 19. (<a
href="https://snyk.io/redirect/github/realm/realm-js/issues/5136"
data-hovercard-type="issue"
data-hovercard-url="/realm/realm-js/issues/5136/hovercard">#5136</a>,
since v10.13.0)</li>
<li>Fixed enums which was accidentally exported on the
<code>Realm</code> namespace without a backing implementation. (<a
href="https://snyk.io/redirect/github/realm/realm-js/pull/5493"
data-hovercard-type="pull_request"
data-hovercard-url="/realm/realm-js/pull/5493/hovercard">#5493</a>,
since v11.0.0)</li>
<li>Converting local Realm to synced Realm crashes if an embedded object
is null. (<a
href="https://snyk.io/redirect/github/realm/realm-js/issues/5389"
data-hovercard-type="issue"
data-hovercard-url="/realm/realm-js/issues/5389/hovercard">#5389</a>,
since v10.13.0)</li>
<li>Fixed performance degradation on subqueries. (<a
href="https://snyk.io/redirect/github/realm/realm-core/issues/6327"
data-hovercard-type="issue"
data-hovercard-url="/realm/realm-core/issues/6327/hovercard">realm/realm-core#6327</a>,
since v6.0.0)</li>
<li>Fixed crash if secure transport returns an error with a non-zero
length. It can be observed as <code>Reading failed: Premature end of
input</code> in the log. (<a
href="https://snyk.io/redirect/github/realm/realm-core/issues/5435"
data-hovercard-type="issue"
data-hovercard-url="/realm/realm-core/issues/5435/hovercard">realm/realm-core#5435</a>,
since v10.0.0)</li>
<li>Creating subscriptions with queries having Unicode parameters causes
a server error e.g., <code>query from client:
"{"Product":"(stringQueryField BEGINSWITH B64\"2KzZhdi52Kpz\" )"}" could
not be parsed</code>. (<a
href="https://snyk.io/redirect/github/realm/realm-core/issues/6350"
data-hovercard-type="issue"
data-hovercard-url="/realm/realm-core/issues/6350/hovercard">realm/realm-core#6350</a>,
since v10.11.0)</li>
</ul>
<h3>Compatibility</h3>
<ul>
<li>React Native &gt;= v0.71.0</li>
<li>Atlas App Services.</li>
<li>Realm Studio v13.0.0.</li>
<li>File format: generates Realms with format v23 (reads and upgrades
file format v5 or later for non-synced Realm, upgrades file format v10
or later for synced Realms).</li>
</ul>
<h3>Internal</h3>
<ul>
<li>Upgraded Realm Core from v13.4.2 to v13.6.0. (<a
href="https://snyk.io/redirect/github/realm/realm-js/issues/5495"
data-hovercard-type="issue"
data-hovercard-url="/realm/realm-js/issues/5495/hovercard">#5495</a>)</li>
<li>All exceptions thrown out of Realm Core are now of type
<code>Exception</code>.</li>
</ul>
      </li>
    </ul>
from <a
href="https://snyk.io/redirect/github/realm/realm-js/releases">realm
GitHub release notes</a>
  </details>
</details>


<details>
  <summary><b>Commit messages</b></summary>
  </br>
  <details>
    <summary>Package name: <b>realm</b></summary>
    <ul>
<li><a
href="https://snyk.io/redirect/github/realm/realm-js/commit/5196e76d65c5faffa4246daeb3683ac6d0d17b35">5196e76</a>
[11.6.0] Bump version</li>
<li><a
href="https://snyk.io/redirect/github/realm/realm-js/commit/430afad55f3883c210449470788b93cc7dc41cd0">430afad</a>
Expose baseFilePath on App configuration (#5572)</li>
<li><a
href="https://snyk.io/redirect/github/realm/realm-js/commit/22977eaf83d21acec6200f636f75e2c99d365085">22977ea</a>
Fix Create Call Signature (#5617)</li>
<li><a
href="https://snyk.io/redirect/github/realm/realm-js/commit/832fd6a03d30123e047996005c6c1fc812653048">832fd6a</a>
Reenable all tests (#5606)</li>
<li><a
href="https://snyk.io/redirect/github/realm/realm-js/commit/b7245b3c60305baee7a22c35857c71de4fb407ff">b7245b3</a>
Disable ccache for node builds (#5602)</li>
<li><a
href="https://snyk.io/redirect/github/realm/realm-js/commit/bf629d375370285c8870b025c704b8a65b008c4f">bf629d3</a>
Prepare for vNext (#5567)</li>
<li><a
href="https://snyk.io/redirect/github/realm/realm-js/commit/46711a59419a87c8a3bf973d155ff8fe9a12818c">46711a5</a>
Prepare for 11.5.2 (#5560)</li>
    </ul>

<a
href="https://snyk.io/redirect/github/realm/realm-js/compare/d401cbeb41e76d42a45ba5dd4dc0b26eb71cbb9c...5196e76d65c5faffa4246daeb3683ac6d0d17b35">Compare</a>
  </details>
</details>
<hr/>

**Note:** *You are seeing this because you or someone else with access
to this repository has authorized Snyk to open upgrade PRs.*

For more information: <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiJiYmYyNzYyNS0wZWU5LTQ2MDEtODU2MS00Y2Y4YmY2ZGY0MmYiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6ImJiZjI3NjI1LTBlZTktNDYwMS04NTYxLTRjZjhiZjZkZjQyZiJ9fQ=="
width="0" height="0"/>

🧐 [View latest project
report](https://app.snyk.io/org/sandbox-2ba/project/852e6e4f-be96-45c8-b370-1060f5ebee55?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🛠 [Adjust upgrade PR
settings](https://app.snyk.io/org/sandbox-2ba/project/852e6e4f-be96-45c8-b370-1060f5ebee55/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.snyk.io/org/sandbox-2ba/project/852e6e4f-be96-45c8-b370-1060f5ebee55/settings/integration?pkg&#x3D;realm&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

<!---
(snyk:metadata:{"prId":"bbf27625-0ee9-4601-8561-4cf8bf6df42f","prPublicId":"bbf27625-0ee9-4601-8561-4cf8bf6df42f","dependencies":[{"name":"realm","from":"11.5.2","to":"11.6.0"}],"packageManager":"npm","type":"auto","projectUrl":"https://app.snyk.io/org/sandbox-2ba/project/852e6e4f-be96-45c8-b370-1060f5ebee55?utm_source=github&utm_medium=referral&page=upgrade-pr","projectPublicId":"852e6e4f-be96-45c8-b370-1060f5ebee55","env":"prod","prType":"upgrade","vulns":[],"issuesToFix":[],"upgrade":[],"upgradeInfo":{"versionsDiff":1,"publishedDate":"2023-03-23T17:43:34.744Z"},"templateVariants":[],"hasFixes":false,"isMajorUpgrade":false,"isBreakingChange":false,"priorityScoreList":[]})
--->

---------

Co-authored-by: snyk-bot <[email protected]>
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 21, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant