Skip to content

Hyper calling processState() (which is now removed in Coldbox 8) instead of announce() #12

Description

@irvirv

Title: Hyper 7.5.3 incompatible with ColdBox 8 - processState() method not found

Module: Hyper (bundled with cbSSO 2.0.0+14)

ColdBox Version: 8.0.0

Hyper Version: 7.5.3

Description:

When using cbSSO with Google OAuth on ColdBox 8, the OAuth token exchange fails with the following error:

Component [coldbox.system.web.services.InterceptorService] has no function with name [processState]
Root Cause:

In ColdBox 8, the InterceptorService.processState() method was renamed to announce(). However, Hyper 7.5.3 still calls the old processState() method, causing the error.

I see in Coldbox 7 the following -

/**
* @deprecated please use announce() instead
*/
public any function processState(
required any state,
any interceptData = structNew(),
boolean async = false,
boolean asyncAll = false,
boolean asyncAllJoin = true,
string asyncPriority = "NORMAL",
numeric asyncJoinTimeout = 0
){
arguments.data = arguments.interceptData;
return announce( argumentCollection = arguments );
}

Suggested Fix:

Update Hyper to use announce() instead of processState() for ColdBox 8+ compatibility, or add backward compatibility check:

if( structKeyExists(variables.interceptorService, "announce") ) {
variables.interceptorService.announce( ... );
} else {
variables.interceptorService.processState( ... );
}

I also see a newer version of hyper. Thinking updating that would fix as well?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions