firebase / firebase/firebase-tools-ui
Cannot access secondary bucket using emulator
- Dominant language
- TypeScript
- Stars
- 291
- Forks
- 74
- PR merge metrics
- No merged PRs in 30d
Description
### [REQUIRED] Environment info
**firebase-tools:** 11.6.0
**Platform:** macOS
### [REQUIRED] Test case
1. Create a firebase project with storage initiated
2. Create a second bucket for your project
3. Create two targets for your project, one target which points at the default bucket and a second target which points at your second bucket
4. Edit your firebase.json storage config to look like so that different rule files are used with different targets (and different buckets)
```
"storage": [
{
"rules": "firebase-config/public-storage.rules",
"target": "public",
"bucket": "lookieloo-app-public"
},
{
"rules": "firebase-config/private-storage.rules",
"target": "default",
"bucket": "lookieloo-app.appspot.com"
}
],
```
5. set both rule files to be broadly open
```
rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read;
allow write;
}
}
}
```
6. start your emulator
7. go to the storage tab
8. change to the secondary bucket
9. notice the page doesn't load
10. Look at emulator logs and see the following: `⚠ Permission denied because no Storage ruleset is currently loaded, check your rules for syntax errors.`
### [REQUIRED] Steps to reproduce
See above
### [REQUIRED] Expected behavior
I expect to be able to view my second bucket in the emulator
### [REQUIRED] Actual behavior
I'm not allowed to view the second bucket (or interact with it through code). Here's the output of starting my emulator with debug logging:
```
8:27PM /Users/paymahn/code/lookieloo paymahn/thumbnail ✖ ✱ ◼
❮❮❮ firebase emulators:start --debug
[2022-08-22T02:27:23.919Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[2022-08-22T02:27:23.920Z] > authorizing via signed-in user (paymahn1@gmail.com)
[2022-08-22T02:27:23.947Z] openjdk version "18.0.2" 2022-07-19
OpenJDK Runtime Environment Homebrew (build 18.0.2+0)
OpenJDK 64-Bit Server VM Homebrew (build 18.0.2+0, mixed mode, sharing)
[2022-08-22T02:27:23.950Z] Parsed Java major version: 18
i emulators: Starting emulators: auth, functions, firestore, database, storage {"metadata":{"emulator":{"name":"hub"},"message":"Starting emulators: auth, functions, firestore, database, storage"}}
[2022-08-22T02:27:23.955Z] [hub] writing locator at /var/folders/2b/1gkdb80j6pq4m61pm1nsdmhh0000gp/T/hub-lookieloo-app.json
⚠ functions: The following emulators are not running, calls to these services from the Functions emulator will affect production: hosting, pubsub, eventarc {"metadata":{"emulator":{"name":"functions"},"message":"The following emulators are not running, calls to these services from the Functions emulator will affect production: \u001b[1mhosting, pubsub, eventarc\u001b[22m"}}
⚠ Your requested "node" version "16" doesn't match your global version "17". Using node@17 from host. {"metadata":{"emulator":{"name":"functions"},"message":"Your requested \"node\" version \"16\" doesn't match your global version \"17\". Using node@17 from host."}}
[2022-08-22T02:27:23.963Z] defaultcredentials: writing to file /Users/paymahn/.config/firebase/paymahn1_gmail_com_application_default_credentials.json
[2022-08-22T02:27:23.964Z] Setting GAC to /Users/paymahn/.config/firebase/paymahn1_gmail_com_application_default_credentials.json {"metadata":{"emulator":{"name":"functions"},"message":"Setting GAC to /Users/paymahn/.config/firebase/paymahn1_gmail_com_application_default_credentials.json"}}
[2022-08-22T02:27:23.965Z] >>> [apiv2][query] GET https://firebase.googleapis.com/v1beta1/projects/lookieloo-app/adminSdkConfig [none]
[2022-08-22T02:27:25.977Z] <<< [apiv2][status] GET https://firebase.googleapis.com/v1beta1/projects/lookieloo-app/adminSdkConfig 200
[2022-08-22T02:27:25.979Z] <<< [apiv2][body] GET https://firebase.googleapis.com/v1beta1/projects/lookieloo-app/adminSdkConfig {"projectId":"lookieloo-app","databaseURL":"https://lookieloo-app-default-rtdb.firebaseio.com","storageBucket":"lookieloo-app.appspot.com","locationId":"us-central"}
[2022-08-22T02:27:26.295Z] Ignoring unsupported arg: projectId {"metadata":{"emulator":{"name":"firestore"},"message":"Ignoring unsupported arg: projectId"}}
[2022-08-22T02:27:26.296Z] Ignoring unsupported arg: auto_download {"metadata":{"emulator":{"name":"firestore"},"message":"Ignoring unsupported arg: auto_download"}}
[2022-08-22T02:27:26.296Z] Starting Firestore Emulator with command {"binary":"java","args":["-Dgoogle.cloud_firestore.debug_log_level=FINE","-Duser.language=en","-jar","/Users/paymahn/.cache/firebase/emulators/cloud-firestore-emulator-v1.14.4.jar","--host","localhost","--port",8080,"--rules","/Users/paymahn/code/lookieloo/firebase-config/firestore.rules","--functions_emulator","localhost:5001"],"optionalArgs":["port","webchannel_port","host","rules","functions_emulator","seed_from_export"],"joinArgs":false} {"metadata":{"emulator":{"name":"firestore"},"message":"Starting Firestore Emulator with command {\"binary\":\"java\",\"args\":[\"-Dgoogle.cloud_firestore.debug_log_level=FINE\",\"-Duser.language=en\",\"-jar\",\"/Users/paymahn/.cache/firebase/emulators/cloud-firestore-emulator-v1.14.4.jar\",\"--host\",\"localhost\",\"--port\",8080,\"--rules\",\"/Users/paymahn/code/lookieloo/firebase-config/firestore.rules\",\"--functions_emulator\",\"localhost:5001\"],\"optionalArgs\":[\"port\",\"webchannel_port\",\"host\",\"rules\",\"functions_emulator\",\"seed_from_export\"],\"joinArgs\":false}"}}
i firestore: Firestore Emulator logging to firestore-debug.log {"metadata":{"emulator":{"name":"firestore"},"message":"Firestore Emulator logging to \u001b[1mfirestore-debug.log\u001b[22m"}}
[2022-08-22T02:27:26.726Z] Aug 21, 2022 8:27:26 PM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketServer start
INFO: Started WebSocket server on ws://localhost:62401
{"metadata":{"emulator":{"name":"firestore"},"message":"Aug 21, 2022 8:27:26 PM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketServer start\nINFO: Started WebSocket server on ws://localhost:62401\n"}}
[2022-08-22T02:27:26.736Z] API endpoint: http://localhost:8080
If you are using a library that supports the FIRESTORE_EMULATOR_HOST environment variable, run:
{"metadata":{"emulator":{"name":"firestore"},"message":"API endpoint: http://localhost:8080\nIf you are using a library that supports the FIRESTORE_EMULATOR_HOST environment variable, run:\n"}}
[2022-08-22T02:27:26.736Z]
export FIRESTORE_EMULATOR_HOST=localhost:8080
Dev App Server is now running.
{"metadata":{"emulator":{"name":"firestore"},"message":"\n export FIRESTORE_EMULATOR_HOST=localhost:8080\n\nDev App Server is now running.\n\n"}}
[2022-08-22T02:27:26.820Z] >>> [apiv2][query] GET https://firebase.googleapis.com/v1beta1/projects/lookieloo-app [none]
[2022-08-22T02:27:27.208Z] <<< [apiv2][status] GET https://firebase.googleapis.com/v1beta1/projects/lookieloo-app 200
[2022-08-22T02:27:27.209Z] <<< [apiv2][body] GET https://firebase.googleapis.com/v1beta1/projects/lookieloo-app {"projectId":"lookieloo-app","projectNumber":"221274282648","displayName":"Lookieloo","name":"projects/lookieloo-app","resources":{"hostingSite":"lookieloo-app","realtimeDatabaseInstance":"lookieloo-app-default-rtdb","storageBucket":"lookieloo-app.appspot.com","locationId":"us-central"},"state":"ACTIVE","etag":"1_4baaaa7a-b8ae-40c8-b797-7565dedd198c"}
[2022-08-22T02:27:27.211Z] database rules config: [{"instance":"lookieloo-app-default-rtdb","rules":"/Users/paymahn/code/lookieloo/firebase-config/database.rules.json"}]
[2022-08-22T02:27:27.217Z] Ignoring unsupported arg: projectId {"metadata":{"emulator":{"name":"database"},"message":"Ignoring unsupported arg: projectId"}}
[2022-08-22T02:27:27.218Z] Ignoring unsupported arg: auto_download {"metadata":{"emulator":{"name":"database"},"message":"Ignoring unsupported arg: auto_download"}}
[2022-08-22T02:27:27.218Z] Ignoring unsupported arg: rules {"metadata":{"emulator":{"name":"database"},"message":"Ignoring unsupported arg: rules"}}
[2022-08-22T02:27:27.218Z] Starting Database Emulator with command {"binary":"java","args":["-Duser.language=en","-jar","/Users/paymahn/.cache/firebase/emulators/firebase-database-emulator-v4.8.0.jar","--host","localhost","--port",9000,"--functions_emulator_host","localhost","--functions_emulator_port",5001],"optionalArgs":["port","host","functions_emulator_port","functions_emulator_host"],"joinArgs":false} {"metadata":{"emulator":{"name":"database"},"message":"Starting Database Emulator with command {\"binary\":\"java\",\"args\":[\"-Duser.language=en\",\"-jar\",\"/Users/paymahn/.cache/firebase/emulators/firebase-database-emulator-v4.8.0.jar\",\"--host\",\"localhost\",\"--port\",9000,\"--functions_emulator_host\",\"localhost\",\"--functions_emulator_port\",5001],\"optionalArgs\":[\"port\",\"host\",\"functions_emulator_port\",\"functions_emulator_host\"],\"joinArgs\":false}"}}
i database: Database Emulator logging to database-debug.log {"metadata":{"emulator":{"name":"database"},"message":"Database Emulator logging to \u001b[1mdatabase-debug.log\u001b[22m"}}
[2022-08-22T02:27:27.740Z] 20:27:27.739 [NamespaceSystem-akka.actor.default-dispatcher-4] INFO akka.event.slf4j.Slf4jLogger - Slf4jLogger started
{"metadata":{"emulator":{"name":"database"},"message":"20:27:27.739 [NamespaceSystem-akka.actor.default-dispatcher-4] INFO akka.event.slf4j.Slf4jLogger - Slf4jLogger started\n"}}
[2022-08-22T02:27:27.820Z] 20:27:27.820 [main] INFO com.firebase.server.forge.App$ - Listening at localhost:9000
{"metadata":{"emulator":{"name":"database"},"message":"20:27:27.820 [main] INFO com.firebase.server.forge.App$ - Listening at localhost:9000\n"}}
[2022-08-22T02:27:30.700Z] Ignoring unsupported arg: port {"metadata":{"emulator":{"name":"storage"},"message":"Ignoring unsupported arg: port"}}
[2022-08-22T02:27:31.048Z] Temp file directory for storage emulator: /var/folders/2b/1gkdb80j6pq4m61pm1nsdmhh0000gp/T/firebase/storage/blobs {"metadata":{"emulator":{"name":"storage"},"message":"Temp file directory for storage emulator: /var/folders/2b/1gkdb80j6pq4m61pm1nsdmhh0000gp/T/firebase/storage/blobs"}}
[2022-08-22T02:27:31.320Z] Ignoring unsupported arg: auto_download {"metadata":{"emulator":{"name":"ui"},"message":"Ignoring unsupported arg: auto_download"}}
[2022-08-22T02:27:31.320Z] Ignoring unsupported arg: port {"metadata":{"emulator":{"name":"ui"},"message":"Ignoring unsupported arg: port"}}
[2022-08-22T02:27:31.320Z] Starting Emulator UI with command {"binary":"node","args":["/Users/paymahn/.cache/firebase/emulators/ui-v1.9.0/server/server.js"],"optionalArgs":[],"joinArgs":false} {"metadata":{"emulator":{"name":"ui"},"message":"Starting Emulator UI with command {\"binary\":\"node\",\"args\":[\"/Users/paymahn/.cache/firebase/emulators/ui-v1.9.0/server/server.js\"],\"optionalArgs\":[],\"joinArgs\":false}"}}
i ui: Emulator UI logging to ui-debug.log {"metadata":{"emulator":{"name":"ui"},"message":"Emulator UI logging to \u001b[1mui-debug.log\u001b[22m"}}
[2022-08-22T02:27:31.413Z] Web / API server started at localhost:4000
{"metadata":{"emulator":{"name":"ui"},"message":"Web / API server started at localhost:4000\n"}}
i functions: Watching "/Users/paymahn/code/lookieloo/functions" for Cloud Functions... {"metadata":{"emulator":{"name":"functions"},"message":"Watching \"/Users/paymahn/code/lookieloo/functions\" for Cloud Functions..."}}
[2022-08-22T02:27:31.605Z] Validating nodejs source
[2022-08-22T02:27:32.335Z] > [functions] package.json contents: {
"name": "functions",
"scripts": {
"lint": "eslint .",
"build": "tsc",
"build:watch": "tsc --watch",
"serve": "npm run build && firebase emulators:start --only functions",
"shell": "npm run build && firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"engines": {
"node": "16"
},
"main": "lib/index.js",
"dependencies": {
"firebase-admin": "^10.0.2",
"firebase-functions": "^3.18.0"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.12.0",
"@typescript-eslint/parser": "^5.12.0",
"eslint": "^8.9.0",
"eslint-config-google": "^0.14.0",
"eslint-plugin-import": "^2.25.4",
"firebase-functions-test": "^0.2.0",
"typescript": "^4.5.4"
},
"private": true
}
[2022-08-22T02:27:32.335Z] Building nodejs source
[2022-08-22T02:27:32.336Z] Analyzing nodejs backend spec
[2022-08-22T02:27:32.337Z] Could not find functions.yaml. Must use http discovery
[2022-08-22T02:27:32.396Z] Aug 21, 2022 8:27:32 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Aug 21, 2022 8:27:32 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
[2022-08-22T02:27:32.413Z] Serving at port 9005
[2022-08-22T02:27:32.421Z] >>> [apiv2][query] GET https://firebase.googleapis.com/v1beta1/projects/lookieloo-app/adminSdkConfig [none]
[2022-08-22T02:27:32.424Z] Aug 21, 2022 8:27:32 PM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketChannelHandler initChannel
INFO: Connected to new websocket client
{"metadata":{"emulator":{"name":"firestore"},"message":"Aug 21, 2022 8:27:32 PM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketChannelHandler initChannel\nINFO: Connected to new websocket client\n"}}
[2022-08-22T02:27:32.439Z] Got response from /__/functions.yaml {"endpoints":{"helloWorld2":{"platform":"gcfv1","labels":{},"callableTrigger":{},"entryPoint":"helloWorld2"}},"specVersion":"v1alpha1","requiredAPIs":[]}
[2022-08-22T02:27:32.443Z] shutdown requested via /__/quitquitquit
✔ functions: Loaded functions definitions from source: helloWorld2. {"metadata":{"emulator":{"name":"functions"},"message":"Loaded functions definitions from source: helloWorld2."}}
✔ functions[us-central1-helloWorld2]: http function initialized (http://localhost:5001/lookieloo-app/us-central1/helloWorld2). {"metadata":{"emulator":{"name":"functions"},"message":"\u001b[1mhttp\u001b[22m function initialized (http://localhost:5001/lookieloo-app/us-central1/helloWorld2)."}}
[2022-08-22T02:27:32.447Z] >>> [apiv2][query] PUT http://localhost:9000/.settings/rules.json ns=lookieloo-app-default-rtdb
[2022-08-22T02:27:32.447Z] >>> [apiv2][body] PUT http://localhost:9000/.settings/rules.json "{\n /* Visit https://firebase.google.com/docs/database/security to learn more about security rules. */\n \"rules\": {\n \".read\": false,\n \".write\": false\n }\n}\n"
[2022-08-22T02:27:32.571Z] 20:27:32.571 [NamespaceSystem-akka.actor.default-dispatcher-5] INFO com.firebase.core.namespace.NamespaceActor - lookieloo-app-default-rtdb successfully activated FBKV (SurveyIdle(0)) wait: 54ms, init: 0ms
{"metadata":{"emulator":{"name":"database"},"message":"20:27:32.571 [NamespaceSystem-akka.actor.default-dispatcher-5] INFO com.firebase.core.namespace.NamespaceActor - lookieloo-app-default-rtdb successfully activated FBKV (SurveyIdle(0)) wait: 54ms, init: 0ms\n"}}
[2022-08-22T02:27:32.598Z] 20:27:32.598 [NamespaceSystem-blocking-namespace-operation-dispatcher-6:lookieloo-app-default-rtdb$1659282509:] INFO com.firebase.core.namespace.StateManager - Namespace lookieloo-app-default-rtdb status Active to Active
{"metadata":{"emulator":{"name":"database"},"message":"20:27:32.598 [NamespaceSystem-blocking-namespace-operation-dispatcher-6:lookieloo-app-default-rtdb$1659282509:] INFO com.firebase.core.namespace.StateManager - Namespace lookieloo-app-default-rtdb status Active to Active\n"}}
[2022-08-22T02:27:32.610Z] <<< [apiv2][status] PUT http://localhost:9000/.settings/rules.json 200
[2022-08-22T02:27:32.611Z] <<< [apiv2][body] PUT http://localhost:9000/.settings/rules.json {"status":"ok"}
┌─────────────────────────────────────────────────────────────┐
│ ✔ All emulators ready! It is now safe to connect your app. │
│ i View Emulator UI at http://localhost:4000 │
└─────────────────────────────────────────────────────────────┘
┌────────────────┬────────────────┬─────────────────────────────────┐
│ Emulator │ Host:Port │ View in Emulator UI │
├────────────────┼────────────────┼─────────────────────────────────┤
│ Authentication │ localhost:9099 │ http://localhost:4000/auth │
├────────────────┼────────────────┼─────────────────────────────────┤
│ Functions │ localhost:5001 │ http://localhost:4000/functions │
├────────────────┼────────────────┼─────────────────────────────────┤
│ Firestore │ localhost:8080 │ http://localhost:4000/firestore │
├────────────────┼────────────────┼─────────────────────────────────┤
│ Database │ localhost:9000 │ http://localhost:4000/database │
├────────────────┼────────────────┼─────────────────────────────────┤
│ Storage │ localhost:9199 │ http://localhost:4000/storage │
├────────────────┼────────────────┼─────────────────────────────────┤
│ Eventarc │ localhost:9299 │ n/a │
└────────────────┴────────────────┴─────────────────────────────────┘
Emulator Hub running at localhost:4400
Other reserved ports: 4500
Issues? Report them at https://github.com/firebase/firebase-tools/issues and attach the *-debug.log files.
[2022-08-22T02:27:34.239Z] <<< [apiv2][status] GET https://firebase.googleapis.com/v1beta1/projects/lookieloo-app/adminSdkConfig 200
[2022-08-22T02:27:34.240Z] <<< [apiv2][body] GET https://firebase.googleapis.com/v1beta1/projects/lookieloo-app/adminSdkConfig {"projectId":"lookieloo-app","databaseURL":"https://lookieloo-app-default-rtdb.firebaseio.com","storageBucket":"lookieloo-app.appspot.com","locationId":"us-central"}
[2022-08-22T02:27:34.445Z] Aug 21, 2022 8:27:34 PM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketChannelHandler channelClosed
INFO: Websocket client disconnected
{"metadata":{"emulator":{"name":"firestore"},"message":"Aug 21, 2022 8:27:34 PM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketChannelHandler channelClosed\nINFO: Websocket client disconnected\n"}}
[2022-08-22T02:27:34.764Z] Aug 21, 2022 8:27:34 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Aug 21, 2022 8:27:34 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
[2022-08-22T02:27:34.773Z] Aug 21, 2022 8:27:34 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Aug 21, 2022 8:27:34 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
[2022-08-22T02:27:34.803Z] Aug 21, 2022 8:27:34 PM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketChannelHandler initChannel
INFO: Connected to new websocket client
{"metadata":{"emulator":{"name":"firestore"},"message":"Aug 21, 2022 8:27:34 PM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketChannelHandler initChannel\nINFO: Connected to new websocket client\n"}}
[2022-08-22T02:27:38.802Z] Aug 21, 2022 8:27:38 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Aug 21, 2022 8:27:38 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
[2022-08-22T02:27:40.847Z] Aug 21, 2022 8:27:40 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Aug 21, 2022 8:27:40 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
[2022-08-22T02:27:42.888Z] Aug 21, 2022 8:27:42 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Aug 21, 2022 8:27:42 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
[2022-08-22T02:27:44.935Z] Aug 21, 2022 8:27:44 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Aug 21, 2022 8:27:44 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
[2022-08-22T02:27:46.970Z] Aug 21, 2022 8:27:46 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Aug 21, 2022 8:27:46 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
⚠ Permission denied because no Storage ruleset is currently loaded, check your rules for syntax errors. {"metadata":{"emulator":{"name":"storage"},"message":"Permission denied because no Storage ruleset is currently loaded, check your rules for syntax errors."}}
[2022-08-22T02:28:10.051Z] Aug 21, 2022 8:28:10 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Aug 21, 2022 8:28:10 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
[2022-08-22T02:28:12.264Z] Aug 21, 2022 8:28:12 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Aug 21, 2022 8:28:12 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
⚠ Permission denied because no Storage ruleset is currently loaded, check your rules for syntax errors. {"metadata":{"emulator":{"name":"storage"},"message":"Permission denied because no Storage ruleset is currently loaded, check your rules for syntax errors."}}
[2022-08-22T02:28:12.529Z] Aug 21, 2022 8:28:12 PM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketChannelHandler channelClosed
INFO: Websocket client disconnected
{"metadata":{"emulator":{"name":"firestore"},"message":"Aug 21, 2022 8:28:12 PM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketChannelHandler channelClosed\nINFO: Websocket client disconnected\n"}}
```
Contributor guide
Assessment
This issue has not been assessed yet.