-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Description
Before opening, please confirm:
- I have searched for duplicate or closed issues and discussions.
- I have read the guide for submitting bug reports.
- I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
JavaScript Framework
Vue
Amplify APIs
DataStore
Amplify Version
v5
Amplify Categories
storage
Backend
Amplify CLI
Environment information
# Put output below this line
System:
OS: macOS 14.5
CPU: (8) x64 Intel(R) Core(TM) i5-8257U CPU @ 1.40GHz
Memory: 180.05 MB / 8.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 20.12.0 - /usr/local/bin/node
Yarn: 1.22.19 - /usr/local/bin/yarn
npm: 10.7.0 - /usr/local/bin/npm
Browsers:
Brave Browser: 106.1.44.108
Chrome: 129.0.6668.90
Safari: 17.5
npmPackages:
@aws-amplify/datastore: ^4.7.4 => 4.7.4
@bootstrap-vue/alert: 1.0.0
@bootstrap-vue/aspect: 1.0.0
@bootstrap-vue/avatar: 1.0.0
@bootstrap-vue/badge: 1.0.0
@bootstrap-vue/breadcrumb: 1.0.0
@bootstrap-vue/button: 1.0.0
@bootstrap-vue/button-group: 1.0.0
@bootstrap-vue/button-toolbar: 1.0.0
@bootstrap-vue/calendar: 1.0.0
@bootstrap-vue/card: 1.0.0
@bootstrap-vue/carousel: 1.0.0
@bootstrap-vue/collapse: 1.0.0
@bootstrap-vue/dropdown: 1.0.0
@bootstrap-vue/embed: 1.0.0
@bootstrap-vue/form: 1.0.0
@bootstrap-vue/form-btn-label-control: 1.0.0
@bootstrap-vue/form-checkbox: 1.0.0
@bootstrap-vue/form-datepicker: 1.0.0
@bootstrap-vue/form-file: 1.0.0
@bootstrap-vue/form-group: 1.0.0
@bootstrap-vue/form-input: 1.1.0
@bootstrap-vue/form-radio: 1.0.0
@bootstrap-vue/form-rating: 1.0.0
@bootstrap-vue/form-select: 1.0.0
@bootstrap-vue/form-spinbutton: 1.0.0
@bootstrap-vue/form-tags: 1.0.0
@bootstrap-vue/form-textarea: 1.0.0
@bootstrap-vue/form-timepicker: 1.0.0
@bootstrap-vue/icons: 1.0.0
@bootstrap-vue/image: 1.0.0
@bootstrap-vue/input-group: 1.0.0
@bootstrap-vue/jumbotron: 1.0.0
@bootstrap-vue/layout: 1.0.0
@bootstrap-vue/link: 1.0.0
@bootstrap-vue/list-group: 1.0.0
@bootstrap-vue/media: 1.0.0
@bootstrap-vue/modal: 1.0.0
@bootstrap-vue/nav: 1.0.0
@bootstrap-vue/navbar: 1.0.0
@bootstrap-vue/overlay: 1.0.0
@bootstrap-vue/pagination: 1.0.0
@bootstrap-vue/pagination-nav: 1.0.0
@bootstrap-vue/popover: 0.0.0 (1.0.0)
@bootstrap-vue/progress: 1.0.0
@bootstrap-vue/scrollspy: 0.0.0
@bootstrap-vue/sidebar: 1.0.0
@bootstrap-vue/skeleton: 1.0.0
@bootstrap-vue/spinner: 1.0.0
@bootstrap-vue/table: 1.0.0
@bootstrap-vue/tabs: 1.0.0
@bootstrap-vue/time: 1.0.0
@bootstrap-vue/toast: 1.0.0
@bootstrap-vue/tooltip: 0.0.0 (1.0.0)
@bootstrap-vue/transition: 1.0.0
@bootstrap-vue/transporter: 1.0.0
@bootstrap-vue/v-b-hover: 1.0.0
@bootstrap-vue/v-b-toggle: 1.0.0
@bootstrap-vue/v-b-visible: 0.0.0
@fortawesome/fontawesome-free: ^6.5.2 => 6.5.2
@fortawesome/fontawesome-svg-core: ^6.5.2 => 6.5.2
@fortawesome/free-brands-svg-icons: ^6.5.2 => 6.5.2
@fortawesome/free-regular-svg-icons: ^6.5.2 => 6.5.2
@fortawesome/free-solid-svg-icons: ^6.5.2 => 6.5.2
@fortawesome/vue-fontawesome: ^2.0.10 => 2.0.10
@vue/cli-plugin-e2e-cypress: ~4.3.0 => 4.3.1
@vue/cli-plugin-eslint: ~4.3.0 => 4.3.1
@vue/cli-plugin-pwa: ~4.3.0 => 4.3.1
@vue/cli-plugin-router: ~4.3.0 => 4.3.1
@vue/cli-plugin-unit-mocha: ~4.3.0 => 4.3.1
@vue/cli-plugin-vuex: ~4.3.0 => 4.3.1
@vue/cli-service: ^3.3.1 => 3.12.1
@vue/compiler-sfc: 2.7.14
@vue/eslint-config-airbnb: ^5.0.2 => 5.3.0
@vue/test-utils: 1.0.0-beta.31 => 1.0.0-beta.31
aws-amplify: ^5.3.10 => 5.3.10
axios: ^0.21.1 => 0.21.4 (0.26.0)
bootstrap-vue: ^2.23.1 => 2.23.1
chai: ^4.1.2 => 4.3.8
eslint: ^6.7.2 => 6.8.0
eslint-plugin-import: ^2.20.2 => 2.28.1
eslint-plugin-vue: ^6.2.2 => 6.2.2
js-md5: ^0.8.3 => 0.8.3
moment-timezone: ^0.5.45 => 0.5.45
register-service-worker: ^1.7.1 => 1.7.2
sass: ^1.56.1 => 1.66.1
sass-loader: ^8.0.2 => 8.0.2
uiv: ^1.4.2 => 1.4.3
uuid: ^9.0.0 => 9.0.0 (3.4.0, 8.3.2)
v-mask: ^2.2.4 => 2.3.0
vue: ^2.6.11 => 2.7.14
vue-axios: ^3.2.4 => 3.5.2
vue-excel-editor: ^1.3.60 => 1.5.19
vue-google-charts: ^0.3.2 => 0.3.3
vue-gravatar: ^1.3.1 => 1.4.1
vue-moment: ^4.1.0 => 4.1.0
vue-number-animation: ^1.0.5 => 1.1.2
vue-qr-generator: ^3.0.1 => 3.0.1
vue-router: ^3.1.6 => 3.6.5
vue-select-image: ^1.9.0 => 1.9.0
vue-template-compiler: ^2.6.11 => 2.7.14
vue-window-size: ^0.6.2 => 0.6.2
vue2-filters: ^0.11.0 => 0.11.1
vue2-google-maps: ^0.10.7 => 0.10.7
vuex: ^3.1.3 => 3.6.2
vuex-persistedstate: ^3.0.1 => 3.2.1
npmGlobalPackages:
@aws-amplify/cli: 11.1.0
@nestjs/cli: 10.4.2
@vue/cli-service-global: 4.5.10
@vue/cli: 5.0.8
amplify: 0.0.11
appium-doctor: 1.16.2
appium: 2.10.3
aws-amplify: 5.0.4
chance-cli: 1.0.7
corepack: 0.25.2
create-vite: 5.3.0
cucumber: 7.0.0-rc.0
json-server: 0.17.0
knex: 2.0.0
mocha: 9.1.2
n: 9.2.1
nativefier: 50.0.0
nativescript: 8.1.3
netlify-cli: 14.4.0
netlify: 13.1.5
nodemon: 2.0.19
npm: 10.7.0
pm2: 5.2.0
serve: 14.2.0
solc: 0.8.13
swagger: 0.7.5
yarn: 1.22.19
Describe the bug
Recently I got an issue that told me:
next.js:41 Uncaught (in promise) Error: Invalid predicate. Terminate your predicate with a valid condition (e.g., `p => p.field.eq('value')`) or pass `Predicates.ALL`.
at internals (next.js:41:1)
at DataStore.<anonymous> (datastore.js:2178:66)
at step (tslib.es6.js:100:1)
at Object.next (tslib.es6.js:81:45)
at fulfilled (tslib.es6.js:71:42)
The problem is that it's impossible to know where the error is when we have over 1 million lines in an app. The error message is too generic and could relate to any line in a DataStore query. It would be much easier to fix if I could know where or which predicate has the error, rather than just showing me an example of how to write a correct predicate.
I tried looking into tslibs.es6.js
and next.js
to catch the error, but the changes to the file weren't applied on localhost, so I still have the issue nevertheless it will be great if in the future we could have a better description to find the issue.
Expected behavior
export var internals = function (key) {
if (!predicateInternalsMap.has(key)) {
throw new Error(`Invalid predicate: ${currentInvalidPredicate} Terminate your predicate with a valid condition.`);
}
return predicateInternalsMap.get(key);
};
Reproduction steps
To reproduce the issue just use an invalid predicate into a query.
Code Snippet
// Put your code below this line.
Log output
// Put your logs below this line
aws-exports.js
No response
Manual configuration
No response
Additional configuration
No response
Mobile Device
No response
Mobile Operating System
No response
Mobile Browser
No response
Mobile Browser Version
No response