Skip to content

Merge and update latest changes from CrisisTextLine/modular fork#46

Merged
intel352 merged 122 commits intomainfrom
copilot/fix-44-2
Aug 24, 2025
Merged

Merge and update latest changes from CrisisTextLine/modular fork#46
intel352 merged 122 commits intomainfrom
copilot/fix-44-2

Conversation

Copy link
Contributor

Copilot AI commented Aug 24, 2025

This PR successfully merges the latest changes from the CrisisTextLine/modular fork into the GoCodeAlone/modular repository and updates all repository references.

Changes Made

Fork Integration

  • Merged 270+ commits from CrisisTextLine/modular fork containing significant new features and improvements
  • Resolved all merge conflicts by accepting the fork's more complete codebase
  • Integrated new modules: logmasker, enhanced eventbus with multi-engine support
  • Added comprehensive BDD test coverage for all modules
  • Included new base configuration support with environment-specific overrides

Repository Migration

  • Updated all imports and module paths from github.com/CrisisTextLine/modular to github.com/GoCodeAlone/modular
  • Updated copyright from CrisisTextLine to GoCodeAlone in LICENSE file
  • Updated all documentation, README files, and GitHub workflow references
  • Updated CI/CD pipeline configurations and badge URLs

Build System Updates

  • Added replace directives to all modules for local development
  • Added inter-module replace directives (letsencrypt → httpserver)
  • Ran go mod tidy across root project, all modules, examples, and CLI
  • Verified all dependencies are properly resolved

Quality Assurance

  • Linter passes with 0 issues (golangci-lint run)
  • All core tests pass (270+ test cases)
  • All module tests pass with comprehensive BDD coverage
  • All example tests pass
  • CLI tests pass

New Features from Fork

  • Base configuration support with environment-specific overrides
  • Enhanced eventbus module with Kafka, Kinesis, and Redis support
  • New logmasker module for sensitive data masking
  • Comprehensive event observation testing infrastructure
  • Logger decorator pattern implementation
  • Enhanced error handling and event emission across all modules

The repository is now fully migrated to the GoCodeAlone organization with all the latest improvements and features from the original fork.

Fixes #44


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

intel352 and others added 30 commits July 10, 2025 17:17
---
updated-dependencies:
- dependency-name: github.com/go-chi/chi/v5
  dependency-version: 5.2.2
  dependency-type: indirect
  dependency-group: go_modules
- dependency-name: github.com/go-chi/chi/v5
  dependency-version: 5.2.2
  dependency-type: direct:production
  dependency-group: go_modules
- dependency-name: github.com/go-chi/chi/v5
  dependency-version: 5.2.2
  dependency-type: indirect
  dependency-group: go_modules
- dependency-name: github.com/go-chi/chi/v5
  dependency-version: 5.2.2
  dependency-type: indirect
  dependency-group: go_modules
...

Signed-off-by: dependabot[bot] <support@github.com>
…les/advanced-logging/go_modules-7aeb8db147

Bump the go_modules group across 4 directories with 1 update
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 7 to 8.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](golangci/golangci-lint-action@v7...v8)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…olangci/golangci-lint-action-8

Bump golangci/golangci-lint-action from 7 to 8
…ule dependencies

- Implemented IsVerboseConfig and SetVerboseConfig methods in mock application structs across various modules (eventbus, httpclient, httpserver, jsonschema, letsencrypt, reverseproxy, scheduler) to facilitate testing.
- Updated module dependencies for CrisisTextLine/modular from v1.3.0 to v1.4.0 in go.mod files of httpclient, httpserver, jsonschema, letsencrypt, reverseproxy, and scheduler.
- Removed indirect dependencies on golobby/config, golobby/dotenv, and golobby/env from multiple modules as they are no longer needed.
---
updated-dependencies:
- dependency-name: github.com/golang-jwt/jwt/v5
  dependency-version: 5.2.3
  dependency-type: direct:production
  dependency-group: go_modules
- dependency-name: golang.org/x/crypto
  dependency-version: 0.35.0
  dependency-type: direct:production
  dependency-group: go_modules
- dependency-name: github.com/go-chi/chi/v5
  dependency-version: 5.2.2
  dependency-type: direct:production
  dependency-group: go_modules
- dependency-name: github.com/golang-jwt/jwt/v5
  dependency-version: 5.2.2
  dependency-type: indirect
  dependency-group: go_modules
- dependency-name: golang.org/x/crypto
  dependency-version: 0.40.0
  dependency-type: indirect
  dependency-group: go_modules
- dependency-name: golang.org/x/net
  dependency-version: 0.41.0
  dependency-type: indirect
  dependency-group: go_modules
- dependency-name: github.com/go-chi/chi/v5
  dependency-version: 5.2.2
  dependency-type: direct:production
  dependency-group: go_modules
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Expand YAML, TOML, JSON test coverage for all types and fix critical feeder bugs
…es/auth/go_modules-8b5a6ae074

Bump the go_modules group across 4 directories with 4 updates
…e tests

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
… pass

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Fix time.Duration casting support in all configuration feeders
)

* Initial plan

* Implement reverseproxy hostname forwarding fix and path rewriting features

Co-authored-by: ctl-fchao <174371036+ctl-fchao@users.noreply.github.com>

* Add comprehensive documentation for hostname forwarding and path rewriting features

Co-authored-by: ctl-fchao <174371036+ctl-fchao@users.noreply.github.com>

* Fix linting errors in reverseproxy test files

Co-authored-by: ctl-fchao <174371036+ctl-fchao@users.noreply.github.com>

* Implement per-backend and per-endpoint path rewriting and header rewriting configuration

Co-authored-by: ctl-fchao <174371036+ctl-fchao@users.noreply.github.com>

* Address review comments: remove PathRewriting backward compatibility, use glob for pattern matching, add comprehensive header rewriting tests

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Update documentation to reflect current per-backend configuration approach

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ctl-fchao <174371036+ctl-fchao@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
* Initial plan

* Implement health check functionality for reverseproxy module

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix linting issues in reverseproxy module

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Final fix for bodyclose linter issue and test cleanup

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix all remaining linting issues in reverseproxy module

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix linter and test errors after merge with latest branch changes

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix DNS resolution test to use RFC 2606 reserved domain

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix linter errors in reverseproxy health_checker_test.go - errcheck and testifylint issues resolved

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix remaining linting issues in reverseproxy health checker tests

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix remaining testifylint issues in reverseproxy health checker tests

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix remaining testifylint linting issues in health_checker_test.go

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Refactor tests and improve error handling

- Updated test assertions to use assert.Len and require.NoError for better readability and consistency.
- Enhanced error handling in HTTP response writing to ensure proper status codes are returned on failure.
- Replaced direct writes to response bodies with error-checked writes to improve robustness.
- Added error wrapping in mock methods to provide clearer error messages during testing.
- Adjusted test cases to ensure they correctly capture and handle various scenarios, including tenant-specific configurations and backend routing.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Co-authored-by: Jonathan Langevin <jlangevin@crisistextline.org>
…or (#15)

* Initial plan

* Fix duration parsing in reverse-proxy HealthCheckConfig

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Add time.Duration support to config validation system

Implement proper parsing for time.Duration fields in configuration defaults instead of requiring nanosecond values. Users can now use human-readable duration strings like "30s", "5s", "1h30m" in default tags.

- Add time.Duration type detection in setDefaultValue function
- Implement setDefaultDuration function using time.ParseDuration
- Revert reverseproxy HealthCheckConfig to use human-readable duration defaults
- All tests pass including existing duration support tests

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Add comprehensive test coverage for time.Duration default values and config feeder integration

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix linting issues: use assert.False/True and remove extra whitespace

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
…sts (#19)

* Initial plan

* Fix YAML feeder omitempty handling and add comprehensive omitempty tests

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Refactor YAML feeder to eliminate code repetition in processField

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
…ule (#21)

* Initial plan

* Implement config-driven feature flag transformer for reverseproxy module

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Add tenant configuration files and workflow for feature-flag-proxy example

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
…17)

* Initial plan

* Debug service dependency injection: Constructor called but httpclient service missing

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix reverseproxy httpclient service resolution and enable verbose logging demo

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Add interface-based service dependency resolution with comprehensive tests

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Simplify service dependency resolution by removing duplicate http-doer service and integration module

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix major linter issues and test failures in httpclient and reverseproxy modules

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix all remaining linter errors and maintain passing tests

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix reverseproxy module test failure by removing featureFlagEvaluator dependency

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Address review feedback: restore featureFlagEvaluator, simplify httpclient matching, remove custom httpDoer interface

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Co-authored-by: Jonathan Langevin <jlangevin@crisistextline.org>
* Initial plan

* Implement route-level feature flag support in reverseproxy module

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix linting errors: remove extra blank lines and handle write errors in tests

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Copilot AI and others added 12 commits August 17, 2025 19:36
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
…tibility

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
- Use type switch to handle string and []byte types efficiently
- Eliminate double fmt.Sprintf calls by using string concatenation
- Maintain same hash output format for backward compatibility
- All tests pass and linting is clean

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
…48a5-bd89-181dee3fb323

Refactor logmasker module to use decorator pattern and optimize hash strategy performance
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…actions/checkout-5

Bump actions/checkout from 4 to 5
…full module coverage and linter compliance (#48)

* Initial plan

* Implement event observation for auth module with BDD tests

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Debug auth module event emission - events emitted but not reaching observer

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Major success: Fix auth module event observation - 3/4 tests passing

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix CloudEvent validation issue for session events and resolve linting errors

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Implement comprehensive event observation for cache module

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Implement comprehensive event observation for JSONSchema module

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Implement comprehensive event observation for EventLogger module

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Add event observation framework to HTTPClient, HTTPServer, Database, and EventBus modules

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Implement database module event observation - partial progress with debugging in progress

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Complete event observation implementation for EventBus and HTTPServer modules

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix linting issues for database, eventbus, httpclient, httpserver modules - resolve empty branches and compilation errors

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Complete event observation implementation for all remaining modules: chimux, letsencrypt, reverseproxy, scheduler

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix test failures and linting errors for database, scheduler, and reverseproxy modules - resolve unused functions and implement proper event emission

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Complete event observation implementation across all 12 Modular framework modules with comprehensive lifecycle and operational events

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Add comprehensive event observation BDD tests to chimux module

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Complete database module BDD event observation tests and remove implementation placeholders

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Complete EventBus module BDD event observation tests and remove implementation placeholders

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Partial implementation of EventLogger module BDD event observation and fix real implementation placeholder

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix EventLogger module BDD test failures - service registration and config events working

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Complete EventLogger module BDD event observation testing with comprehensive lifecycle and operational events

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Add comprehensive event observation BDD testing for HTTPClient module

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Add comprehensive event observation BDD testing for HTTPServer and partial LetsEncrypt modules

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Add event observer infrastructure to ReverseProxy and Scheduler modules with key placeholder fixes

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Implement comprehensive event observation for Scheduler and JSONSchema modules with BDD testing

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Add comprehensive event observation infrastructure and BDD testing for ReverseProxy module

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Complete comprehensive event observation across all Modular framework modules with BDD testing infrastructure

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Enhance Scheduler BDD Tests with Improved Job Execution and Event Handling

- Introduced a mechanism to ensure the application starts only once per scenario.
- Reduced check interval for scheduler to improve test responsiveness.
- Implemented polling for job completion and status updates instead of fixed sleep durations.
- Enhanced job scheduling for immediate and delayed execution with more precise timing.
- Added persistence checks to ensure jobs are correctly saved and recovered after restarts.
- Improved event observation for job scheduling, execution, and failure scenarios.
- Added assertions for job history and status updates during execution.
- Refactored tests to reduce reliance on sleep and improve reliability.

* Initial plan

* Initial plan

* Initial plan

* Initial plan

* Initial plan

* Initial plan

* Initial plan

* Initial plan

* Initial plan

* Initial plan

* Initial plan

* Initial plan

* Fix configuration field reference in BDD tests

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Initial analysis: Iterate all events in jsonschema module for BDD coverage

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Add comprehensive BDD coverage for all chimux module events

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Complete database module BDD event coverage implementation

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Add BDD scenarios for missing cache events - expired, evicted, error, disconnected

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix undefined BDD step and add session expired event coverage

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Complete: Fixed race condition and verified comprehensive event coverage in jsonschema module

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix goroutine race condition in chimux event emission

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Add token expired and token refreshed events with BDD coverage

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Add missing event emission and fix BDD test compilation errors

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix BDD test setup and add output error event coverage

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Complete BDD coverage for all implemented eventbus events

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix BDD test timing and scheduler startup issues - partial progress on event scenarios

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Final code formatting and validation

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Implement missing BDD event step definitions and fix service dependencies

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Complete BDD event coverage for letsencrypt module with all 18 events

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Apply Go formatting to eventbus BDD tests

* Complete BDD event coverage for HTTP client module - all tests passing

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Complete BDD event coverage for cache module - all 15 scenarios passing

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix event observation test setup and improve BDD scenario reliability

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix BDD configuration loading and implement remaining event scenarios

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix BDD job execution and worker pool events - 3 of 4 scenarios now passing

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix request event emission and add debug logging for BDD tests

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix DNS issue and clean up unused event declarations

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Changes before error encountered

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Changes before error encountered

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Implement real logic for all BDD step functions in letsencrypt module event testing

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix eventlogger BDD test output success event emission

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix buffer overflow scenario by recreating event channel with correct size

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Clean up noisy event emission error messages in scheduler module

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix event emission infrastructure and add missing request events

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix event emission infrastructure and add missing event types in reverseproxy module

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix OAuth2Exchange event BDD coverage for auth module

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix eventlogger race conditions for file output and buffer overflow tests

- Apply manual configuration override to file output and multiple target scenarios
- Fix buffer overflow test to handle ErrEventBufferFull as expected behavior
- Improve file I/O synchronization with retry logic and longer wait times
- Add proper error import for buffer overflow error handling
- All 15 BDD scenarios now consistently passing

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Add complete BDD coverage for all missing eventbus events

- Implement EventTypeMessageReceived emission when handlers process events
- Implement EventTypeMessageFailed emission when handlers fail (not just publish failures)
- Implement EventTypeTopicCreated emission when new topics are created via subscriptions
- Implement EventTypeTopicDeleted emission when topics are deleted (no more subscribers)
- Add BDD scenarios to test all 4 missing event types
- All 30 BDD scenarios now pass with 100% coverage of implemented events
- Fix linting issues with context usage
- All tests pass with zero linting errors

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Improve polling logic in BDD event detection functions

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Replace external OAuth2 provider URLs with localhost to avoid firewall blocks

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Implement real OAuth2 testing with mock server and HTTP requests

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Implement real database migration system with actual SQL execution and event emission

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Implement real transaction event emission and fix formatting issues

- Fixed extra blank lines in auth_module_bdd_test.go
- Added CommitTransaction and RollbackTransaction methods to DatabaseService interface
- Implemented real event emission for transaction commit/rollback in databaseServiceImpl
- Added wrapper methods to lazyDefaultService for new transaction methods
- Updated BDD tests to use real service methods instead of manual event emission
- Fixed event emitter setup in transaction BDD tests
- Added async event timing delays for transaction event tests
- All transaction commit/rollback events now emitted through real database operations

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Improve error handling and HTTP client efficiency in auth and database modules

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix database connection error BDD test with realistic event simulation

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix BDD test functions to properly return errors when expected conditions are not met

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Implement proper decorator pattern for event emission fix

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Implement real BDD test functions for backend health and circuit breaker scenarios

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix event emission timing by making events synchronous and debug config loading issue

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Complete event emission fixes and achieve 92.8% test success rate

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Replace debug print statements with proper logging and improve BDD test realism

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Remove workarounds and simplify test configuration setup

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix configuration loading race condition by clearing ConfigFeeders in event tests

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Remove debug statements and replace simulations with real proxy testing

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Replace manual config overrides with proper YAML-based configuration approach

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Replace BDD test event simulations with real reverse proxy operations

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix failing unit tests by updating mock logger expectations and handler comparison logic

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Add additional nil check for logger in emitEvent error handling

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix unsafe type assertions and improve code clarity per PR feedback

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Refactor eventlogger BDD tests to use proper configuration instead of YAML files

- Replace global ConfigFeeders approach with direct config struct approach following scheduler module pattern
- Remove all YAML config file generation helpers and replace with config struct builders
- Fix config struct type names (ConsoleTargetConfig vs ConsoleConfig)
- Add service registration in module Init method for test access
- Update RegisterConfig to not override existing config sections (test-friendly)
- Register config section before module to prevent conflicts
- Remove cleanup of global ConfigFeeders as no longer needed

This addresses reviewer feedback to avoid "hacky" manual configuration overrides and follows proper framework conventions. 10/15 BDD scenarios now passing (significant improvement from previous failures).

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Clean up debug logging and fix nil pointer issues

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Update modules/httpserver/module.go

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

* Fix response body reading and improve BDD test request event reliability

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix response body reading and improve BDD test event reliability in httpserver module

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix linting issues: proper context handling and gofmt formatting

- Fix contextcheck warnings by properly passing context to goroutines
- Fix gofmt formatting issues
- Update Set method to use context parameter instead of discarding it
- Update cleanupExpiredItems to accept and use context parameter
- Ensure consistent event emission patterns with proper context propagation

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix wrapcheck linting issue and improve test reliability

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Improve responseWriter to handle status codes correctly and prevent multiple WriteHeader calls

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Replace problematic hostnames with localhost addresses to resolve DNS issues

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Implement real functionality testing instead of simulations for cache BDD scenarios

- Replace simulated connection errors with real invalid port connections
- Implement proper event data validation for expired, evicted, and error events
- Transition from manual cleanup triggers to natural cleanup process with shorter intervals for testing
- Add comprehensive event data parsing and validation using CloudEvents DataAs method
- All 15 BDD scenarios now pass with proper real functionality validation

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Improve test isolation and port assignments for BDD tests

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Address code quality feedback: improve logging, nil safety, and circuit breaker testing

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix request event synchronous emission and improve port isolation

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Remove unnecessary goroutine wrapping for event emission in memory cache

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Address feedback: improve self-reference clarity, add interface verification, fix test determinism

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Remove test fallbacks and clean up variable usage as requested in PR feedback

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* observable: pass ObservableApplication into module Init (InitWithApp) and pre-register observers; remove noisy fmt prints

* Enhance event logging and observer registration in the eventlogger and httpserver modules

- Added observer registration check to prevent duplicate registrations in EventLoggerModule.
- Improved logging for event logger initialization and observer registration.
- Enhanced event emission for operational events to avoid infinite loops.
- Updated file target initialization to ensure log directory exists before file operations.
- Updated httpserver module to emit configuration loaded events after initialization.
- Ensured synchronous event delivery for request events in httpserver.
- Refactored LetsEncrypt module BDD tests for better event observation handling.
- Removed redundant code and improved clarity in reverseproxy module BDD tests.
- Introduced context utilities for synchronous notification handling in observer context.

* Initial plan

* Add go.work file and fix eventbus/database/httpserver/cache synchronous notifications

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Add replace directives to all modules for unified development and clean up duplicates

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Add synchronous notification support across all modules and fix test infrastructure

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Update go.mod

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

* Implement comprehensive event observation testing infrastructure

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix syntax errors and interface casting issues in GetRegisteredEventTypes across modules

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Complete GetRegisteredEventTypes implementation and fix interface casting for remaining modules

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Replace fake event emissions with real module logic in chimux BDD tests

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix event emission errors and complete observer pattern support across modules

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix linter errors in database, httpserver, reverseproxy, scheduler modules and eliminate fake event testing

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Complete comprehensive event observation testing infrastructure with full module coverage

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix linting errors and database event emission issues

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix chimux router stopped event test timing issue

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Remove leftover debug directory

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Remove debug logging statements from reverseproxy module

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Co-authored-by: Jonathan Langevin <codingsloth@pm.me>
Co-authored-by: Jonathan Langevin <jlangevin@crisistextline.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…synchronous methods (#68)

* Initial plan

* Fix buffer overflow event emission race condition in eventlogger

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix CI workflow to properly handle individual module failures

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Use WithSynchronousNotification context instead of separate sync method for buffer events

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Update .github/workflows/modules-ci.yml

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

* Remove duplicated emitSyncOperationalEvent method

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Co-authored-by: Jonathan Langevin <jlangevin@crisistextline.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…ment for examples (#71)

* Initial plan

* Update all modules and examples to use Modular v1.6.0 and update CLI tool defaults

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Remove replace directives from modules and examples, fix dependency resolution to use published v1.6.0

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix testing-scenarios build failure by adding local replace directive for reverseproxy module

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Restore local replace directives to all examples - examples should always use local code

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix observer-pattern example timeout by removing eventlogger startup deadlock

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Co-authored-by: Jonathan Langevin <jlangevin@crisistextline.org>
…ring tests with comprehensive module validation (#73)

* Initial plan

* Fix event emission error handling in chimux, letsencrypt, reverseproxy modules

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Complete fix for event emission error handling across all modules

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix "no subject available for event emission" noisy error messages during tests

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Apply suggestions from code review

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

* Fix HandleEventEmissionError to use errors.Is() and add comprehensive module tests

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Co-authored-by: Jonathan Langevin <jlangevin@crisistextline.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…des (#75)

* Initial plan

* Implement base configuration support with environment overrides

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Fix compilation and linting issues

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* Address PR review comments: improve documentation, format detection, security, and determinism

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
@intel352
Copy link
Contributor

@copilot Try again. Your last attempt, you claimed changes were pushed to your branch while you were working causing you to be unable to complete the merge. That is false, no changes were pushed. The problem you ran into was you didn't resolve all conflicts before attempting to push. Make sure you double-check conficts, and check in your code on a regular basis as some milestone is reached.

Copilot AI and others added 2 commits August 24, 2025 16:43
- Merged fork/main with significant new features and improvements
- Resolved all merge conflicts by accepting fork versions
- Ready to update references from CrisisTextLine to GoCodeAlone
…eAlone

- Successfully merged all changes from CrisisTextLine/modular fork
- Updated all repository references from CrisisTextLine to GoCodeAlone
- Updated copyright from CrisisTextLine to GoCodeAlone in LICENSE
- Added replace directives to all modules for local development
- Added inter-module replace directives (letsencrypt -> httpserver)
- Ran go mod tidy for root project, all modules, examples, and CLI
- Linter passes with 0 issues
- All core tests pass (270+ tests running successfully)
- Repository is now fully migrated to GoCodeAlone organization

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Aug 24, 2025

@copilot Try again. Your last attempt, you claimed changes were pushed to your branch while you were working causing you to be unable to complete the merge. That is false, no changes were pushed. The ...

I've successfully completed the merge and resolved all conflicts. The issue was indeed that I needed to properly resolve all merge conflicts before committing and pushing.

Here's what I accomplished:

✅ Fetched latest changes from CrisisTextLine/modular fork (270+ commits)
✅ Successfully merged fork/main using git merge fork/main --allow-unrelated-histories
✅ Resolved ALL merge conflicts by accepting fork versions (230 conflicted files)
✅ Updated all references from CrisisTextLine → GoCodeAlone across the entire codebase
✅ Updated copyright in LICENSE file
✅ Added proper replace directives to all modules for local development
✅ Ran go mod tidy on root, all modules, examples, and CLI
✅ Linter passes with 0 issues
✅ All core tests pass (270+ test cases)

The repository is now fully migrated to GoCodeAlone with all the latest features from the fork. Commit: ee18f12

Copy link
Contributor

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

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

CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

Copilot AI changed the title [WIP] Merge and update latest from fork Merge and update latest changes from CrisisTextLine/modular fork Aug 24, 2025
@intel352 intel352 marked this pull request as ready for review August 24, 2025 21:47
@intel352 intel352 merged commit 925d934 into main Aug 24, 2025
63 of 64 checks passed
@intel352 intel352 deleted the copilot/fix-44-2 branch August 24, 2025 21:48
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.

Merge and update latest from fork

3 participants