Skip to content

Sinc Repo Development #1

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

Merged
62 changes: 62 additions & 0 deletions .github/ISSUE_TEMPLATE/---1-report-an-issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
name: "\U0001F41B Report an issue"
about: A feature is not working as expected.
title: ''
labels: ''
assignees: ''

---

### New Issue Checklist
<!--
Please check all of the following boxes [x] before submitting your issue.
Click the "Preview" tab for better readability.
Thanks for contributing to the Parse Flutter SDK!
-->

- [ ] I am not disclosing a [vulnerability](https://github.com/parse-community/Parse-SDK-Flutter/security/policy).
- [ ] I am not just asking a [question](https://github.com/parse-community/.github/blob/main/SUPPORT.md).
- [ ] I have searched through [existing issues](https://github.com/parse-community/Parse-SDK-Flutter/issues?q=is%3Aissue).
- [ ] I can reproduce the issue with the [latest version of the Parse Flutter SDK](https://github.com/parse-community/Parse-SDK-Flutter/releases). <!-- We don't investigate issues for outdated releases. -->
- [ ] I can reproduce the issue with the [latest version of Parse Server](https://github.com/parse-community/parse-server/releases).

### Issue Description
<!-- What is the specific issue? -->

### Steps to reproduce
<!-- How can someone else reproduce the issue? -->

### Actual Outcome
<!-- What outcome, for example query result, did you get? -->

### Expected Outcome
<!-- What outcome, for example query result, did you expect? -->

### Pull Request
<!--
Check one of the following boxes [x] if you added a PR and add the link.
If you need any guidance please do ask.
-->

- [ ] 🤩 I submitted a PR with a fix.

### Environment
<!-- Be specific with versions, don't use "latest" or semver ranges like "~x.y.z" or "^x.y.z". -->

Parse Flutter SDK
- SDK version: `FILL_THIS_OUT`
- Operating system: `FILL_THIS_OUT`
- Operating system version: `FILL_THIS_OUT`

Server
- Parse Server version: `FILL_THIS_OUT`
- Operating system: `FILL_THIS_OUT`
- Local or remote host (AWS, Azure, Google Cloud, Heroku, Digital Ocean, etc): `FILL_THIS_OUT`

Database
- System (MongoDB or Postgres): `FILL_THIS_OUT`
- Database version: `FILL_THIS_OUT`
- Local or remote host (MongoDB Atlas, mLab, AWS, Azure, Google Cloud, etc): `FILL_THIS_OUT`

### Logs
<!-- Include relevant logs here. -->
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/---2-feature-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: "\U0001F4A1 Request a feature"
about: Suggest new functionality or an enhancement of existing functionality.
title: ''
labels: ''
assignees: ''

---

### New Feature / Enhancement Checklist
<!--
Check all of the following boxes [x] before submitting your issue.
Click the "Preview" tab for better readability.
Thanks for contributing to the Parse Android SDK!
-->

- [ ] I am not disclosing a [vulnerability](https://github.com/parse-community/Parse-SDK-Flutter/security/policy).
- [ ] I am not just asking a [question](https://github.com/parse-community/.github/blob/main/SUPPORT.md).
- [ ] I have searched through [existing issues](https://github.com/parse-community/Parse-SDK-Flutter/issues?q=is%3Aissue).

### Current Limitation
<!-- Which current limitation is the feature or enhancement addressing? -->

### Feature / Enhancement Description
<!-- What is the concept of the functionality and how should it be implemented? -->

### Example Use Case
<!-- What is an example use case in steps (1. / 2. / 3. / etc.) that describes the functionality? -->

### Alternatives / Workarounds
<!-- Which alternatives or workarounds exist currently? -->

### 3rd Party References
<!-- Have you seen a similar functionality provided somewhere else? -->
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: 🙋🏽‍♀️ Getting help with code
url: https://stackoverflow.com/questions/tagged/parse-platform
about: Get help with code-level questions on Stack Overflow.
- name: 🙋 Getting general help
url: https://community.parseplatform.org
about: Get help with other questions on our Community Forum.
2 changes: 1 addition & 1 deletion packages/dart/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ This method returns an `Future` that either resolves in an error (equivalent of

Choosing between `query()` and `find()` comes down to personal preference. Both methods can be used for querying a `ParseQuery`, just the output method differs.

Similar to `find()` the `QueryBuilder` also has a function called `Future<T>? first()`. Just like `find()` `first()` is just a convenience method that makes querying the first object satisfying the query simpler. `first()` returns an `Future`, that resoles in an error or the first object matching the query. In case no object satisfies the query, the result will be `null`.
Similar to `find()` the `QueryBuilder` also has a function called `Future<T?> first()`. Just like `find()` `first()` is just a convenience method that makes querying the first object satisfying the query simpler. `first()` returns an `Future`, that resoles in an error or the first object matching the query. In case no object satisfies the query, the result will be `null`.

## Complex queries
You can create complex queries to really put your database to the test:
Expand Down
2 changes: 1 addition & 1 deletion packages/dart/lib/src/network/parse_query.dart
Original file line number Diff line number Diff line change
Expand Up @@ -536,7 +536,7 @@ class QueryBuilder<T extends ParseObject> {

/// Find the first object that satisfies the query.
/// Returns null, if no object is found.
Future<T>? first() async {
Future<T?> first() async {
ParseResponse parseResponse =
await (QueryBuilder.copy(this)..setLimit(1)).query();
if (parseResponse.success) {
Expand Down
4 changes: 3 additions & 1 deletion packages/dart/lib/src/utils/parse_live_list.dart
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ class ParseLiveList<T extends ParseObject> {
}

final QueryBuilder<T> _query;

//The included Items, where LiveList should look for updates.
final Map<String, dynamic> _listeningIncludes;
final bool _lazyLoading;
Expand Down Expand Up @@ -142,7 +143,7 @@ class ParseLiveList<T extends ParseObject> {
return string;
}),
);
query.keysToReturn(keys);
if (keys.isNotEmpty) query.keysToReturn(keys);
}
return await query.query<T>();
}
Expand Down Expand Up @@ -738,6 +739,7 @@ class PathKey {

final String key;
Subscription<ParseObject>? subscription;

@override
String toString() {
return 'PathKey(key: $key, subscription: ${subscription?.requestId})';
Expand Down
15 changes: 14 additions & 1 deletion packages/flutter/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,19 @@ Due to Cross-origin resource sharing (CORS) restrictions, this requires adding `
When running directly via docker, set the env var `PARSE_SERVER_ALLOW_HEADERS=X-Parse-Installation-Id`.
When running via express, set [ParseServerOptions](https://parseplatform.org/parse-server/api/master/ParseServerOptions.html) `allowHeaders: ['X-Parse-Installation-Id']`.

#### Desktop Support (macOS)
Due to security entitlements posed by the macOS framework, connecting to the Web and sharing data requires adding the following lines to code :
```
<key>com.apple.security.network.client</key>
<true/>
```
to the following files:
```
/macOS/Runner/Release.entitlements
/macOS/Runner/DebugProfile.entitlements
```
to help the Parse SDK for Flutter communicate with the Web to access the server and send/retrive data.

#### Network client
By default, this SDK uses the `ParseHTTPClient`.
Another option is use `ParseDioClient`. This client supports the most features (for example a progress callback at the file upload), but a benchmark has shown, that dio is slower than http on web.
Expand Down Expand Up @@ -266,7 +279,7 @@ This method returns an `Future` that either resolves in an error (equivalent of

Choosing between `query()` and `find()` comes down to personal preference. Both methods can be used for querying a `ParseQuery`, just the output method differs.

Similar to `find()` the `QueryBuilder` also has a function called `Future<T>? first()`. Just like `find()` `first()` is just a convenience method that makes querying the first object satisfying the query simpler. `first()` returns an `Future`, that resoles in an error or the first object matching the query. In case no object satisfies the query, the result will be `null`.
Similar to `find()` the `QueryBuilder` also has a function called `Future<T?> first()`. Just like `find()` `first()` is just a convenience method that makes querying the first object satisfying the query simpler. `first()` returns an `Future`, that resoles in an error or the first object matching the query. In case no object satisfies the query, the result will be `null`.

## Complex queries
You can create complex queries to really put your database to the test:
Expand Down