firebase / firebase/firebase-ios-sdk

Fix error generation when status is .internal

Open
#11,310 1 comment 0 reactions 1 assignee Claimed by @taeold View on GitHub
api: functions
Dominant language
C++
Stars
6.7k
Forks
1.8k
Avg merge
2d 6h
Merged PRs (30d)
73

Description

### Description

**Expectation**
When an `internal` error is received on the client side (iOS), I would expect to contain the following:
```typescript
code: internal
message:
```
**Reality**
What actually happens is that the message is dropped/rewritten with `INTERNAL`, so any potential critical information gets destroyed.

### Reproducing the issue

From a cloud function throw the following error:
```typescript
throw new functions.https.HttpsError('internal', 'Something really bad happened!')
```
On the client, the content of the generated message is:
```typescript
code: INTERNAL
message: INTERNAL
```

### Firebase SDK Version

10.9.0

### Xcode Version

14.3

### Installation Method

Swift Package Manager

### Firebase Product(s)

Functions

### Targeted Platforms

iOS

### Relevant Log Output

_No response_

### If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet

```json

{
"pins" : [
{
"identity" : "abseil-cpp-binary",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/abseil-cpp-binary.git",
"state" : {
"revision" : "bfc0b6f81adc06ce5121eb23f628473638d67c5c",
"version" : "1.2022062300.0"
}
},
{
"identity" : "gcdwebserver",
"kind" : "remoteSourceControl",
"location" : "https://github.com/SlaunchaMan/GCDWebServer.git",
"state" : {
"revision" : "935e2736044e71e5341663c3cc9a335ba6867a2b"
}
},
{
"identity" : "googleappmeasurement",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/GoogleAppMeasurement.git",
"state" : {
"branch" : "main",
"revision" : "69f5b8425dd473d2f2475bba7f88f82cd9da0e36"
}
},
{
"identity" : "googledatatransport",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/GoogleDataTransport.git",
"state" : {
"revision" : "7874c1b48cbffd086ce8a052c4be873a78613775",
"version" : "9.2.3"
}
},
{
"identity" : "googleutilities",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/GoogleUtilities.git",
"state" : {
"revision" : "871d43135925cde39ef7421d8723ce47edfdcc39",
"version" : "7.11.1"
}
},
{
"identity" : "grpc-binary",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/grpc-binary.git",
"state" : {
"revision" : "2b7656d8ee892cd39db460b1a0d849de618405e6",
"version" : "1.50.1"
}
},
{
"identity" : "gtm-session-fetcher",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/gtm-session-fetcher.git",
"state" : {
"revision" : "d415594121c9e8a4f9d79cecee0965cf35e74dbd",
"version" : "3.1.1"
}
},
{
"identity" : "leveldb",
"kind" : "remoteSourceControl",
"location" : "https://github.com/firebase/leveldb.git",
"state" : {
"revision" : "0706abcc6b0bd9cedfbb015ba840e4a780b5159b",
"version" : "1.22.2"
}
},
{
"identity" : "nanopb",
"kind" : "remoteSourceControl",
"location" : "https://github.com/firebase/nanopb.git",
"state" : {
"revision" : "819d0a2173aff699fb8c364b6fb906f7cdb1a692",
"version" : "2.30909.0"
}
},
{
"identity" : "ocmock",
"kind" : "remoteSourceControl",
"location" : "https://github.com/erikdoe/ocmock.git",
"state" : {
"revision" : "c5eeaa6dde7c308a5ce48ae4d4530462dd3a1110"
}
},
{
"identity" : "promises",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/promises.git",
"state" : {
"revision" : "ec957ccddbcc710ccc64c9dcbd4c7006fcf8b73a",
"version" : "2.2.0"
}
},
{
"identity" : "swift-protobuf",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-protobuf.git",
"state" : {
"revision" : "0af9125c4eae12a4973fb66574c53a54962a9e1e",
"version" : "1.21.0"
}
}
],
"version" : 2
}

```

### If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet

```yml

Replace this line with the contents of your Podfile.lock!

```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.