Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: firebase/firebase-cpp-sdk
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: firebase/firebase-cpp-sdk
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: storage_list_build_errors
Choose a head ref
  • 11 commits
  • 20 files changed
  • 2 contributors

Commits on Jun 9, 2025

  1. 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.
    google-labs-jules[bot] committed Jun 9, 2025
    Configuration menu
    Copy the full SHA
    5e9fc6b View commit details
    Browse the repository at this point in the history
  2. 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`.
    google-labs-jules[bot] committed Jun 9, 2025
    Configuration menu
    Copy the full SHA
    989eb79 View commit details
    Browse the repository at this point in the history
  3. 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.
    google-labs-jules[bot] committed Jun 9, 2025
    Configuration menu
    Copy the full SHA
    2ceddb2 View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2025

  1. 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`.
    google-labs-jules[bot] committed Jun 10, 2025
    Configuration menu
    Copy the full SHA
    2b39c8f View commit details
    Browse the repository at this point in the history
  2. 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`.
    google-labs-jules[bot] committed Jun 10, 2025
    Configuration menu
    Copy the full SHA
    cd50563 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2025

  1. 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.
    google-labs-jules[bot] committed Jun 11, 2025
    Configuration menu
    Copy the full SHA
    3e4e046 View commit details
    Browse the repository at this point in the history
  2. 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.
    google-labs-jules[bot] committed Jun 11, 2025
    Configuration menu
    Copy the full SHA
    61e6bbb View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2025

  1. 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.
    google-labs-jules[bot] committed Jun 27, 2025
    Configuration menu
    Copy the full SHA
    33bd1f3 View commit details
    Browse the repository at this point in the history
  2. 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.
    google-labs-jules[bot] committed Jun 27, 2025
    Configuration menu
    Copy the full SHA
    bcdf292 View commit details
    Browse the repository at this point in the history
  3. 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.
    google-labs-jules[bot] committed Jun 27, 2025
    Configuration menu
    Copy the full SHA
    6ba2558 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0f08f58 View commit details
    Browse the repository at this point in the history
Loading