Skip to content

misc fixes for v0.6.8 - #1342

Merged
eschultink merged 4 commits into
rc-v0.6.8from
v0.6.8-fixes
Jul 21, 2026
Merged

misc fixes for v0.6.8#1342
eschultink merged 4 commits into
rc-v0.6.8from
v0.6.8-fixes

Conversation

@eschultink

@eschultink eschultink commented Jul 1, 2026

Copy link
Copy Markdown
Member

Summary

  • Fix String.format placeholders in CachingConfigServiceDecorator transient retry warning log
  • Replaces MessageFormat-style {0} placeholders with %d/%s so attempt number, max retries, and config property name are actually logged
  • inc node deps
  • inc Jackson to avoid some vulnerabilities

Test plan

  • Verified compile-time fix only; no behavior change beyond correct log interpolation
  • CI passes

Made with Cursor

MessageFormat-style {0} placeholders were passed to String.format, so retry attempt details were never interpolated.

Co-authored-by: Cursor <cursoragent@cursor.com>
@eschultink eschultink changed the title Fix String.format placeholders in config cache retry log misc fixes for v0.6.8 Jul 1, 2026
eschultink and others added 2 commits July 1, 2026 14:42
Routine maintenance: update Maven property versions and AWS/GCP-adjacent libraries, and confirm npm audit fix reports no vulnerabilities in tool packages.

Co-authored-by: Cursor <cursoragent@cursor.com>
Jackson 2.22 uses patch-less versioning for jackson-annotations; importing the BOM aligns module versions consistently with the main Worklytics codebase.

Co-authored-by: Cursor <cursoragent@cursor.com>
@eschultink eschultink self-assigned this Jul 14, 2026
@eschultink
eschultink requested review from aperez-worklytics, Copilot and jlorper and removed request for aperez-worklytics and jlorper July 14, 2026 14:58
@eschultink
eschultink marked this pull request as ready for review July 14, 2026 14:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR bundles dependency/version updates for the Java build (including importing the Jackson BOM) and fixes a transient-retry warning log message so retry attempt details are actually interpolated.

Changes:

  • Bump multiple Java dependency versions (Lombok, Jackson, Guava, Commons, Mockito, BouncyCastle, etc.) and add com.fasterxml.jackson:jackson-bom to align Jackson module versions.
  • Remove per-module Jackson <version> declarations to rely on the imported BOM.
  • Fix String.format placeholders in CachingConfigServiceDecorator transient retry warning log.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
java/pom.xml Updates shared dependency versions and imports Jackson BOM for consistent Jackson module alignment.
java/impl/cmd-line/pom.xml Removes explicit Jackson versions to rely on parent/BOM-managed versions.
java/impl/aws/pom.xml Updates AWS Lambda and New Relic Lambda dependency versions for the AWS implementation.
java/gateway-core/pom.xml Updates select dependency versions and removes explicit Jackson versions to rely on BOM.
java/core/src/main/java/co/worklytics/psoxy/gateway/impl/CachingConfigServiceDecorator.java Fixes retry warning log formatting so attempt/max/key values are interpolated.
java/core/pom.xml Removes explicit Jackson versions (BOM-managed) and updates nimbus-jose-jwt.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread java/pom.xml
Comment on lines 12 to +15
<properties>
<revision>0.6.7</revision>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<dependency.lombok.version>1.18.42</dependency.lombok.version>
<dependency.lombok.version>1.18.46</dependency.lombok.version>
Comment thread java/pom.xml
Comment on lines +15 to +18
<dependency.lombok.version>1.18.46</dependency.lombok.version>
<dependency.dagger.version>2.40.5</dependency.dagger.version>
<dependency.jackson.version>2.18.3</dependency.jackson.version>
<dependency.apache-commons-lang3.version>3.19.0</dependency.apache-commons-lang3.version>
<dependency.jackson.version>2.22.0</dependency.jackson.version>
<dependency.apache-commons-lang3.version>3.20.0</dependency.apache-commons-lang3.version>
Comment on lines +85 to 86
log.log(Level.WARNING, String.format("Transient failure on attempt %d/%d for config property %s",
attempt + 1, MAX_TRANSIENT_RETRIES, key.name()));
Comment thread java/pom.xml Outdated

@jlorper jlorper left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Check my comment, use 2.22.1 or dependabot alert will appear

@jlorper

jlorper commented Jul 21, 2026

Copy link
Copy Markdown
Member

Check my comment, use 2.22.1 or dependabot alert will appear

I applied it

@eschultink
eschultink merged commit 5f1e49a into rc-v0.6.8 Jul 21, 2026
119 checks passed
@eschultink
eschultink deleted the v0.6.8-fixes branch July 21, 2026 15:52
eschultink added a commit that referenced this pull request Jul 24, 2026
* update release refs to rc-v0.6.8

* Review logging message (#1343)

* Anthropic rules update (#1344)

* Claude update

* Fix file format

* Recovering missing fields

* LocalDate as date

* document GCP APIs and DWD scope strings for Google Workspace connectors (#1345)

* Document GCP APIs and DWD scope strings for Google Workspace connectors.

Customers need explicit lists of APIs to enable and comma-separated OAuth scope URLs for Domain-wide Delegation grants, including a superset for shared service accounts.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Merge DWD scope CSV into Required OAuth Scopes on connector pages.

Avoid a separate Domain-wide Delegation section; keep the paste-ready scope string under the existing OAuth scopes heading.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Revert docs/README.md Google Workspace table to short scope list.

Keep detailed API and DWD scope documentation on the Google Workspace connector pages only.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Classify Google setup errors and slim troubleshooting docs.

Return specific X-Psoxy-Error codes and sanitized bodies for API-not-enabled and OAuth setup failures; document error-to-cause mapping as a skimmable list with dummy log examples.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Rename SOURCE_DWD_NOT_GRANTED and inject GoogleApiSetupErrorInterpreter.

Use SOURCE_AUTHORIZATION_NOT_GRANTED for cross-source admin-consent failures; wire ObjectMapper via Dagger constructor injection.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Document raw Google error signals for older proxy versions.

Show parsed log/response fragments that match GoogleApiSetupErrorInterpreter, with legacy X-Psoxy-Error fallbacks.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Note that OAuth scope mismatch can surface as 401 Unauthorized.

Document indistinguishable 401 for missing DWD vs wrong scopes; broaden SOURCE_AUTHORIZATION_NOT_GRANTED message accordingly.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix OAuth scope hint to reference OAUTH_SCOPES env var.

Deployed proxies read scopes from the environment via EnvVarsConfigService, not config.yaml.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Log OAuth token exchange failures at ERROR severity.

401 and other oauth2.googleapis.com/token failures now use SEVERE so they appear as errors in Cloud Logging.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Always log connection-setup IOExceptions at SEVERE.

Drop Google-specific oauth2.googleapis.com/token check from ApiDataRequestHandler; scope hint only when setup error interpreter matches.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Remove GoogleApiSetupErrorInterpreter; keep docs-only troubleshooting.

Roll back Google-specific error classification code and rewrite troubleshooting around log signals mapped to setup conditions.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>

* Zoom rules update (#1346)

* Updated test

* Updated rules

* misc fixes for v0.6.8 (#1342)

* Fix String.format placeholders in config cache retry log.

MessageFormat-style {0} placeholders were passed to String.format, so retry attempt details were never interpolated.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Bump minor Java and Node dependency versions.

Routine maintenance: update Maven property versions and AWS/GCP-adjacent libraries, and confirm npm audit fix reports no vulnerabilities in tool packages.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Upgrade Jackson to 2.22.0 via jackson-bom.

Jackson 2.22 uses patch-less versioning for jackson-annotations; importing the BOM aligns module versions consistently with the main Worklytics codebase.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Update Jackson BOM to latest

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Jose Lorenzo <jose@worklytics.co>

* update release refs to v0.6.8 (#1348)

* GCP support for application load balancer in front of API connector deployments (#1347)

* Add beta GCP external ALB composition support via api_connector_external_lb_host.

Wire ingress and public endpoint URLs from a customer-owned ALB host signal, document the pattern, and teach psoxy-test to call ALB URLs with self-signed TLS.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Address PR review: fix ALB IP CLI flags and cacert Promise errors.

Extract LB host without regex capture groups, reject invalid --cacert paths asynchronously, and remove Terraform interpolation from the external_lb_base_url description so validate succeeds.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Address PR review: HTTPS enforcement and simpler IP/path handling.

- Detect ALB IP hosts with cidrhost instead of regex
- Require https:// for proxy endpoints (Terraform check + psoxy-test)
- Simplify request path to pathname + search; warn on --allow-insecure-tls

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix CI: assert HTTPS on known external_lb_base_url only.

Checking proxy_endpoint_url fails terraform test because the Cloud Function URI is unknown until apply.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix HTTPS check for Terraform <1.12 null short-circuit.

Older Terraform evaluates both sides of ||, so startswith(null) failed module tests.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>

* v0.6.8 fixes (#1349)

* bump package-lock

* improve docs

* improve those docs

* refactor ALB stuff

* comment out external api alb in example

* fix IPv6-CIDR parsing in IP allowlists

Apache Commons Net SubnetUtils is IPv4-only, so valid IPv6-CIDR entries like /128 were rejected at startup.

Co-authored-by: Cursor <cursoragent@cursor.com>

* TODO to hide function url in prod; not possible via tf atm

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Address PR review comments on ALB example wiring

Remove the misleading top-level api_connector_external_lb_host variable; document the commented main.tf binding instead. Clarify troubleshooting placeholders to use cloud-function-name and environment_id_prefix.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Keep example-repo scripts LF on publish for WSL shebang compatibility. (#1351)

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix missing String::format

---------

Co-authored-by: aperez-worklytics <75276364+aperez-worklytics@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Jose Lorenzo <jose@worklytics.co>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants