-
Notifications
You must be signed in to change notification settings - Fork 125
Comparing changes
Open a pull request
base repository: firebase/firebase-cpp-sdk
base: main
head repository: firebase/firebase-cpp-sdk
compare: storage_list_build_errors
- 11 commits
- 20 files changed
- 2 contributors
Commits on Jun 9, 2025
-
feat: Implement List and ListAll API for StorageReference
Adds the `List(max_results, page_token)` and `ListAll()` methods to the `firebase::storage::StorageReference` C++ API. These methods allow you to list objects and common prefixes (directories) within a storage location. Features: - Paginated listing using `List(max_results, page_token)`. - Comprehensive listing using `ListAll()`. - Returns a `Future<ListResult>`, where `ListResult` contains a list of `StorageReference` objects for items and prefixes, and a page token for continuation. - Implemented for Android by calling the underlying Firebase Android SDK's list operations via JNI. - Implemented for iOS by calling the underlying Firebase iOS SDK's list operations. - Desktop platform provides stubs that return `kErrorUnimplemented`. - Includes comprehensive integration tests covering various scenarios such as basic listing, pagination, empty folders, and listing non-existent paths.
Configuration menu - View commit details
-
Copy full SHA for 5e9fc6b - Browse repository at this point
Copy the full SHA 5e9fc6bView commit details -
I've addressed the review comments for the Storage List API.
Here's a summary of the changes: - Integration Tests: - I removed `SKIP_TEST_ON_ANDROID_EMULATOR` from the `ListAllBasic` and `ListPaginated` tests. - I refactored the list tests so they create their own unique root folders instead of using a shared one in the test fixture. This improves test isolation. - Code Style: - I removed unnecessary comments that were explaining header includes. - I removed placeholder comments from public headers. - I updated the copyright year to 2025 in all newly added files. - Android Performance: - I optimized Android's `ListResultInternal` to cache converted items, prefixes, and the page token. This will avoid repeated JNI calls on subsequent accesses. - Cleanup Mechanism: - I simplified the `ListResult` cleanup by removing the `ListResultInternalCommon` class. `ListResult` now directly manages the cleanup registration of its `internal_` member, similar to `StorageReference`.
Configuration menu - View commit details
-
Copy full SHA for 989eb79 - Browse repository at this point
Copy the full SHA 989eb79View commit details -
refactor: Address review comments for Storage List API
Incorporates feedback from the initial review of the List API: - Build Fix: - Explicitly namespaced StorageReference in list_result.h to resolve undeclared identifier error. - Integration Tests: - Removed SKIP_TEST_ON_ANDROID_EMULATOR from ListAllBasic and ListPaginated tests. - Refactored list tests to create their own unique root folders instead of using a shared one in the test fixture, improving test isolation. - Code Style: - Removed unnecessary comments explaining header includes. - Removed placeholder comments from public headers. - Updated copyright year to 2025 in all newly added files. - Ran code formatter (scripts/format_code.py -git_diff) on all changed files. - Android Performance: - Optimized Android's ListResultInternal to cache converted items, prefixes, and page token. This avoids repeated JNI calls on subsequent accesses. - Cleanup Mechanism: - Simplified ListResult cleanup by removing the ListResultInternalCommon class. ListResult now directly manages the cleanup registration of its internal_ member, similar to StorageReference.
Configuration menu - View commit details
-
Copy full SHA for 2ceddb2 - Browse repository at this point
Copy the full SHA 2ceddb2View commit details
Commits on Jun 10, 2025
-
I've resolved a build error caused by a circular include dependency b…
…etween `storage_reference.h` and `list_result.h` by forward-declaring `ListResult` in `storage_reference.h`. This commit also incorporates your previous feedback from the initial review of the List API: - Build Fixes: - Forward-declared `ListResult` in `storage_reference.h`. - Reverted non-standard include placement in `list_result.h`. - Explicitly namespaced `StorageReference` in `list_result.h` (previous attempt, kept). - Integration Tests: - Removed `SKIP_TEST_ON_ANDROID_EMULATOR` from `ListAllBasic` and `ListPaginated` tests. - Refactored list tests to create their own unique root folders instead of using a shared one in the test fixture, improving test isolation. - Code Style: - Removed unnecessary comments explaining header includes. - Removed placeholder comments from public headers. - Updated copyright year to 2025 in all newly added files. - Ran the code formatter on all changed files. - Android Performance: - Optimized Android's `ListResultInternal` to cache converted items, prefixes, and page token. This avoids repeated JNI calls on subsequent accesses. - Cleanup Mechanism: - Simplified `ListResult` cleanup by removing the `ListResultInternalCommon` class. `ListResult` now directly manages the cleanup registration of its `internal_` member, similar to `StorageReference`.
Configuration menu - View commit details
-
Copy full SHA for 2b39c8f - Browse repository at this point
Copy the full SHA 2b39c8fView commit details -
I've made some updates to resolve build errors and address your feedb…
…ack for the List API. Here's a summary of the changes: I resolved build errors related to includes and circular dependencies for the Storage List API. Specifically: - I fixed a circular include dependency between `storage_reference.h` and `list_result.h` by forward-declaring `ListResult` in `storage_reference.h`. - I corrected the include path for platform-specific `StorageInternal` in `list_result.cc`. This update also incorporates your previous feedback from the initial review: - Build Fixes: - I forward-declared `ListResult` in `storage_reference.h`. - I reverted non-standard include placement in `list_result.h`. - I explicitly namespaced `StorageReference` in `list_result.h` (this was a previous attempt that I kept). - I corrected the `StorageInternal` include in `list_result.cc`. - Integration Tests: - I removed `SKIP_TEST_ON_ANDROID_EMULATOR` from `ListAllBasic` and `ListPaginated` tests. - I refactored list tests to create their own unique root folders instead of using a shared one in the test fixture, which should improve test isolation. - Code Style: - I removed unnecessary comments explaining header includes. - I removed placeholder comments from public headers. - I updated the copyright year to 2025 in all newly added files. - I applied code formatting to all changed files. - Android Performance: - I optimized Android's `ListResultInternal` to cache converted items, prefixes, and page token. This should avoid repeated JNI calls on subsequent accesses. - Cleanup Mechanism: - I simplified `ListResult` cleanup by removing the `ListResultInternalCommon` class. `ListResult` now directly manages the cleanup registration of its `internal_` member, similar to `StorageReference`.
Configuration menu - View commit details
-
Copy full SHA for cd50563 - Browse repository at this point
Copy the full SHA cd50563View commit details
Commits on Jun 11, 2025
-
refactor: Correct StorageInternal includes and finalize feedback
Corrects include directives for platform-specific StorageInternal definitions in list_result_android.h, list_result_ios.h, and list_result_desktop.h. Removes includes for the deleted ListResultInternalCommon class. This commit also incorporates previous feedback and build fixes: - Build Fixes: - Resolved circular include dependency between storage_reference.h and list_result.h by forward-declaring ListResult in storage_reference.h. - Corrected includes in list_result.cc and platform-specific list_result_*.h files to use appropriate platform-specific headers for StorageInternal definitions. - Integration Tests: - Removed SKIP_TEST_ON_ANDROID_EMULATOR from ListAllBasic and ListPaginated tests. - Refactored list tests to create their own unique root folders. - Code Style: - Removed unnecessary comments. - Updated copyright years to 2025. - Ran code formatter on all changed files. - Android Performance: - Optimized Android's ListResultInternal to cache converted data. - Cleanup Mechanism: - Simplified ListResult cleanup logic.
Configuration menu - View commit details
-
Copy full SHA for 3e4e046 - Browse repository at this point
Copy the full SHA 3e4e046View commit details -
refactor: Final cleanup and fixes for Storage List API
Addresses all outstanding review comments and build errors for the Storage List API feature. This includes: - Build Fixes: - Resolved circular include dependency between storage_reference.h and list_result.h by forward-declaring ListResult in storage_reference.h. - Corrected includes in list_result.cc and platform-specific list_result_*.h files to use appropriate platform-specific headers for StorageInternal definitions. - Code Cleanup: - Thoroughly removed commented-out code and unused includes. - Removed all explanatory comments next to #include directives. - Eliminated stray or development-related comments. - Integration Tests: - Removed SKIP_TEST_ON_ANDROID_EMULATOR from ListAllBasic and ListPaginated tests. - Refactored list tests to create their own unique root folders. - Code Style: - Updated copyright year to 2025 in all newly added files. - Ran code formatter (scripts/format_code.py -git_diff) on all changed files. - Android Performance: - Optimized Android's ListResultInternal to cache converted data. - Cleanup Mechanism: - Simplified ListResult cleanup logic by removing ListResultInternalCommon.
Configuration menu - View commit details
-
Copy full SHA for 61e6bbb - Browse repository at this point
Copy the full SHA 61e6bbbView commit details
Commits on Jun 27, 2025
-
Add script to print GitHub workflow run errors
This script allows users to specify a workflow name and branch to find the latest run. It then identifies any failed jobs within that run and prints the last N lines of logs for each failed step. Key features: - Fetches the most recent workflow run for a given workflow and branch. - Identifies jobs within the run that have a 'failure' conclusion. - For each failed job, attempts to identify failed steps and extracts their logs. - Prints the last 500 lines (configurable) of the log for each failed step. - Handles various scenarios including successful runs, running workflows, and missing data. - Supports GitHub token via CLI arg, env var, or ~/.github_token. - Auto-detects repository from git remote, or accepts via CLI args.
Configuration menu - View commit details
-
Copy full SHA for 33bd1f3 - Browse repository at this point
Copy the full SHA 33bd1f3View commit details -
Enhance workflow error script with options and defaults
This commit updates the `print_workflow_run_errors.py` script: - Workflow name and branch are now optional arguments: - `--workflow` (or `--workflow-name`) defaults to "integration_test.yml". - `--branch` defaults to the current Git branch. - Changed default log lines printed from 500 to 100 (`--log-lines`). - Added `--all-failed-steps` flag: - If false (default), only logs for the first failed step in a job are printed. - If true, logs for all failed steps in a job are printed. These changes provide more flexibility and sensible defaults for common use cases.
Configuration menu - View commit details
-
Copy full SHA for bcdf292 - Browse repository at this point
Copy the full SHA bcdf292View commit details -
Add grep functionality to workflow error script
This commit introduces a grep-like feature to the `print_workflow_run_errors.py` script. New features: - Added `--grep-pattern` (`-g`) argument to specify an Extended Regular Expression (ERE) for searching within fetched logs. - Added `--grep-context` (`-C`) argument to specify the number of lines of context to show around matches (default is 5). Behavior: - If a grep pattern is provided, the script will use the system `grep` command to filter the logs of failed steps (or the full job log if a specific step's log cannot be isolated). - Output clearly indicates when grep results are shown, the pattern used, and the context lines. - Handles cases where `grep` finds no matches or if the `grep` command itself fails (e.g., not found, bad pattern). - If no grep pattern is provided, the script defaults to its previous behavior of printing the last N lines of the log.
Configuration menu - View commit details
-
Copy full SHA for 6ba2558 - Browse repository at this point
Copy the full SHA 6ba2558View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0f08f58 - Browse repository at this point
Copy the full SHA 0f08f58View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff main...storage_list_build_errors