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

Update REST and wire protocol query params for startAfter, endBefore #6706

Merged
merged 9 commits into from
Nov 18, 2022

Conversation

tohhsinpei
Copy link
Member

@tohhsinpei tohhsinpei commented Oct 18, 2022

We now support startAfter and endBefore on our REST endpoints (b/207844859). We've also added the fields sin ("start is inclusive") and ein ("end is inclusive") to the wire protocol payload (https://github.com/firebase/firebase-server/pull/4006).

These are the corresponding client-side updates. Note that we don't need to compute the successor or predecessor value anymore.

Note that CI checks will fail until the new NSS version is released.

@changeset-bot
Copy link

changeset-bot bot commented Oct 18, 2022

🦋 Changeset detected

Latest commit: 202ac61

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 3 packages
Name Type
@firebase/database Patch
@firebase/database-compat Patch
firebase Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Oct 18, 2022

Size Report 1

Affected Products

  • @firebase/database

    TypeBase (a9add5e)Merge (77a5149)Diff
    browser248 kB247 kB-763 B (-0.3%)
    esm5276 kB275 kB-802 B (-0.3%)
    main281 kB281 kB-802 B (-0.3%)
    module248 kB247 kB-763 B (-0.3%)
  • @firebase/database-compat/standalone

    TypeBase (a9add5e)Merge (77a5149)Diff
    main370 kB369 kB-802 B (-0.2%)
  • bundle

    TypeBase (a9add5e)Merge (77a5149)Diff
    database (Append to a list of data)148 kB148 kB+103 B (+0.1%)
    database (Filtering data)147 kB147 kB+103 B (+0.1%)
    database (Listen for child events)163 kB163 kB+551 B (+0.3%)
    database (Listen for value events + Detach listeners)163 kB163 kB+551 B (+0.3%)
    database (Listen for value events)163 kB163 kB+551 B (+0.3%)
    database (Read data once)162 kB163 kB+551 B (+0.3%)
    database (Save data as transactions)165 kB165 kB+551 B (+0.3%)
    database (Sort data)148 kB148 kB+103 B (+0.1%)
    database (Write data)147 kB147 kB+103 B (+0.1%)
  • firebase

    TypeBase (a9add5e)Merge (77a5149)Diff
    firebase-compat.js740 kB740 kB-217 B (-0.0%)
    firebase-database-compat.js166 kB165 kB-217 B (-0.1%)
    firebase-database.js154 kB154 kB-236 B (-0.2%)

Test Logs

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/r92rXRt0pQ.html

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Oct 18, 2022

Size Analysis Report 1

Affected Products

  • @firebase/database

    • DataSnapshot

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size117 kB117 kB+103 B (+0.1%)
      size-with-ext-deps138 kB138 kB+103 B (+0.1%)
    • Database

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size115 kB115 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • OnDisconnect

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size119 kB119 kB+103 B (+0.1%)
      size-with-ext-deps141 kB141 kB+103 B (+0.1%)
    • QueryConstraint

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size115 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • TransactionResult

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size116 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • _QueryImpl

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size115 kB115 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • _QueryParams

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size115 kB115 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • _ReferenceImpl

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size115 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • _TEST_ACCESS_forceRestClient

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size115 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • _TEST_ACCESS_hijackHash

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size116 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • _repoManagerDatabaseFromApp

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size115 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • _setSDKVersion

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size115 kB115 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • _validatePathString

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size116 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • _validateWritablePath

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size116 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • child

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size116 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • connectDatabaseEmulator

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size116 kB116 kB+103 B (+0.1%)
      size-with-ext-deps138 kB138 kB+103 B (+0.1%)
    • enableLogging

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size115 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • endAt

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size118 kB118 kB+103 B (+0.1%)
      size-with-ext-deps139 kB139 kB+103 B (+0.1%)
    • endBefore

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size119 kB118 kB-418 B (-0.4%)
      size-with-ext-deps140 kB139 kB-419 B (-0.3%)

      Dependency

      TypeBase (a9add5e)Merge (77a5149)Diff
      variables

      149 dependencies

      APPLICATION_ID_PARAM
      APP_CHECK_TOKEN_PARAM
      BYTES_RECEIVED_HEALTHY_OVERRIDE
      BYTES_SENT_HEALTHY_OVERRIDE
      CONTROL_ERROR
      CONTROL_PONG
      CONTROL_RESET
      CONTROL_SHUTDOWN
      DELAY_BEFORE_SENDING_EXTRA_REQUESTS
      EMPTY_NODE
      END_TRANSMISSION
      EmptyChildren
      FIREBASE_DATABASE_EMULATOR_HOST_VAR
      FIREBASE_LONGPOLL_CALLBACK_ID_PARAM
      FIREBASE_LONGPOLL_CLOSE_COMMAND
      FIREBASE_LONGPOLL_COMMAND_CB_NAME
      FIREBASE_LONGPOLL_DATA_CB_NAME
      FIREBASE_LONGPOLL_DATA_PARAM
      FIREBASE_LONGPOLL_DISCONN_FRAME_REQUEST_PARAM
      FIREBASE_LONGPOLL_ID_PARAM
      FIREBASE_LONGPOLL_PW_PARAM
      FIREBASE_LONGPOLL_SEGMENTS_IN_PACKET
      FIREBASE_LONGPOLL_SEGMENT_NUM_PARAM
      FIREBASE_LONGPOLL_SERIAL_PARAM
      FIREBASE_LONGPOLL_START_PARAM
      FIRST_STATS_MAX_TIME
      FIRST_STATS_MIN_TIME
      FORGE_DOMAIN_RE
      FORGE_REF
      INTEGER_32_MAX
      INTEGER_32_MIN
      INTEGER_REGEXP_
      INTERRUPT_REASON
      INVALID_KEY_REGEX_
      INVALID_PATH_REGEX_
      INVALID_TOKEN_THRESHOLD
      KEEPALIVE_REQUEST_INTERVAL
      KEY_INDEX
      LAST_SESSION_PARAM
      LOG_2
      LONG_POLLING
      LP_CONNECT_TIMEOUT
      LUIDGenerator
      MAX_KEY_LEN
      MAX_LEAF_SIZE_
      MAX_NAME
      MAX_NODE
      MAX_NODE$1
      MAX_NODE$2
      MAX_PATH_DEPTH
      MAX_PATH_LENGTH_BYTES
      MAX_PAYLOAD_SIZE
      MAX_PUSH_CHAR
      MAX_TRANSACTION_RETRIES
      MAX_URL_DATA_SIZE
      MESSAGE_DATA
      MESSAGE_TYPE
      MIN_NAME
      MIN_PUSH_CHAR
      NO_COMPLETE_CHILD_SOURCE
      ObjectToUniqueKey
      OperationType
      PING
      PRIORITY_INDEX
      PROTOCOL_VERSION
      PUSH_CHARS
      PersistentStorage
      RECONNECT_DELAY_MULTIPLIER
      RECONNECT_DELAY_RESET_TIMEOUT
      RECONNECT_MAX_DELAY_DEFAULT
      RECONNECT_MAX_DELAY_FOR_ADMINS
      RECONNECT_MIN_DELAY
      REFERER_PARAM
      REPORT_STATS_INTERVAL
      SDK_VERSION
      SEG_HEADER_SIZE
      SERVER_HELLO
      SERVER_KILL_INTERRUPT_REASON
      SWITCH_ACK
      SessionStorage
      TRANSPORT_SESSION_PARAM
      UPGRADE_TIMEOUT
      USE_HINZE
      VALUE_INDEX
      VERSION_PARAM
      WEBSOCKET
      WEBSOCKET_KEEPALIVE_INTERVAL
      WEBSOCKET_MAX_FRAME_SIZE
      WebSocketImpl
      __EMPTY_NODE
      __childrenNodeConstructor
      _defaultIndexMap
      beingCrawled
      buildChildSet
      buildLogMessage_
      collections
      createStoragefor
      doubleToIEEE754String
      emptyChildrenSingleton
      enableLogging$1
      error
      exceptionGuard
      executeWhenDOMReady
      fallbackObject
      fatal
      firstLog_
      generateWithValues
      isChromeExtensionContentScript
      isInvalidJSONNumber
      isValidKey
      isValidPathString
      isValidPriority
      isValidRootPathString
      isWindowsStoreApp
      log
      logClient
      logWrapper
      logger
      name
      nameCompare
      nodeFromJSON$1
      parseDatabaseURL
      parseRepoInfo
      predecessor
      priorityHashText
      referenceConstructor
      referenceConstructor$1
      reporters
      repos
      requireKey
      resolveComplexDeferredValue
      resolveDeferredLeafValue
      resolveDeferredValueSnapshot
      resolveDeferredValueTree
      resolveScalarDeferredValue
      setTimeoutNonBlocking
      sha1
      splitStringBySize
      stringCompare
      tryParseInt
      useRestClient
      validateFirebaseData
      validateFirebaseDataArg
      validateKey
      validatePriorityNode
      validateUrl
      version
      warn
      warnIfPageIsSecure

      144 dependencies

      APPLICATION_ID_PARAM
      APP_CHECK_TOKEN_PARAM
      BYTES_RECEIVED_HEALTHY_OVERRIDE
      BYTES_SENT_HEALTHY_OVERRIDE
      CONTROL_ERROR
      CONTROL_PONG
      CONTROL_RESET
      CONTROL_SHUTDOWN
      DELAY_BEFORE_SENDING_EXTRA_REQUESTS
      EMPTY_NODE
      END_TRANSMISSION
      EmptyChildren
      FIREBASE_DATABASE_EMULATOR_HOST_VAR
      FIREBASE_LONGPOLL_CALLBACK_ID_PARAM
      FIREBASE_LONGPOLL_CLOSE_COMMAND
      FIREBASE_LONGPOLL_COMMAND_CB_NAME
      FIREBASE_LONGPOLL_DATA_CB_NAME
      FIREBASE_LONGPOLL_DATA_PARAM
      FIREBASE_LONGPOLL_DISCONN_FRAME_REQUEST_PARAM
      FIREBASE_LONGPOLL_ID_PARAM
      FIREBASE_LONGPOLL_PW_PARAM
      FIREBASE_LONGPOLL_SEGMENTS_IN_PACKET
      FIREBASE_LONGPOLL_SEGMENT_NUM_PARAM
      FIREBASE_LONGPOLL_SERIAL_PARAM
      FIREBASE_LONGPOLL_START_PARAM
      FIRST_STATS_MAX_TIME
      FIRST_STATS_MIN_TIME
      FORGE_DOMAIN_RE
      FORGE_REF
      INTEGER_32_MAX
      INTEGER_32_MIN
      INTEGER_REGEXP_
      INTERRUPT_REASON
      INVALID_KEY_REGEX_
      INVALID_PATH_REGEX_
      INVALID_TOKEN_THRESHOLD
      KEEPALIVE_REQUEST_INTERVAL
      KEY_INDEX
      LAST_SESSION_PARAM
      LOG_2
      LONG_POLLING
      LP_CONNECT_TIMEOUT
      LUIDGenerator
      MAX_LEAF_SIZE_
      MAX_NAME
      MAX_NODE
      MAX_NODE$1
      MAX_NODE$2
      MAX_PATH_DEPTH
      MAX_PATH_LENGTH_BYTES
      MAX_PAYLOAD_SIZE
      MAX_TRANSACTION_RETRIES
      MAX_URL_DATA_SIZE
      MESSAGE_DATA
      MESSAGE_TYPE
      MIN_NAME
      NO_COMPLETE_CHILD_SOURCE
      ObjectToUniqueKey
      OperationType
      PING
      PRIORITY_INDEX
      PROTOCOL_VERSION
      PersistentStorage
      RECONNECT_DELAY_MULTIPLIER
      RECONNECT_DELAY_RESET_TIMEOUT
      RECONNECT_MAX_DELAY_DEFAULT
      RECONNECT_MAX_DELAY_FOR_ADMINS
      RECONNECT_MIN_DELAY
      REFERER_PARAM
      REPORT_STATS_INTERVAL
      SDK_VERSION
      SEG_HEADER_SIZE
      SERVER_HELLO
      SERVER_KILL_INTERRUPT_REASON
      SWITCH_ACK
      SessionStorage
      TRANSPORT_SESSION_PARAM
      UPGRADE_TIMEOUT
      USE_HINZE
      VALUE_INDEX
      VERSION_PARAM
      WEBSOCKET
      WEBSOCKET_KEEPALIVE_INTERVAL
      WEBSOCKET_MAX_FRAME_SIZE
      WebSocketImpl
      __EMPTY_NODE
      __childrenNodeConstructor
      _defaultIndexMap
      beingCrawled
      buildChildSet
      buildLogMessage_
      collections
      createStoragefor
      doubleToIEEE754String
      emptyChildrenSingleton
      enableLogging$1
      error
      exceptionGuard
      executeWhenDOMReady
      fallbackObject
      fatal
      firstLog_
      generateWithValues
      isChromeExtensionContentScript
      isInvalidJSONNumber
      isValidKey
      isValidPathString
      isValidPriority
      isValidRootPathString
      isWindowsStoreApp
      log
      logClient
      logWrapper
      logger
      name
      nameCompare
      nodeFromJSON$1
      parseDatabaseURL
      parseRepoInfo
      priorityHashText
      referenceConstructor
      referenceConstructor$1
      reporters
      repos
      requireKey
      resolveComplexDeferredValue
      resolveDeferredLeafValue
      resolveDeferredValueSnapshot
      resolveDeferredValueTree
      resolveScalarDeferredValue
      setTimeoutNonBlocking
      sha1
      splitStringBySize
      stringCompare
      tryParseInt
      useRestClient
      validateFirebaseData
      validateFirebaseDataArg
      validateKey
      validatePriorityNode
      validateUrl
      version
      warn
      warnIfPageIsSecure

      - MAX_KEY_LEN
      - MAX_PUSH_CHAR
      - MIN_PUSH_CHAR
      - PUSH_CHARS
      - predecessor

    • equalTo

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size119 kB119 kB+103 B (+0.1%)
      size-with-ext-deps140 kB140 kB+103 B (+0.1%)
    • forceLongPolling

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size116 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • forceWebSockets

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size116 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • get

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size132 kB132 kB+551 B (+0.4%)
      size-with-ext-deps153 kB154 kB+551 B (+0.4%)
    • getDatabase

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size116 kB117 kB+103 B (+0.1%)
      size-with-ext-deps145 kB146 kB+103 B (+0.1%)
    • goOffline

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size115 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • goOnline

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size116 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • increment

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size115 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • limitToFirst

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size116 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • limitToLast

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size116 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • off

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size124 kB124 kB+103 B (+0.1%)
      size-with-ext-deps145 kB145 kB+103 B (+0.1%)
    • onChildAdded

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size132 kB133 kB+551 B (+0.4%)
      size-with-ext-deps154 kB154 kB+551 B (+0.4%)
    • onChildChanged

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size132 kB133 kB+551 B (+0.4%)
      size-with-ext-deps154 kB154 kB+551 B (+0.4%)
    • onChildMoved

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size132 kB133 kB+551 B (+0.4%)
      size-with-ext-deps154 kB154 kB+551 B (+0.4%)
    • onChildRemoved

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size132 kB133 kB+551 B (+0.4%)
      size-with-ext-deps154 kB154 kB+551 B (+0.4%)
    • onDisconnect

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size119 kB120 kB+103 B (+0.1%)
      size-with-ext-deps141 kB141 kB+103 B (+0.1%)
    • onValue

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size132 kB133 kB+551 B (+0.4%)
      size-with-ext-deps154 kB154 kB+551 B (+0.4%)
    • orderByChild

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size118 kB118 kB+103 B (+0.1%)
      size-with-ext-deps139 kB139 kB+103 B (+0.1%)
    • orderByKey

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size117 kB117 kB+103 B (+0.1%)
      size-with-ext-deps138 kB138 kB+103 B (+0.1%)
    • orderByPriority

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size117 kB117 kB+103 B (+0.1%)
      size-with-ext-deps138 kB138 kB+103 B (+0.1%)
    • orderByValue

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size117 kB117 kB+103 B (+0.1%)
      size-with-ext-deps138 kB138 kB+103 B (+0.1%)
    • push

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size118 kB118 kB+103 B (+0.1%)
      size-with-ext-deps139 kB139 kB+103 B (+0.1%)
    • query

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size115 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • ref

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size116 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • refFromURL

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size116 kB116 kB+103 B (+0.1%)
      size-with-ext-deps138 kB138 kB+103 B (+0.1%)
    • remove

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size116 kB116 kB+103 B (+0.1%)
      size-with-ext-deps138 kB138 kB+103 B (+0.1%)
    • runTransaction

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size134 kB135 kB+551 B (+0.4%)
      size-with-ext-deps156 kB156 kB+551 B (+0.4%)
    • serverTimestamp

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size115 kB116 kB+103 B (+0.1%)
      size-with-ext-deps137 kB137 kB+103 B (+0.1%)
    • set

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size116 kB116 kB+103 B (+0.1%)
      size-with-ext-deps138 kB138 kB+103 B (+0.1%)
    • setPriority

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size117 kB117 kB+103 B (+0.1%)
      size-with-ext-deps138 kB138 kB+103 B (+0.1%)
    • setWithPriority

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size117 kB117 kB+103 B (+0.1%)
      size-with-ext-deps138 kB138 kB+103 B (+0.1%)
    • startAfter

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size119 kB118 kB-430 B (-0.4%)
      size-with-ext-deps140 kB139 kB-430 B (-0.3%)

      Dependency

      TypeBase (a9add5e)Merge (77a5149)Diff
      variables

      149 dependencies

      APPLICATION_ID_PARAM
      APP_CHECK_TOKEN_PARAM
      BYTES_RECEIVED_HEALTHY_OVERRIDE
      BYTES_SENT_HEALTHY_OVERRIDE
      CONTROL_ERROR
      CONTROL_PONG
      CONTROL_RESET
      CONTROL_SHUTDOWN
      DELAY_BEFORE_SENDING_EXTRA_REQUESTS
      EMPTY_NODE
      END_TRANSMISSION
      EmptyChildren
      FIREBASE_DATABASE_EMULATOR_HOST_VAR
      FIREBASE_LONGPOLL_CALLBACK_ID_PARAM
      FIREBASE_LONGPOLL_CLOSE_COMMAND
      FIREBASE_LONGPOLL_COMMAND_CB_NAME
      FIREBASE_LONGPOLL_DATA_CB_NAME
      FIREBASE_LONGPOLL_DATA_PARAM
      FIREBASE_LONGPOLL_DISCONN_FRAME_REQUEST_PARAM
      FIREBASE_LONGPOLL_ID_PARAM
      FIREBASE_LONGPOLL_PW_PARAM
      FIREBASE_LONGPOLL_SEGMENTS_IN_PACKET
      FIREBASE_LONGPOLL_SEGMENT_NUM_PARAM
      FIREBASE_LONGPOLL_SERIAL_PARAM
      FIREBASE_LONGPOLL_START_PARAM
      FIRST_STATS_MAX_TIME
      FIRST_STATS_MIN_TIME
      FORGE_DOMAIN_RE
      FORGE_REF
      INTEGER_32_MAX
      INTEGER_32_MIN
      INTEGER_REGEXP_
      INTERRUPT_REASON
      INVALID_KEY_REGEX_
      INVALID_PATH_REGEX_
      INVALID_TOKEN_THRESHOLD
      KEEPALIVE_REQUEST_INTERVAL
      KEY_INDEX
      LAST_SESSION_PARAM
      LOG_2
      LONG_POLLING
      LP_CONNECT_TIMEOUT
      LUIDGenerator
      MAX_KEY_LEN
      MAX_LEAF_SIZE_
      MAX_NAME
      MAX_NODE
      MAX_NODE$1
      MAX_NODE$2
      MAX_PATH_DEPTH
      MAX_PATH_LENGTH_BYTES
      MAX_PAYLOAD_SIZE
      MAX_PUSH_CHAR
      MAX_TRANSACTION_RETRIES
      MAX_URL_DATA_SIZE
      MESSAGE_DATA
      MESSAGE_TYPE
      MIN_NAME
      MIN_PUSH_CHAR
      NO_COMPLETE_CHILD_SOURCE
      ObjectToUniqueKey
      OperationType
      PING
      PRIORITY_INDEX
      PROTOCOL_VERSION
      PUSH_CHARS
      PersistentStorage
      RECONNECT_DELAY_MULTIPLIER
      RECONNECT_DELAY_RESET_TIMEOUT
      RECONNECT_MAX_DELAY_DEFAULT
      RECONNECT_MAX_DELAY_FOR_ADMINS
      RECONNECT_MIN_DELAY
      REFERER_PARAM
      REPORT_STATS_INTERVAL
      SDK_VERSION
      SEG_HEADER_SIZE
      SERVER_HELLO
      SERVER_KILL_INTERRUPT_REASON
      SWITCH_ACK
      SessionStorage
      TRANSPORT_SESSION_PARAM
      UPGRADE_TIMEOUT
      USE_HINZE
      VALUE_INDEX
      VERSION_PARAM
      WEBSOCKET
      WEBSOCKET_KEEPALIVE_INTERVAL
      WEBSOCKET_MAX_FRAME_SIZE
      WebSocketImpl
      __EMPTY_NODE
      __childrenNodeConstructor
      _defaultIndexMap
      beingCrawled
      buildChildSet
      buildLogMessage_
      collections
      createStoragefor
      doubleToIEEE754String
      emptyChildrenSingleton
      enableLogging$1
      error
      exceptionGuard
      executeWhenDOMReady
      fallbackObject
      fatal
      firstLog_
      generateWithValues
      isChromeExtensionContentScript
      isInvalidJSONNumber
      isValidKey
      isValidPathString
      isValidPriority
      isValidRootPathString
      isWindowsStoreApp
      log
      logClient
      logWrapper
      logger
      name
      nameCompare
      nodeFromJSON$1
      parseDatabaseURL
      parseRepoInfo
      priorityHashText
      referenceConstructor
      referenceConstructor$1
      reporters
      repos
      requireKey
      resolveComplexDeferredValue
      resolveDeferredLeafValue
      resolveDeferredValueSnapshot
      resolveDeferredValueTree
      resolveScalarDeferredValue
      setTimeoutNonBlocking
      sha1
      splitStringBySize
      stringCompare
      successor
      tryParseInt
      useRestClient
      validateFirebaseData
      validateFirebaseDataArg
      validateKey
      validatePriorityNode
      validateUrl
      version
      warn
      warnIfPageIsSecure

      144 dependencies

      APPLICATION_ID_PARAM
      APP_CHECK_TOKEN_PARAM
      BYTES_RECEIVED_HEALTHY_OVERRIDE
      BYTES_SENT_HEALTHY_OVERRIDE
      CONTROL_ERROR
      CONTROL_PONG
      CONTROL_RESET
      CONTROL_SHUTDOWN
      DELAY_BEFORE_SENDING_EXTRA_REQUESTS
      EMPTY_NODE
      END_TRANSMISSION
      EmptyChildren
      FIREBASE_DATABASE_EMULATOR_HOST_VAR
      FIREBASE_LONGPOLL_CALLBACK_ID_PARAM
      FIREBASE_LONGPOLL_CLOSE_COMMAND
      FIREBASE_LONGPOLL_COMMAND_CB_NAME
      FIREBASE_LONGPOLL_DATA_CB_NAME
      FIREBASE_LONGPOLL_DATA_PARAM
      FIREBASE_LONGPOLL_DISCONN_FRAME_REQUEST_PARAM
      FIREBASE_LONGPOLL_ID_PARAM
      FIREBASE_LONGPOLL_PW_PARAM
      FIREBASE_LONGPOLL_SEGMENTS_IN_PACKET
      FIREBASE_LONGPOLL_SEGMENT_NUM_PARAM
      FIREBASE_LONGPOLL_SERIAL_PARAM
      FIREBASE_LONGPOLL_START_PARAM
      FIRST_STATS_MAX_TIME
      FIRST_STATS_MIN_TIME
      FORGE_DOMAIN_RE
      FORGE_REF
      INTEGER_32_MAX
      INTEGER_32_MIN
      INTEGER_REGEXP_
      INTERRUPT_REASON
      INVALID_KEY_REGEX_
      INVALID_PATH_REGEX_
      INVALID_TOKEN_THRESHOLD
      KEEPALIVE_REQUEST_INTERVAL
      KEY_INDEX
      LAST_SESSION_PARAM
      LOG_2
      LONG_POLLING
      LP_CONNECT_TIMEOUT
      LUIDGenerator
      MAX_LEAF_SIZE_
      MAX_NAME
      MAX_NODE
      MAX_NODE$1
      MAX_NODE$2
      MAX_PATH_DEPTH
      MAX_PATH_LENGTH_BYTES
      MAX_PAYLOAD_SIZE
      MAX_TRANSACTION_RETRIES
      MAX_URL_DATA_SIZE
      MESSAGE_DATA
      MESSAGE_TYPE
      MIN_NAME
      NO_COMPLETE_CHILD_SOURCE
      ObjectToUniqueKey
      OperationType
      PING
      PRIORITY_INDEX
      PROTOCOL_VERSION
      PersistentStorage
      RECONNECT_DELAY_MULTIPLIER
      RECONNECT_DELAY_RESET_TIMEOUT
      RECONNECT_MAX_DELAY_DEFAULT
      RECONNECT_MAX_DELAY_FOR_ADMINS
      RECONNECT_MIN_DELAY
      REFERER_PARAM
      REPORT_STATS_INTERVAL
      SDK_VERSION
      SEG_HEADER_SIZE
      SERVER_HELLO
      SERVER_KILL_INTERRUPT_REASON
      SWITCH_ACK
      SessionStorage
      TRANSPORT_SESSION_PARAM
      UPGRADE_TIMEOUT
      USE_HINZE
      VALUE_INDEX
      VERSION_PARAM
      WEBSOCKET
      WEBSOCKET_KEEPALIVE_INTERVAL
      WEBSOCKET_MAX_FRAME_SIZE
      WebSocketImpl
      __EMPTY_NODE
      __childrenNodeConstructor
      _defaultIndexMap
      beingCrawled
      buildChildSet
      buildLogMessage_
      collections
      createStoragefor
      doubleToIEEE754String
      emptyChildrenSingleton
      enableLogging$1
      error
      exceptionGuard
      executeWhenDOMReady
      fallbackObject
      fatal
      firstLog_
      generateWithValues
      isChromeExtensionContentScript
      isInvalidJSONNumber
      isValidKey
      isValidPathString
      isValidPriority
      isValidRootPathString
      isWindowsStoreApp
      log
      logClient
      logWrapper
      logger
      name
      nameCompare
      nodeFromJSON$1
      parseDatabaseURL
      parseRepoInfo
      priorityHashText
      referenceConstructor
      referenceConstructor$1
      reporters
      repos
      requireKey
      resolveComplexDeferredValue
      resolveDeferredLeafValue
      resolveDeferredValueSnapshot
      resolveDeferredValueTree
      resolveScalarDeferredValue
      setTimeoutNonBlocking
      sha1
      splitStringBySize
      stringCompare
      tryParseInt
      useRestClient
      validateFirebaseData
      validateFirebaseDataArg
      validateKey
      validatePriorityNode
      validateUrl
      version
      warn
      warnIfPageIsSecure

      - MAX_KEY_LEN
      - MAX_PUSH_CHAR
      - MIN_PUSH_CHAR
      - PUSH_CHARS
      - successor

    • startAt

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size118 kB118 kB+103 B (+0.1%)
      size-with-ext-deps139 kB139 kB+103 B (+0.1%)
    • update

      Size

      TypeBase (a9add5e)Merge (77a5149)Diff
      size118 kB118 kB+103 B (+0.1%)
      size-with-ext-deps139 kB139 kB+103 B (+0.1%)

Test Logs

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/vKoG90beeP.html

@tohhsinpei tohhsinpei changed the title Update REST and wire protocol query constants for startAfter, endBefore Update REST and wire protocol query params for startAfter, endBefore Oct 19, 2022
@tohhsinpei tohhsinpei marked this pull request as ready for review October 19, 2022 22:16
@jmwski
Copy link
Contributor

jmwski commented Oct 20, 2022

This is a good opportunity to extend the syncpoint spec protocol and add a new test. We can update the parser here:

https://github.com/firebase/firebase-js-sdk/blob/master/packages/database/test/helpers/syncpoint-util.ts#L369

And then add a few specs here:

https://github.com/firebase/firebase-js-sdk/blob/master/packages/database/test/helpers/syncPointSpec.json#L538-L547

These tests validate that we raise the right events for listeners.

Copy link
Contributor

@jmwski jmwski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this great cleanup!

@github-actions
Copy link
Contributor

github-actions bot commented Nov 10, 2022

Changeset File Check ✅

  • No modified packages are missing from the changeset file.
  • No changeset formatting errors detected.

@jmwski jmwski removed their assignment Nov 10, 2022
@tohhsinpei tohhsinpei changed the base branch from master to mtewani/fix-syncpoint-test-compare November 14, 2022 19:40
@jmwski jmwski self-requested a review November 15, 2022 01:33
Base automatically changed from mtewani/fix-syncpoint-test-compare to master November 15, 2022 16:21
Copy link
Contributor

@maneesht maneesht left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@tohhsinpei tohhsinpei merged commit 37dd6f6 into master Nov 18, 2022
@tohhsinpei tohhsinpei deleted the hsinpei/startafter-endbefore branch November 18, 2022 19:38
@google-oss-bot google-oss-bot mentioned this pull request Dec 6, 2022
levino pushed a commit to levino/firebase-js-sdk that referenced this pull request Dec 10, 2022
…re` (firebase#6706)

* Update REST and wire protocol query constants for startAfter, endBefore

* Update query unit tests

* Update RTDB emulator version

* Extend syncpoint spec protocol

* Account for bound inclusivity with LimitedFilter

* Address PR feedback

* Add test case with

* Address PR feedback
@firebase firebase locked and limited conversation to collaborators Dec 19, 2022
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 this pull request may close these issues.

None yet

6 participants