Upgrade

Code needs upgrade from dhii/machine-state-machine-interface.

Drop support for PHP < 7.2;
Add support for PHP 8;
Upgrade and clean up configs and tools.
Add environment, PHPStorm configs, etc.
Switch to Github Actions.
Remove NetBeans configs.

Notes
Disclaimer: I understand that challenges that consumers face are their own, and critical design decisions should be based only on what lies in the this problem's domain. But since the design heavily influences the way implementations are consumed, I would like to give proper attention to making sure that it can be consumed conveniently, and covers at least most of the important use-cases.

Allows for transitions and states to be reduced to their labels, permitting very simple and slim implementations.

Allows for transitions and states to be more than just labels, permitting increased complexity when necessay, like having them correspond to data from some records or other configuration.

This means that transitions and states can be compared like simple values, like value objects, but they can also be entities comparable via their reduced state - their label.

Very importantly for practical purposes, the above means that transitions and states can have other values attached to them. For example, a transition could be invoked with some arguments, and those can be different every time, while the transition remains the same thing.

This design is modelled also against the idea that a transition is an event, and infinitely fast moment in time, during which things can happen. This means that observers may react to transitions while it is happening, and can even abort the if some conditions that are determined outside of the State Machine itself are met.

This design is immmutable. Every time a transition happens, a new immutable state machine is created to hold the new immutable state.

This means that the design is very safe, but also that entities using a state machine to control its state must find their own mechanisms for maintaining consistency. This is a particularly important concern in practice.

The particular use-case that I was considering for this is that of a workflow. Think of a JIRA workflow, for example, where a ticket may be in one of the limited set of pre-defined states, like backlog or done; and that each state has a limited number of transitions that each take the ticket to a new state.

Continuing with the above use-case, in practice such State Machines will often be used to control the state of an entity, such as a ticket, an on-boarding or multi-step configuration process, etc. Therefore, an important concern is that of how the consumer of an entity that uses a SM to control its state maintain consistency with the state of the SM?

Assuming that the entity is also immutable makes things easier, and this is going to be the assumption, because I consider mutable entity representations to be an exotic scenario nowadays. I want to make things robust and usable, and immutability IMHO is a requirement for that. In practice, this could mean that more manual work needs to be done on the entity representation.

One of the ways to maintain consistency between an immutable SM and its owner entity is via the database. So if the state of a SM updates a DB record on transition, this creates a new SM with the new state. If an entity with the updated state needs to be acquired in memory, then either it needs to be re-loaded from DB (a new entity representation instance, of course), or the entity instance needs to be updated.
	$state = $user->getOnboardingState();
	/** @var $state ReadableStateMachineInterface */

	echo $state->getState(); // 'new'
	// Updates the entity status in storage, which requires the SM to have a reference to the entity somehow
	$changedState = $state->transition('begin');
	echo $changedState->getState(); // 'account_credentials'

	// Data is already up to date, but the instance needs to be updated like this...
	$changedUser = $user->withOnboardingState($changedState);

	// ... or a new entity instance with the up-to-date data needs to be acquired
	// which means having a repository object, or a factory, or something similar,
	// and that is quite inconvenient. But if the application works with entity
	// repository, this is very possible and would fit in.

Another way to approach this is to have something else responsible for persisting the entity. This would fit in well with the CQRS paradigm.
	$state = $user->getOnboardingState();
	/** @var $state ReadableStateMachineInterface */

	echo $state->getState(); // 'new'
	// Updates the SM status in memory, which does not require a reference to the entity
	$changedState = $state->transition('begin');
	echo $changedState->getState(); // 'account_credentials'

	// Updates the data in memory for entity
	$changedUser = $user->withOnboardingState($changedState);

	// Persist the entity in storage, maybe like this...
	$saveUserCommand->saveUser($changedUser);
	// ...or like this, if the entity representation instance perhaps has a reference to its own save cmd
	$user->save();

Yet another approach could be to deal with entity fields only, and not relate it to any SM. This is very clean, but requires the creation of a state machine, which would typically need a factory to be injected - yet another dependency. But this is more clean and correct, if more labour-intensive.
	$state = $user->getOnboardingState();
	/** @var $state string|Stringable */
	echo $state; // 'new'

	// Create new state machine to handle state transitioning,
	// with pre-configured state transition graph,
	// and with our entity's state label as its initial state.
	$stateMachine = $labelledStateMachineFactory->createStateMachine('onboarding', $state);

	// Updates the SM status in memory, which does not require a reference to the entity
	$changedState = $state->transition('begin')->getState();
	echo $changedState; // 'account_credentials'

	// Updates the data in memory for entity
	$changedUser = $user->withOnboardingState($changedState);

	// Persist the entity in storage, maybe like this...
	$saveUserCommand->saveUser($changedUser);
	// ...or like this, if the entity representation instance perhaps has a reference to its own save cmd
	$user->save();

Ideally, I would like to initiate entity state changes by having only access to the entity itself. So, assuming that everything is handled in memory and needs to be persisted manually, that the entity instance can save itself (perhaps by delegating to a relevant command), this yet another approach appears to be the most usable:
// Uses internal SM to transition, can throw correctly, doesn't require
// additional dependencies for consumer.
// Requires an additional method for transitioning every status (a user may have an onboarding state, but also e.g. profile completion state), but it would be required for state manipulation anyway
// even if it was done directly by the entity instance.
$user->withOnboardingStateTransition('begin')
	->save();

// Gets the state of the internal SM
echo $user->getOnboardingState(); // 'account_credentials'

This approach could also allow returning the SM instance from getOnboardingState(), which would be functionally equivalent is the SM is Stringable. This is beneficial, because consumers can have access to the SM instance; however, depending on how you look at it, it could be considered to break encapsulation - even if it's safe due to immutability.
Of course, a different naming convention could be used, like transitionX() instead of withXTransition(), which would not be as standards-compliant (although informal standard), but is more concise, and still leaves room for mutable entities if necessary. What I mean by that is that e.g. transitionX() can also live side by side with e.g. setX() in the same class, if this is desirable. Immutability is good, but utility is important too, and if an immmutable SM needs to be retro-fitted into a mutable setup, then this should be possible.
The downside is that by using just the described design, an entity may not have its state updated directly - which is arguably the point of having a FSM, and is probably desirable. However, this may lead to BC-breaking changes if an existing entity that allows manipulation of state directly (even if immutably) needs to start using a FSM to control the state, because it would then have a method like withState($state): static, and this cannot be adapted to use transitions without loss of meaning.
My counter-argument would be: you can't provide a transition to the same method to which you can provid a state anyway, because it changes the way things should be consumed, and therefore this point is actually good. It's conceptually impossible to make such a change transparently without breaking the concept, becuase the concept will have changed, and this should reflect on the design.

CC: @biont @Dhii/regular-contributors

Failing apparently due to sebastianbergmann/phpunit#4708.

Since you asked for feedback I would like to pour some ideas in here based on my past experience with multiple FSM implementations. These are as I stated more or less random ideas after looking through the code and docs - not a throrough critique. Some things might apply here. Some things might apply, but can be done in complementary packages. Some might not apply at all. Also, while I took superficial care to check that my "code examples" somewhat fit into the existing code & structure, they are really just examples and I did not think too hard about them.
Querying the state should be seen as an antipattern
Of course you'l want to provide the API to check the current state - even if just for testing purposes, but ultimately, designing your application around a FSM that is queried for its state all the time hardly does anything to save you from the if/else-hell that you probably set out to escape from. It only centralizes & normalizes your state mutations. While this is a good first step when refactoring an application towards a FSM library, but ultimately, the application logic itself would benefit a lot from "behaving statefully" as well.
A viable solution for this would be that in addition to consuming transitions via events (which you already identified as a good idea), the state machine would also trigger individual "state action" events (written close to PSR-14 but something simpler can surely be done as well):
interface StateActionAwareInterface {
  public function action( object $event ): void;
}

$machine->action( new ApplicationBootedEvent() );
// ...
$machine->action( new ApplicationShutdownEvent() );

A machine can now be configured with actions for specific states, making it very easy to eg. show a notice until user onboarding has been completed, and there would be no need to query the state anywhere in your business logic.
By writing data to the event object (or allowing return types in action()), you could use this to generate data as well.

$actions[ 'default' ] = function(object $event){
  if( !$event instanceof UserBannedState ){
    return;
  }
  $event->setLabel('WELCOME!')
}
$actions[ 'banned-temporarily' ] = function(object $event){
  if( !$event instanceof UserBannedState ){
    return;
  }
  $event->setLabel('BANNED!')
}

$machine = new ActionCapableStateMachine( $actions );
$e = new UserBannedState();

$label = $machine->action( $e ); // Checks if there's an action for the current state and calls it.

echo "Hi. You are {$e->label()}"

This pattern allows for stateful application behaviour without ever resorting to fetching the actual state outside of the machine configuration. Awesome!
Abstract state storage / persistence
Your example about updating a user entity looks pretty complex as you rightfully pointed out.
interface StateStorageInterface {
  public function getState(): string;
  public function storeState( string $state );
}

If something like this was injected into a SM instance (that would call storeState after any successful transition), you could create a state machine based on a user storage adapter:
$userAdapter = new UserStateStorage( $user ); // responsible for calling getOnboardingState() or similar...
$machine = new StorageAwareStateMachine( $userAdapter ); // Save to db

State/Transition meta data (~~Context) & Guards
Currently, any transition that is defined is possible without further checks. Transitions that rely on additional data are pushed into the production logic despite being very closely tied to the configuration of the underlying state machine. An example would be to temporarily ban a user from logging in after 3 failed attempts and then restoring the login ability after 30 minutes.
You'd obviously have to register the transition from 'default' to 'banned-temporarily' up-front, but the logic behind actually performing the transition
Many implementations apply a concept called "Guards" here: Additional checks that may deny a formally allowed transition.
interface TransitionGuardInterface {
  public function canTransition(string $from, string $to, object $context): bool
}

class GuardCapableStateMachine(){
  public function __construct( TransitionGuardInterface ...$guards ){
    // ... sort guards into assoc array or something
  }

  public function transition($transition): self{
    if( isset( $this->guards['from']['to'] ) && $this->guards['from']['to']->canTransition( 'from', 'to' ) ){
      throw new CouldNotTransitionExceptionImpl();
    }
    // apply transition & return new machine
 }
}

The problem here is that the current interface does not have a way to pass any metadata and I am currently struggling to figure out a way to make this happen via optional extensions - since not all use-cases will call for contextual data to be present. But even without a context object, transtitions are usually more nuanced that checking the presence of a matching string. It will be tough to build something large without some concept of guards.
Elaborate on the benefits of immutability please.
Honestly it feels a bit like cargo cult programming to apply a pattern that is designed to prevent modification of (object) state to another pattern that is designed to enable modification of (application) state in a reliable and predictable fashion.
If you google for "immutable state machine", you do find results, but many revolve around their application in React/Redux - where immutability is needed to solve a specific problem. Apart from that, I am struggling to see why you'd want your SM to be immutable - and thereby pretty much annihilate all predictability and reliability by allowing stale references to continue working
A user entity/instance can be either in state A or in state B. It does not make sense to have multiple state machine instances (for that entity) in multiple states running around. That's just asking for trouble.
There is no way to directly mutate a state machine or its current state. It will transition in explicit and well-defined circumstances that are defined in the configuration of your application. And when it happens, it's because you wanted it to happen. If some runaway piece of third-party code is able to cause an undesired state transition, it's because of a bug in your transitions and guards - not because it's not immutable.
On the other hand if you have multiple individual systems using your SM and one of them is working against an outdated instance, catastrophic bugs can happen. Let's take again the "default" -> "banned-temporarily" transition example and consider a mechanism that triggers it when valid credentials are sent from an unexpected IP range/geolocation. It would -by design- be impossible for this state change to affect other consumers of the machine.

As a closing note, the concept of hierarchical machines and/or states has not been explicitly addressed in the code I've seen. Maybe this is doable with the current interface(s) but if it for some reason isn't, it would be missing a pretty useful tool which would be a shame. Maybe I can expand on this at a later time, but I need to wrap things up now

Querying the state should be seen as an antipattern
I'm not sure it's an anti-pattern really, because state changes are only useful if you can read the state later - for example, to determine which buttons to show to a user in a workflow. But I do like the idea of raising events in response to status changes. Moreover, I think it would be usefult to allow an event handler to prevent state change - e.g. by throwing.
What I didn't like about the code example was that it's essentially a PSR-14 interface. Yes, there surely are many similarities between an event system and a state machine. But those are more implementation-level similarities. Even if an FSM is a different way to look at the same concept, it's still different, and should accurately represent that difference. So, since it's the job of an event dispatcher to dispatch events (or actions), and it's an FSMs job to undergo state transitions, I'd prefer to have an interface closer to that paradigm.
However, at implementation level, an FSM could effectively achieve the same thing by using an injected PSR-14 dispatcher - without looking like one itself.
Abstract state storage / persistence
Of course, if the FSM implementation will update a record on transition, it will be injected with some kind of adapter or CQRS query to facilitate that. My examples were more to illustrate how persistence is not necessarily a part of an FSM, and to suggest how it could be convenient to do either, depending on circumstance: persist on transition, or to keep the FSM's state in memory and persit it explicitly from outside.
State/Transition meta data (~~Context) & Guards
I definitely recognize the need for transitions to have metadata associated with them - in fact, I have been adamant about it. This is why transition() accepts a string|Stringable as a transition: this permits it to be an object. And if it can be an object, then it can have extensions via additional interface, which other logic, such as event handlers, could consume.
With regard to additional guards. IMHO, the job of an FSM is to provide a structured transition path that is known beforehand. At least, this is what a deterministic FSM should be like. In that sense, there is no need for additional guards inside the FSM itself: it already fulfills its purpose by obeying a graph of possible transitions. Nevertheless, it is of course possible to deny transition - such as via an event-based FSM's event handlers. The other way around is true also: it should always be possible to convert a non-deterministic FSM into a deterministic FSM of greater complexity. But I think that since we have the luxury of events, they are a much more appropriate way of doing that rather than powerset construction algorithms etc. Still, even if a deterministic FSM fulfils its purpose perfectly, that doesn't mean that additional guards cannot be added from the outside, e.g. in the code that consumes an FSM. Finally, it also looks possible to write a decorator FSM that would use some more structured guard approach (like the one you described) on top of an existing simple deterministic FSM.

So I think I understand now where we're seeing things differently - and it also explains why I was struggling with the concept of immutability in a FSM:
You're basically describing an imperative SM that is entirely controlled from the outside ($m->transition('foo')) . Its job is to hold a pice of information and to provide it to whomever is interested  - which somewhat explains the concerns about the safety of its internal state.
I've moved away from that towards a declarative approach in which a SM is more or less just a receiver and emitter of events. There is no way to directly modify it (~>cause a transition). It produces a new state when it receives an event : State = Event / ( Transition + Guard ). Outside code simply does not need to be concerned about these things. The job of this SM is to carry out predefined actions regardless of the current state (There is also no way to directly query the current state either.)
This is also why I disagree with your paragraph about PSR-14. If you regard an "event" as a piece of data that a system can be triggered with to perform an action, you could just as well have an interface that declares public function trigger( object $data ). It's the same thing with a different name. There's no need to have your FSM actually BE a PSR-14 implementation, but I will say that it would benefit from making it easy to wire it together with one.
I hope you agree that the question of immutability is a far less prominent one in such a design.

I'm not sure it's an anti-pattern really, because state changes are only useful if you can read the state later - for example, to determine which buttons to show to a user in a workflow.

I gave a code example to demonstrate how solve this exact problem without having to know the current state. I think it is far better to configure stateful behaviour in a central place than to switch/case your way through in a dozen different locations - which means that every location needs to know the state graph and it becomes a mess as soon as you need to make changes to the graph.

I'm very interested in your opinion from a practical PoV

I think you're a bit too concerned with the "state" part and neglected the "machine" part. The interfaces are full of methods that I would personally discourage people from actually using ( like getPossibleTransitions(), getState(), transition() ) and at the same time, I don't yet see a vision of how to integrate it in an application to achieve stateful behaviour (enter/exit events - or state actions like decribed earlier). Sure: much of this is probably implementation-specific, but the current design seems to heavily encourage the imperative approach which I have grown to disapprove of.

State/Transition meta data (~~Context)

I definitely recognize the need for transitions to have metadata associated with them - in fact, I have been adamant about it. This is why transition() accepts a string|Stringable as a transition: this permits it to be an object. And if it can be an object, then it can have extensions via additional interface, which other logic, such as event handlers, could consume.

From my experience, the benefits of managing transitions as separate entities does not outweigh the overhead of maintaining them. I think a transition is sufficiently identifiable by its source and target state (where transitions are merely an 1-n mapping of states rather than a separate concept). I'm open to be convinced otherwise though.
State & Transition types
At the same time, I've been thinking about the string|Stringable type and I'm concerned it might cause some issues when implementing the SM as well as some potential confusion when using it.
First, it is not possible to use states as keys in the same assocative collection since one of them is an object and the other is a scalar.
It's certainly possible to do everything in flat lists, I'm just concerned that this is a rather unfun restriction to have.
You could use type conversion to either coerce Stringables into string or the other way around. But configuring the SM with objects only to have getState() return a string is probably not what you wanted to achieve since all other information associated with the original object is now lost. The other way around keeps object instances intact but introduces ambiguity.
class FooState implements Stringable{
  public function __toString(){
    return __CLASS__;
  }
}
$a = new FooState();
$b = new FooState();
var_dump($a === $b); // false
var_dump((string)$a === (string)$b); // true

class BarState implements Stringable{
  public function __toString(){
    return uniqid();
  }
}

$a = new BarState();
$b = $a;
var_dump($a === $b); // true
var_dump((string)$a === (string)$b); //false

What I'm saying is you need to be pretty careful with the output of StateAwareInterface::getState() as well as all internal logic. Also what if the input state objects are mutated from the outside?
class BazState implements Stringable{
  public function __construct( public string $state ){}
  public function __toString(){
    return $this->state;
  }
}

$a = new BazState('foo');
$b = 'foo';
var_dump((string)$a === (string)$b); // true
$a->state = 'lol';
var_dump((string)$a === (string)$b); // false

I think to be on the same side, you would need to mandate that:

Stringables MUST be immutable
Stringables MUST (or at least SHOULD) always be compared as strings
Stringables SHOULD never produce different output on subsequent string conversions

Isn't this more trouble than it's worth?
Guards

With regard to additional guards. IMHO, the job of an FSM is to provide a structured transition path that is known beforehand. At least, this is what a deterministic FSM should be like. In that sense, there is no need for additional guards inside the FSM itself: it already fulfills its purpose by obeying a graph of possible transitions. Nevertheless, it is of course possible to deny transition - such as via an event-based FSM's event handlers. The other way around is true also: it should always be possible to convert a non-deterministic FSM into a deterministic FSM of greater complexity.

The presence of guard functions has no bearing on whether a SM is deteministic or not. For our practical purposes here, it is "simply" a matter of designing the SM in a way that either one(1) state is allowed at a time, or a set of states. Whether or not a guard function is involved in detemining the new state/s does not make a conceptual difference to the SM.
It is true though that guards introduce a moving part that might be tricky to be understood by potential static analysis tools - PHP8's attributes might be helpful here.
In the end, I think this topic essentially hinges on whether or not the SM is Event/Trigger based or not. Your current design looks like it's not: Possible transitions are statically configured and the actual transition is imperatively triggered from the outside.
In an event based SM you'd have one function that produces a set of transitions that are possible for the given trigger. And then you'd have another function (the guard) that tests if a given transition is valid.
Sure, there could be multiple guards returning true for a set of possible transitions. In a deterministic SM, you have probably found a bug that warrants an exception then (unless you choose to shrug it off and just roll with the first one)
Wrapping up though, I concede that we're following differing lines of thought and the concept of guards plays a bigger role in mine than yours.

Finally, it also looks possible to write a decorator FSM that would use some more structured guard approach (like the one you described) on top of an existing simple deterministic FSM.

Yeah this is something that dawned on my after getting more familkiar with your interfaces. It's certainly something that warrants some research & toying around. But it does beg the question if there is any substantial amount of interop to be expected from such a decorator that essentially hides the entire API of its internal SM. In the end, not even the bare StateMachineInterface::transition() is worth exposing, while an entirely new API revolving around events is provided. It's more of an Adapter than a Decorater - and ultimately a completely different paradigm.


Closure modules defined with goog.provide and goog.require do not work out-of-the-box, there is an error JSC_UNDEFINED_VARIABLE variable goog is undeclared

Closure modules defined with goog.provide and goog.require do not work out-of-the-box, there is an error during compilation.
Example:
// ./src/js/index.js
goog.require('app.utils');

console.log('add 1,2', app.utils.add(1, 2));

// ./src/js/utils.js
goog.provide('app.utils') // This raises ERROR - [JSC_UNDEFINED_VARIABLE] variable goog is undeclared

app.utils = {
  /**
   * @param {number} a
   * @param {number} b
   * @returns {number}
   */
  add: (a, b) => a + b,
}

Calls to goog.provide and goog.require should not cause a compilation error.
Additionally, the official wiki docs on Closure modules here and here do not mention anything about this error or how to deal with it and neither does the FAQ. Ideally there would be a good straight-forward example of how to use Closure modules, which works out-of-the-box.
PS: As @lauraharker has pointed out, this issue can be hot-fixed by defining dummy typings, e.g. I can make the following changes to index.js in order to work around the error:
// ./src/js/index.js
goog.require('app.utils');

console.log('add 1,2', app.utils.add(1, 2));

/**
* @type {{
*  require: Function,
*  provide: Function,
*  module: Function,
* }}
*/
var goog;

Related to #3506.

I have added a note flagged as IMPORTANT here to point out that the closure/goog/base.js file should be included as a --js input to the compiler.
https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide

I think it would be beneficial to add this documentation not only to the closure-library repo, but also to this (closure-compiler) repo. Here is closure-compiler wiki article about available module systems and base.js is not mentioned there once.


Animations 'weight' value not working

Animations weight value apparently is not working (docs).
It can be tested using the shark with the shark animation sdk7-goerli-plaza test scene: https://github.com/decentraland/sdk7-goerli-plaza/tree/main/Shark-animation
https://github.com/decentraland/sdk/assets/1031741/148a9fe3-601f-4059-9dc4-3670af57b5d1

This should already be working on E@ for the Asset Bundle Version of the assets, not for local raw GLTFs.

This should already be working on E@ for the Asset Bundle Version of the assets, not for local raw GLTFs.

My scene at 100,100 has an Animation UI where you can manually test different values
realm = https://sdk-team-cdn.decentraland.org/ipfs/sdk7-test-scenes-main-latest


Any mandatory claim must be a requested claim.

If we select some claim as mandatory,  "Requested Claim" checkbox should be changed to selected and read-only.

Labels:- UI

Thank you for your contribution!
We are closing this issue since it has not been prioritized for a long time. Chances are that it has already been solved in more recent versions. If not, we will be re-evaluating this when it becomes a priority.


DEBUG:Evtx.Evtx:Record at 0x....

Dear,
With the minute patch in place where a b is inserted on line 25 i now run into unexpected output.
INFO:process-forest.global:using evtx log file
DEBUG:Evtx.Evtx:FILE HEADER at 0x0.
DEBUG:Evtx.Evtx:CHUNK HEADER at 0x1000.
DEBUG:Evtx.Evtx:Record at 0x1200.
DEBUG:Evtx.Evtx:Record at 0x1c10.
DEBUG:Evtx.Evtx:Record at 0x20b8.
DEBUG:Evtx.Evtx:Record at 0x2370.
DEBUG:Evtx.Evtx:Record at 0x2a80.
....
DEBUG:Evtx.Evtx:Record at 0x10fc8.
DEBUG:Evtx.Evtx:CHUNK HEADER at 0x11000.
DEBUG:Evtx.Evtx:Record at 0x11200.
.....
this with the latest master version of process-forest

these are debug messages that are written to STDERR to show the progress of processing. You can safely redirect this output to /dev/null or otherwise ignore it.

these are debug messages that are written to STDERR to show the progress of processing. You can safely redirect this output to /dev/null or otherwise ignore it.


CMake couldn't find Qwt

Describe the bug
CMake could not find installed Qwt
Environment

OS: Windows 10
Compiler: the one used by VS 2019

To Reproduce
Steps to reproduce the behavior:

In your CMakeLists.txt, use find_library(Qwt REQUIRED) or even find_package(Qwt REQUIRED)
See error
Repro code when

Expected behavior
CMake configuration success
Failure logs
-(please attached failure logs)
Additional context
Add any other context about the problem here.

qwt is a qmake based port and vcpkg does not magically install configs or find modules for ports not providing it upstream.
As such you need to write your own FindQwt.cmake and correctly use find_library within it to get the result you want. Tipp: define a imported target for qwt in said module.

Hi @Neumann-A
Thank you for your reply, I have already a FindQwt.cmake for Linux but I don't know how to make one for Windows. I didn't understood your tip.
For now, I made this workaround :
include_directories("D:/vcpkg/installed/x64-windows/include/qwt")
target_link_libraries(MyWidgets "D:/vcpkg/installed/x64-windows/lib/qwt.lib")
file(COPY "D:/vcpkg/installed/x64-windows/bin/qwt.dll" DESTINATION "${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}")

find_library(QWT_LIBRARY_RELEASE NAMES qwt PATH_SUFFIXES lib)
find_library(QWT_LIBRARY_DEBUG NAMES qwtd qwt PATH_SUFFIXES lib)
select_library_configurations(QWT)
...
add_library(QWT::QWT IMPORTED)
...
set_target_properties(...IMPORTED_LOCATION_RELEASES ${QWT_LIBRARY_RELEASE})

code may contain typos and is incomplete.

Hi I've the same problem impossible to find Qwt : the lib is in the vcpkg.json, is correctly built but no way to find it in my CMakeLists.txt :/


fix: minor issues

description

install_from_source.py script can't find the poetry.lock file
PR #533 moved files from continuedev to server

git log --diff-filter=R --summary --oneline --follow server/poetry.lock
#   279593a8 Strong typing (#533)
#    rename {continuedev => server}/poetry.lock (100%)

some typos, explanation is rather counterintuitive to write, English language has no repo on
Github to request a change

Explanation or Explaination | How to spell it? | Spelling

updated poetry lock --no-update in the continue/server directory

updated prepackage.js to throw an error before starting to move files around
improved error handling in install_from_source.py

@sestinj
I have a little issue; maybe you can help.
When the install_from_source.py script runs the line resp = run("cd ../../../server; poetry install; poetry run typegen"), declaration files are created. This causes the npm run build command in the continue/gui/ directory to fail when it tries to execute the tsc command.
https://github.com/continuedev/continue/blob/f3d1ef79be90335c742fd3e505fd1bfe40b9f402/gui/package.json#L7
flowchart TD
    A[install_from_source.py] -->|poetry run typegen| B(prepackage.js)
    B -->|npm run build| C(continue/gui/package.json)
    C -->|tsc| Error

How can I solve this?

forced-pushed to rebase with main

I believe this is the issue: https://github.com/continuedev/continue/blob/f3d1ef79be90335c742fd3e505fd1bfe40b9f402/server/continuedev/core/main.py#L105
I changed it to Any instead of Step because there was a circular imports dependency, which forced me to use a "fake" Step class. But then this later caused the problem that when a Pydantic class was being initialized, it would make a copy of the real Step object that I passed in, causing big issues
But this would be why the "unknown" type error is coming up

That is it. I won't be addressing this issue as part of my current pull request.

Sounds good, I'll be making the fix later today. PR is pristine as always

@LangLangBart just to keep you updated, this has been fixed in main. Had to do a workaround for now. Turns out the problem is:

Pydantic copies models when validating if they don't pass isinstance
Importing a Step subclass from config.py dynamically with importlib causes isinstance not to pass (most likely because the module name for the bases property is different)
And so to avoid the problems I was seeing with AnswerQuestionChroma, I just mapped from the imported class to the original version imported the usual way


Update REST API tests

Tests for the REST API end points are pretty out of date at this point, related to #89 #27.

What should I use for a testing corpus for all the corpus, enrichment, etc. stuff?

There's a simple corpus is test_data https://github.com/MontrealCorpusTools/polyglot-server/tree/master/test_data/source/acoustic.


SWARM-1974: Support @Configurables when generating docs

Thanks @mkouba!

@wildfly-swarm/core Any objections? If no then pls merge and release.

https://ci.wildfly-swarm.io/view/Release/job/wildfly-swarm-fraction-plugin-release/46/


[RFC]: add auto-closing brackets in REPL

Description
This RFC proposes adding auto-closing brackets in the REPL.
@kgryte @Planeshifter @Pranavchiku will this be a good addition?
Related Issues
Related Issue https://github.com/stdlib-js/google-summer-of-code/issues/1
Questions
No.
Other
No.
Checklist

[X] I have read and understood the Code of Conduct.
[X] Searched for existing issues and pull requests.
[X] The issue name begins with RFC:.

Thanks for opening this issue, @Snehil-Shah. By auto-closing brackets, what is the behavior you have in mind? Are you thinking behavior similar to an IDE where if you type [ or (, we automatically append ] or ), respectively?

Thanks for opening this issue, @Snehil-Shah. By auto-closing brackets, what is the behavior you have in mind? Are you thinking behavior similar to an IDE where if you type [ or (, we automatically append ] or ), respectively?

Yes!

Thanks for opening this issue, @Snehil-Shah. By auto-closing brackets, what is the behavior you have in mind? Are you thinking behavior similar to an IDE where if you type [ or (, we automatically append ] or ), respectively?

If the idea is good to be implemented, I would like to work on it..

@Snehil-Shah Yes, I can see that being useful and something that the REPL currently lacks. Similar to an IDE, we'd likely want this behavior to be capable of being controlled by a setting.
If you'd like to work on this, feel free to do so.

Do note, however, that we'll still need to support splitting over multiple lines. Meaning, if I type
> function foo( <cursor> )

and hit ENTER where <cursor> is (i.e., within brackets), we have some ambiguity: do we want to execute or move to the next line?
Currently, when a user types an incomplete expression and hits ENTER, the cursor moves to the next line without executing the expression.
One way to support the above behavior is to support modifier keys (e.g., SHIFT+ENTER) to allow insertion of a newline when within a valid expression.

@Snehil-Shah Yes, I can see that being useful and something that the REPL currently lacks. Similar to an IDE, we'd likely want this behavior to be capable of being controlled by a setting.
If you'd like to work on this, feel free to do so.

"Controlled by a setting", do you mean an option to disable this behaviour?

Yes, that is correct. In editors, you can typically disable this setting. Some folks don't like auto-closing brackets, preferring instead to avoid magic and to manually type brackets.


fix(curriculum): rename multiplesOf3And5 to multiplesOf3Or5

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #52850
I thought doing it in 2 commits would make the diff nicer 😞
We do need to discuss redirects. We did not add redirects for the migration of Project Euler from coding-interview-prep to its own superblock^1. So, I am not sure if they are needed here either.
As far as I am aware, this will count as a "new" challenge/file for Crowdin. So, I left the i18n directories alone.
We need to perform a curriculum upload after this? Are we still blocked with a bug in Crowdin for doing that?

considering #52901 maybe it needs the redirects

I don't think we will need that. The owner requested to remove all posts on the forum about Project Euler.


Added run configurations for spotless

Guidelines
Added run configurations for spotless
Types of changes
What types of changes does your code introduce?

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as
expected)

Preparing a pull request for review
Ensure your change is properly formatted by running:
$ ./gradlew spotlessApply

Please correct any failures before requesting a review.

@zeobot set lc to pass


Android Client Crash

The client crashes after a few seconds on Android (Android 12)

I'm almost certain this is #5757, which is at the top of our priority list. Closing as a duplicate to consolidate discussion there.


📝 Disaster Recovery DHCP / DNS test

Team discussion - discuss our current DR documentation and create issues to update, run through scenario create runbook docs?
e.g.

Restore DNS / DHCP infra including RDS database

Hey team! Please add your planning poker estimate with ZenHub @ASTRobinson @bagg3rs @kyphutruong @mitchdawson1982 @moontune @mTouhid @wanieldilson

This one sounds like a spike. Do we need to estimate this one?

Agree with Touhid is this more of a Spike?

Changed to SPIKE


Speed Test is showing incorrect speeds

I'm using the same server id as the one on speedtest.net

Mariadb/MSQL Docker-Compose was used  with default configuration.

test with speedtest-cli not with the web app.
where is the server_id on that results page? maybe hovering the mouse on the name of the server gives you the URL with the server_id, just to make sure it's the same. anyway, to compare accurately, you need to use speedtest-cli from shell.

What speeds do you expect to see?

What speeds do you expect to see?

Around 300mb download.
Does the app test my internet speed or is it the speed of the host of my VPS?   The latter makes sense for the higher speeds the the app is giving me.

It's going to test from where you're hosting it ---> Ookla service.
So if you're hosting it externally to your house and on a VPS service like Digital Ocean or Linode it's going to test that connection.

It's going to test from where you're hosting it ---> Ookla service.
So if you're hosting it externally to your house and on a VPS service like Digital Ocean or Linode it's going to test that connection.

I'm hosting with IONOS.   Thanks for your quick response, the different speeds make sense now.


Add item.position to collection node

Adding item.position will get the sort order from the CMS.
Thanks to @matjack1 from Dato for the hot tip!

Thanks, @gilesbutler :)


PDF cleanup 282: rename _≗_ to _≡_

Description
Addresses one item in issue #282
I'm conflicted about this change since, while it might make the pdf easier for non-Agda/non-TT folks to read, it could cause confusion for Agda/TT folks who know that the usual _≡_ wouldn't work here.


[Feature Request] Translate Carbon by default

Hello
We already have both a great translate component and a great time/date package, but as of my knowledge we haven't yet translated the Carbon instances created by for instance the model, could this be done by laravel automatically when we for instance say App()->setLocale() or somewhere else in the application life cycle?

We're open to PRs.

Can we establish first whether such a pull request would have a chance of being accepted?

pull request would have a chance of being accepted?

Not a clue, sorry. You'll have to ask taylor directly. Don't create proposal issues, because Taylor doesn't read the issues anymore.

Well, I don't have the time to write pull requests without even knowing whether they get accepted. I'm sure I'm not the only one...

As I said, ask them...

As I said, ask then...


Better feedback when login fails

The login page doesn't say anything when you enter the wrong password.
Perhaps a toaster? Might be ugly. Perhaps a little popup below or slide out below.

We're using toasters elsewhere for success/error, but that wouldn't look right for the login page.
I would agree with a panel above or below the credentials fields.

You may have noticed by the URL query part is populated with ?error on failed login

I'd suggest extending the "white area" of the login panel with the failure notice


Tap event fires together with doubletap event

This should never ever happen. only one event at a time. most people put 2 different events on an object, and the UX will get crazy when the user double tap to do one action and the single-tap event also gets fired and does the second thing, which wasn't intended to happen at all.

What would be awesome is if Finger knows that BOTH tap and doubletap are being listened for on an element, it retains the 300ms delay, but when ONLY tap is being used, skip the 300ms delay.

@tlhunter This is a edge case involving too much code, without mentioning that some user may want another behaviour.
In this kind of scenario, I would advice to handle this yourself as you have all you need to do so.


lxc: Adds support for attaching instance to a managed network

Updates lxc network attach to detect the use of a managed network and rather than adding a NIC with a nictype property, instead adds a NIC with a network property. This enables support for attaching all types of managed networks (bridge, macvlan, physical, sriov and ovn).
If the network is unmanaged, falls back to old behaviour of defaulting to macvlan NIC type unless the network interface is a bridge in which case it uses bridged NIC type.
This also has the side effect that attaching to a managed bridge (i.e lxc network attach lxdbr0 ...) will now create a NIC with a network property rather than a nictype property.
Reported from https://discuss.linuxcontainers.org/t/confusion-about-hosting-dhcp-server-inside-linux-container/9929/6
Signed-off-by: Thomas Parrott<EMAIL_ADDRESS>

jenkins: test this please

jenkins: test this please

Looks like our proxy tests are depending on behaviour that isn't really valid when using a parent network that doesn't have stateful dhcpv6 enabled, will fix.

Looks like our proxy tests are depending on behaviour that isn't really valid when using a parent network that doesn't have stateful dhcpv6 enabled, will fix.

jenkins: test this please

jenkins: test this please

jenkins: test this please

jenkins: test this please

jenkins: test this please

jenkins: test this please


Extension Host crash

Since version 1.67 VSCode crashes every few minutes for me.
Now I have installed 1.67.2 and have the same issue
localProcessExtensionHost.ts:290 Extension Host
localProcessExtensionHost.ts:291 <--- Last few GCs --->[13820:000049CC00330000]   708856 ms: Mark-sweep (reduce) 3823.8 (3859.0) -> 3823.5 (3843.5) MB, 28.1 / 0.0 ms  (average mu = 0.990, current mu = 0.651) last resort GC in old space requested[13820:000049CC00330000]   708890 ms: Mark-sweep (reduce) 3823.5 (3843.5) -> 3823.5 (3843.5) MB, 33.5 / 0.0 ms  (average mu = 0.970, current mu = 0.000) last resort GC in old space requested<--- JS stacktrace --->FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 1: 00007FF766664A16 node::Buffer::New+50294 2: 00007FF766664C1F node::OnFatalError+463 3: 00007FF7691789DA v8::Data::IsFixedArray+842 4: 00007FF76917892C v8::Data::IsFixedArray+668 5: 00007FF769249FD3 v8::JSHeapConsistency::CheckWrapper+68179 6: 00007FF767C8F184 v8::CppHeap::GetHeapHandle+101364 7: 00007FF767C78F38 v8::CppHeap::GetHeapHandle+10664 8: 00007FF767B56CEB uv_random+6532091 9: 00007FF765CDECA1 v8::internal::OSROptimizedCodeCache::ClearEntry+26062510: 0000388A07F0B23C
abstractExtensionService.ts:884 Extension host (LocalProcess) terminated unexpectedly. Code: 134, Signal: null
_onExtensionHostCrashed @ abstractExtensionService.ts:884
log.ts:313   ERR Extension host (LocalProcess) terminated unexpectedly. No extensions were activated.
log.ts:301  INFO Automatically restarting the extension host.
log.ts:307  WARN Canceled: Canceled
    at Object.S [as canceled] (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:8:1172)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:1719:8442
    at Array.forEach (<anonymous>)
    at v.dispose (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:1719:8390)
    at Br.dispose (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:1968:5930)
    at Ul.stopExtensionHosts (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:23897)
    at Ul._onExtensionHostCrashed (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:25337)
    at Ul._onExtensionHostCrashed (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3171:5539)
    at Ul._onExtensionHostCrashOrExit (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:25082)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:24823
    at m.invoke (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:145)
    at r.deliver (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:2265)
    at o.fire (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:1843)
    at U._onExtHostProcessExit (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3170:31904)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3170:26586
    at m.invoke (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:145)
    at r.deliver (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:2265)
    at o.fire (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:1843)
    at $ (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:3413)
    at T.onResponse (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:4386)
    at T.onBuffer (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:4226)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:1817
    at m.invoke (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:145)
    at r.deliver (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:2265)
    at o.fire (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:1843)
    at EventEmitter.$ (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:65:51237)
    at EventEmitter.emit (node:events:390:28)
    at Object.onMessage (node:electron/js2c/renderer_init:81:881)
localProcessExtensionHost.ts:290 Extension Host
localProcessExtensionHost.ts:291 <--- Last few GCs --->[29496:0000684C00330000]    79159 ms: Mark-sweep (reduce) 3834.7 (3865.4) -> 3834.5 (3850.1) MB, 28.7 / 0.0 ms  (average mu = 0.976, current mu = 0.741) last resort GC in old space requested[29496:0000684C00330000]    79196 ms: Mark-sweep (reduce) 3834.5 (3850.1) -> 3834.5 (3849.9) MB, 36.4 / 0.0 ms  (average mu = 0.930, current mu = 0.000) last resort GC in old space requested<--- JS stacktrace --->FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 1: 00007FF766664A16 node::Buffer::New+50294 2: 00007FF766664C1F node::OnFatalError+463 3: 00007FF7691789DA v8::Data::IsFixedArray+842 4: 00007FF76917892C v8::Data::IsFixedArray+668 5: 00007FF769249FD3 v8::JSHeapConsistency::CheckWrapper+68179 6: 00007FF767C8F184 v8::CppHeap::GetHeapHandle+101364 7: 00007FF767C78F38 v8::CppHeap::GetHeapHandle+10664 8: 00007FF767B56CEB uv_random+6532091 9: 00007FF765CDECA1 v8::internal::OSROptimizedCodeCache::ClearEntry+26062510: 00006FA907F0B23C
abstractExtensionService.ts:884 Extension host (LocalProcess) terminated unexpectedly. Code: 134, Signal: null
_onExtensionHostCrashed @ abstractExtensionService.ts:884
log.ts:313   ERR Extension host (LocalProcess) terminated unexpectedly. No extensions were activated.
log.ts:301  INFO Automatically restarting the extension host.
log.ts:307  WARN Canceled: Canceled
    at Object.S [as canceled] (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:8:1172)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:1719:8442
    at Array.forEach (<anonymous>)
    at v.dispose (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:1719:8390)
    at Br.dispose (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:1968:5930)
    at Ul.stopExtensionHosts (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:23897)
    at Ul._onExtensionHostCrashed (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:25337)
    at Ul._onExtensionHostCrashed (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3171:5539)
    at Ul._onExtensionHostCrashOrExit (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:25082)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:24823
    at m.invoke (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:145)
    at r.deliver (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:2265)
    at o.fire (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:1843)
    at U._onExtHostProcessExit (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3170:31904)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3170:26586
    at m.invoke (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:145)
    at r.deliver (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:2265)
    at o.fire (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:1843)
    at $ (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:3413)
    at T.onResponse (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:4386)
    at T.onBuffer (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:4226)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:1817
    at m.invoke (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:145)
    at r.deliver (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:2265)
    at o.fire (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:1843)
    at EventEmitter.$ (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:65:51237)
    at EventEmitter.emit (node:events:390:28)
    at Object.onMessage (node:electron/js2c/renderer_init:81:881)
localProcessExtensionHost.ts:290 Extension Host
localProcessExtensionHost.ts:291 <--- Last few GCs --->[18960:000059FC00330000]   576034 ms: Mark-sweep (reduce) 3828.7 (3858.7) -> 3828.4 (3843.7) MB, 36.5 / 0.0 ms  (average mu = 0.987, current mu = 0.480) last resort GC in old space requested[18960:000059FC00330000]   576079 ms: Mark-sweep (reduce) 3828.4 (3843.7) -> 3828.4 (3843.7) MB, 45.1 / 0.0 ms  (average mu = 0.962, current mu = 0.000) last resort GC in old space requested<--- JS stacktrace --->FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 1: 00007FF766664A16 node::Buffer::New+50294 2: 00007FF766664C1F node::OnFatalError+463 3: 00007FF7691789DA v8::Data::IsFixedArray+842 4: 00007FF76917892C v8::Data::IsFixedArray+668 5: 00007FF769249FD3 v8::JSHeapConsistency::CheckWrapper+68179 6: 00007FF767C8F184 v8::CppHeap::GetHeapHandle+101364 7: 00007FF767C78F38 v8::CppHeap::GetHeapHandle+10664 8: 00007FF767B56CEB uv_random+6532091 9: 00007FF765CDECA1 v8::internal::OSROptimizedCodeCache::ClearEntry+26062510: 0000753E07F0B23C
abstractExtensionService.ts:884 Extension host (LocalProcess) terminated unexpectedly. Code: 134, Signal: null
_onExtensionHostCrashed @ abstractExtensionService.ts:884
log.ts:313   ERR Extension host (LocalProcess) terminated unexpectedly. No extensions were activated.
log.ts:301  INFO Automatically restarting the extension host.
log.ts:307  WARN Canceled: Canceled
    at Object.S [as canceled] (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:8:1172)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:1719:8442
    at Array.forEach (<anonymous>)
    at v.dispose (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:1719:8390)
    at Br.dispose (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:1968:5930)
    at Ul.stopExtensionHosts (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:23897)
    at Ul._onExtensionHostCrashed (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:25337)
    at Ul._onExtensionHostCrashed (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3171:5539)
    at Ul._onExtensionHostCrashOrExit (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:25082)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:24823
    at m.invoke (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:145)
    at r.deliver (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:2265)
    at o.fire (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:1843)
    at U._onExtHostProcessExit (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3170:31904)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3170:26586
    at m.invoke (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:145)
    at r.deliver (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:2265)
    at o.fire (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:1843)
    at $ (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:3413)
    at T.onResponse (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:4386)
    at T.onBuffer (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:4226)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:1817
    at m.invoke (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:145)
    at r.deliver (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:2265)
    at o.fire (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:1843)
    at EventEmitter.$ (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:65:51237)
    at EventEmitter.emit (node:events:390:28)
    at Object.onMessage (node:electron/js2c/renderer_init:81:881)
localProcessExtensionHost.ts:290 Extension Host
localProcessExtensionHost.ts:291 <--- Last few GCs --->[19056:0000455600330000]    24989 ms: Mark-sweep (reduce) 3838.9 (3866.0) -> 3838.6 (3851.0) MB, 28.9 / 0.0 ms  (average mu = 0.942, current mu = 0.740) last resort GC in old space requested[19056:0000455600330000]    25028 ms: Mark-sweep (reduce) 3838.6 (3851.0) -> 3838.6 (3850.7) MB, 38.7 / 0.0 ms  (average mu = 0.838, current mu = 0.000) last resort GC in old space requested<--- JS stacktrace --->FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 1: 00007FF766664A16 node::Buffer::New+50294 2: 00007FF766664C1F node::OnFatalError+463 3: 00007FF7691789DA v8::Data::IsFixedArray+842 4: 00007FF76917892C v8::Data::IsFixedArray+668 5: 00007FF769249FD3 v8::JSHeapConsistency::CheckWrapper+68179 6: 00007FF767C8F184 v8::CppHeap::GetHeapHandle+101364 7: 00007FF767C78F38 v8::CppHeap::GetHeapHandle+10664 8: 00007FF767B56CEB uv_random+6532091 9: 00007FF765CDECA1 v8::internal::OSROptimizedCodeCache::ClearEntry+26062510: 00003C7407F0B23C
abstractExtensionService.ts:884 Extension host (LocalProcess) terminated unexpectedly. Code: 134, Signal: null
_onExtensionHostCrashed @ abstractExtensionService.ts:884
log.ts:313   ERR Extension host (LocalProcess) terminated unexpectedly. No extensions were activated.
log.ts:301  INFO Automatically restarting the extension host.
log.ts:307  WARN Canceled: Canceled
    at Object.S [as canceled] (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:8:1172)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:1719:8442
    at Array.forEach (<anonymous>)
    at v.dispose (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:1719:8390)
    at Br.dispose (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:1968:5930)
    at Ul.stopExtensionHosts (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:23897)
    at Ul._onExtensionHostCrashed (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:25337)
    at Ul._onExtensionHostCrashed (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3171:5539)
    at Ul._onExtensionHostCrashOrExit (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:25082)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:24823
    at m.invoke (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:145)
    at r.deliver (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:2265)
    at o.fire (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:1843)
    at U._onExtHostProcessExit (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3170:31904)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3170:26586
    at m.invoke (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:145)
    at r.deliver (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:2265)
    at o.fire (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:1843)
    at $ (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:3413)
    at T.onResponse (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:4386)
    at T.onBuffer (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:4226)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:1817
    at m.invoke (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:145)
    at r.deliver (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:2265)
    at o.fire (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:1843)
    at EventEmitter.$ (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:65:51237)
    at EventEmitter.emit (node:events:390:28)
    at Object.onMessage (node:electron/js2c/renderer_init:81:881)
localProcessExtensionHost.ts:290 Extension Host
localProcessExtensionHost.ts:291 <--- Last few GCs --->[29780:00002C3C00330000]    20964 ms: Mark-sweep (reduce) 3826.2 (3853.7) -> 3826.0 (3838.7) MB, 33.9 / 0.0 ms  (average mu = 0.943, current mu = 0.622) last resort GC in old space requested[29780:00002C3C00330000]    21005 ms: Mark-sweep (reduce) 3826.0 (3838.7) -> 3826.0 (3838.5) MB, 41.4 / 0.0 ms  (average mu = 0.847, current mu = 0.000) last resort GC in old space requested<--- JS stacktrace --->FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 1: 00007FF766664A16 node::Buffer::New+50294 2: 00007FF766664C1F node::OnFatalError+463 3: 00007FF7691789DA v8::Data::IsFixedArray+842 4: 00007FF76917892C v8::Data::IsFixedArray+668 5: 00007FF769249FD3 v8::JSHeapConsistency::CheckWrapper+68179 6: 00007FF767C8F184 v8::CppHeap::GetHeapHandle+101364 7: 00007FF767C78F38 v8::CppHeap::GetHeapHandle+10664 8: 00007FF767B56CEB uv_random+6532091 9: 00007FF765CDECA1 v8::internal::OSROptimizedCodeCache::ClearEntry+26062510: 00001FCE07F0B23C
abstractExtensionService.ts:884 Extension host (LocalProcess) terminated unexpectedly. Code: 134, Signal: null
_onExtensionHostCrashed @ abstractExtensionService.ts:884
log.ts:313   ERR Extension host (LocalProcess) terminated unexpectedly. No extensions were activated.
notificationsAlerts.ts:42 Der Erweiterungshost wurde innerhalb der letzten 5 Minuten unerwartet dreimal beendet.
onDidChangeNotification @ notificationsAlerts.ts:42
log.ts:307  WARN Canceled: Canceled
    at Object.S [as canceled] (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:8:1172)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:1719:8442
    at Array.forEach (<anonymous>)
    at v.dispose (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:1719:8390)
    at Br.dispose (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:1968:5930)
    at Ul.stopExtensionHosts (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:23897)
    at Ul._onExtensionHostCrashed (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:25337)
    at Ul._onExtensionHostCrashed (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3171:5539)
    at Ul._onExtensionHostCrashOrExit (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:25082)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3168:24823
    at m.invoke (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:145)
    at r.deliver (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:2265)
    at o.fire (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:1843)
    at U._onExtHostProcessExit (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3170:31904)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:3170:26586
    at m.invoke (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:145)
    at r.deliver (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:2265)
    at o.fire (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:1843)
    at $ (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:3413)
    at T.onResponse (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:4386)
    at T.onBuffer (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:4226)
    at vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:83:1817
    at m.invoke (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:145)
    at r.deliver (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:2265)
    at o.fire (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:67:1843)
    at EventEmitter.$ (vscode-file://vscode-app/c:/Program%20Files/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:65:51237)
    at EventEmitter.emit (node:events:390:28)
    at Object.onMessage (node:electron/js2c/renderer_init:81:881)

Please use the Start Extension Bisect command to investigate whether the problem is being caused by one of your extensions.

Thank you, that was new to me.
https://marketplace.visualstudio.com/items?itemName=aswinkumar863.smarty-template-support
There is already an issue about it.

:1: Please close this issue here.


Remove implementation of BuiltEntity for standalone component

Feature
Remove implementation of BuiltEntity for standalone component to force usage of dedicated methods to create entity from single component.
Dependency

#203
#205
#206
#207
#214

It is actually more convenient to keep entity creation from single component in some cases (for example with World), but it shouldn't be possible with methods like BuiltEntity::child_entity as another method is better suited.


[BUG] running copilot auth requires a copilot token to be set?

helix-editor version
current master
helix-gpt version
0.27 / nixos unstable
Describe the bug
running the command to fetch the copilot token requires a copilot token to be set?
Looks like it fails at this check https://github.com/leona/helix-gpt/blob/4647598e9e13330bde4b818896891d0398fcea7c/src/config.ts#L76C1-L78C2
I think you can just add the authCopilot bool to this check to resolve the issue. Thanks for the project.

nvm, looks like I'm not fully awake. I didn't notice that you guys already did that, sorry for the issue spam.


Question: which is faster, creating new coroutines or reusing old coroutines

Hi!
I want to build a system with coroutines, but performance is my concern. My question is how to design the system: should I create a fixed number of coroutines at the beginning and keep reusing them, or can I simplify my design: create a coroutines, once it is done destroy it and create another one. I would prefer the second solution unless it is slower.

should I create a fixed number of coroutines at the beginning and keep reusing them, or can I simplify my design: create a coroutines, once it is done destroy it and create another one

In most scenarios, there is not very much performance difference between these two choices. Strictly speaking, the former would be slightly faster than the latter because the former is more cache-friendly and some memory allocation and release operations are reduced. We can use tcmalloc to mitigate such differences.
But if the memory itself is the bottleneck of your system, then the former one is probably the better choice.
.

Thanks for the answer. One more question. is it possible to create a system with e.g. one main co and several slave co, such as, when aco_yield is called, the task doesn't switch to the main co, but to the next co in the ring
Currently, I have this
slave1 -> main co -> slave2 -> main co -> slave3 -> ... slave8 ->main co -> slave1
But what I want is
slave1 -> slave2 -> slave3 -> slave4 -> ... -> slave8 -> main co -> slave1
Is the second possible?

slave1 -> main co -> slave2 -> main co -> slave3 -> ... slave8 ->main co -> slave1

Only this usage is currently supported. This is what we called asymmetric coroutine. The main co could be used as a scheduler.

slave1 -> slave2 -> slave3 -> slave4 -> ... -> slave8 -> main co -> slave1

This is what we called symmetric coroutine. And is not currently supported by libaco.


Added DirectSound3D to the graveyard

For your consideration, the sad, unsung tale of the murder of DirectSound3D, and the subsequent starvation of the game audio industry, Creative SoundBlaster, EAX, Auzentech, Dolby Digital Live, et al.
https://techreport.com/review/13874/remixed-audio-cards-in-windows-vista/

Hi, may you remove the sentence Its deprecation in Windows Vista decimated the game audio industry (see Creative, Auzentech)? All the descriptions in killed by Microsoft consist in a single sentence. Also you should resync to master, if possible. Thanks for the contribution!


Wire up accessibility bridge for Windows UWP embedder

Implement screen reader and other a11y technology support for Windows UWP.
This is the UWP equivalent of #77838.

Closing this since our intent is to wind down development on, and remove the UWP embedder in order to focus on the Win32 embedder which, over time, will start to adopt Windows SDK support (once our supported OSes is a subset of those that support doing so).
See: https://github.com/flutter/flutter/issues/14967#issuecomment-1085490495


Modernize the code base

In particular:

use isort, black, flake8 to lint the code source
add typing to the code source and use mypy to check it
add pre-commit hooks
update the format of the docstrings to use the Numpy standard
update the CI configuration and add a release automation workflow

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@0b8bb01). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #67   +/-   ##
=======================================
  Coverage        ?   82.52%
=======================================
  Files           ?       15
  Lines           ?     1076
  Branches        ?      167
=======================================
  Hits            ?      888
  Misses          ?      142
  Partials        ?       46

Flag
Coverage Δ

unittests
82.52% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


ARROW-11872: [C++] Fix Array validation when Array contains non-CPU buffers

Constructing an Arrow Table from Arrays that contains CudaBuffer presently fails.
ValidateArrayImpl::IsBufferValid is checking the buffers of each Array, but when an Array's buffers aren't on the CPU the data.buffers[index]->data() != nullptr check returns false.
Fixes ARROW-11872.

Looks good

Thanks for the update @trxcllnt . As I said above, perhaps you can add an array validation test on the C++ side?

@pitrou yep, done!


Looking for new dlangui maintainer

Since the project is mostly abandoned by author (me), I'm looking for kind people who wants to support it.

Probably the best way is to transfer the project to D community. Big thanks to you for your great job!

Unfortunately I'm too busy with other stuff and could not become a full maintainer. But I am willing to provide help with looking over pull requests and maybe keeping this build-able on Windows.

I can grant repository privileges to several developers.
What is a procedure of transferring to D community?

@buggins https://github.com/dlang-community/discussions#adoption-guidelines here are adoption guidlines

@buggins I've created organization dlangui, you can transfer dlangui there and let others to adopt the project to the D community.

@buggins also you can create the organization and add developers there. I'm in the same boat like GrimMaple but I understand the importance of dlangui to allocate some time to it.

Bump. What's up?
@buggins what about the adoption? Will you create an issue in https://github.com/dlang-community/discussions/issues ? If you don't want to be bothered with this, I could do it, just say it!

rip

@buggins sorry for the ping, but I messaged you about taking over maintenance on habr. Any updates?

Hello?

I could take over. I have created a GUI subsystem for my own game engine, complete with a window layout editor.
My main issue is that I now work full time, and I barely can do my own projects.

I'm gonna close this as this is no longer relevant :)


No exported member 'ImageOptimizationStack'

Since the latest commit on main, the sample code can no longer be deployed. It seems like
import { ImageOptimizationStack } from '../lib/image-optimization-stack';

can no longer be fulfilled after the renaming to StoreInfraStack. I suppose this is a mistake?

Sorry this is a mistake, I will correct today

Just reverted this erronous commit, thanks for raising it


[zh] Update the chinese translation of have-on-opinion

have no opinion does not mean feeling ok with something.
it's better to be translated into have no good opinion or have a bad/low/mean/poor opinion.
thus: replace 没有建议 with 毫无主见.

I'v signed the CLA.

/assign @tengqm

This change doesn't seem valid to me.
/close


feat(gcp-functions): allow keeping optional peerDeps and devDeps

Fixes #250
Adds an option called omitOptionalDependencies. This will control the isProduction flag in @nx/js's createPackageJson function.

Think the main reason for it being that when you deploy a google cloud function it will only install the production deps, could you eleborate why/when you would need the dev/peer deps? Out of curiosity.
The PR does mis one thing, on line 39 we do the following:
  delete packageJson.devDependencies

That should probably also be wrapped with omitOptionalDependencies

Think the main reason for it being that when you deploy a google cloud function it will only install the production deps

I understand that. But nx's createPackageJson decides for me that devDeps and optional peerDeps are the same thing. That's incorrect in my opinion. I can still want optional peer Deps in my production builds.

The PR does mis one thing, on line 39 we do the following:

You're right! I'll add that one 👍


Enable StaticAnalyzers for C

Currently only CXX are supported by cppcheck, clang-tidy, and include-what-you-use. It would be great to have them enabled for C as well.

[x] Set C standard: #65
[ ] Clang-tidy for C #78
[ ] Cppecheck for C #77

Also, #78 for clang-tidy
https://github.com/cpp-best-practices/project_options/archive/refs/heads/c-clangtidy.zip

@aminya Yes, I'll let you know.

@aminya I've posted the feedback on the page of the corresponding pull request.


WIP: Add multiple inputs to fluentbit configuration

Is this a new chart
No, please. No.
What this PR does / why we need it:
I need more logs from my cluster.
Special notes for your reviewer:
This a simple quick 'n' dirty solution to my problem with audit files. It works but has no backwards compatibility with previous values.yaml and it is untested in Windows environments.
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[ ] Chart Version bumped
[ ] Variables are documented in the README.md
[ ] Title of the PR starts with chart name (e.g. [mychartname])

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[Azure Search] Support cleaning cache for Azure Search Client

My customer wants to have a feature to clear the cache of the Azure Search.
My customer encounter the shortage of Azure Search. Azure Search had a shortage however, it successfully fail over to change the DNS. However, the client side, they cache Azure Search Client, and there is no way to clear cache.  Azure Functions recommend to make Client Static. For the standard API of the Client, we can pass the HttpClientHandler instance to the client. However not for SocketsHttpHandler which support cleaning DNS cache.
We ended up with use refrection to inject the DNS cache configuration. This might be mandatory to support the fail over.
This is our current work around.
    public class KeepAliveAvailableHttpClientHandler : HttpClientHandler
    {
        private readonly FieldInfo _fieldInfo =
            typeof(HttpClientHandler).GetField("_socketsHttpHandler", BindingFlags.NonPublic | BindingFlags.Instance);

        public KeepAliveAvailableHttpClientHandler()
        {
            var socketHttpHandler = (SocketsHttpHandler) _fieldInfo.GetValue(this);
            socketHttpHandler.PooledConnectionIdleTimeout = TimeSpan.FromMinutes(3);
            socketHttpHandler.PooledConnectionLifetime = TimeSpan.FromMinutes(1);
        }

    }

pass it.
var handler = new KeepAliveAvailableHttpClientHandler();
indexClient = new SearchIndexClient(searchServiceName, "azuresql-index", new SearchCredentials(adminApiKey), handler , null);

For more detail, I wrote a blog about it.
https://medium.com/@tsuyoshiushio/cleaning-dns-cache-with-azure-search-client-14cbd73d8195

@TsuyoshiUshio @brjohnstmsft
If I understand the ask correctly, the ask is to provide support for SocketsHttpHandler.
And this you need to clean DNS cache or Azure Search Cache.
@brjohnstmsft if you can clarify that will be great.

@shahabhijeet I believe that's the ask, yes. The purpose is to clean the DNS cache when a search service is re-created with the same name (@TsuyoshiUshio please correct me if I'm misunderstanding your scenario). This could potentially be an issue for any data plane service where the tenant name is part of the FQDN of the endpoint.

Assuming this particular scenario is around webApp
@TsuyoshiUshio more questions for you to ask the customers for clarification.
If what @brjohnstmsft said is correct (recreating the service client with the same name), but are they doing this in the same app pool before the app pool is recycled?
because there are at least two different (that I know of) to clear DNS
ServicePointManager.DnsRefreshTimeout = 0
and/or
request.KeepAlive = false

He is right. The scenario of the customer is, They got two shortages of Azure Search per month. According to the Root Cause Analysis, it said that the shortage happens but recovered. However client side program can't clear the DNS cache. So the customer shortage last for several hours. Customer wanted to avoid this. The customer using Azure Functions. It requires to single ton client to access outbound request. Unless it, it will cause an exhaustion of the routing table of Scale Unit. So Azure Functions recommend to have client as static or DI.  So we need to keep on using the same Azure Search instance.
https://docs.microsoft.com/en-us/azure/azure-functions/manage-connections#connections-limit
DnsRefreshTimeout = 0 might work, however, it'll add extra requests. And KeepAlive might against the guideline I put the link.  If I'm wrong, please give me an advice.

@TsuyoshiUshio I am not sure I follow on your last comment about "extra requests".
I am not asking to clear DNS cache on every requests, only when the service tries to recover from 503 scenarios. I am sure the customer has anticipated 5xx (502, 503, 504) scenarios and has recovery code added.
Also currently SocketsHandler is only available in netCoreApp2.1, adding support for such types will make the SDK shape inconsistent across other supported Target Fx.

Hi @shahabhijeet ,
You mean, customer should clear cache when they've got 503 by themselves? One question is, can we do it for Azure Search client? The first one (System.Net.ServicePointManager.DnsRefreshTimeout = 0) seems ok. however, If I remember correctly, ServicePointManager works fine for .NetFramework and not for .NetCore (Azure Functions V2 is .NetCore). For KeepAlive, how can we set the requestObject for Azure Search SDK?

@TsuyoshiUshio I am not in favor of clearing the DNS cache for all 503s in the SDK layer. There are many reasons a service might return 503. The Azure .NET SDKs have built-in retry logic that by default will retry with exponential backoff on 503. If a request fails all retries, the SDK will throw CloudException, which the application can handle in whatever way makes the most sense. I don't think we should bake more policy into this retry logic that may only apply to some situations for some Azure services (the infrastructure we're talking about is shared by all Azure .NET SDKs, not just Azure Search).
If we could solve this by adding an extensibility point to make the above KeepAliveAvailableHttpClientHandler workaround cleaner, that would make more sense, if @shahabhijeet agrees. Otherwise, I think this is something that should be solved at the application layer.

It's ok for covering by Application layer. We need to come up with the best practice for Azure Functions.
One of the limitation of the Azure Functions is outbound requests. They can't allow a lot of client instances of HttpClient.  The customer might need to dispose current instance once they've got 503 then create a new instance for new cache.  I just wanted to share this issue because my customer struggled this one. However there is some guidance is there, I don't care how to solve. That's fine. :)

@TsuyoshiUshio In that case, I propose we close this issue. Do you agree?

@TsuyoshiUshio I haven't heard from you, so I'm closing this issue. Please let me know if you have a reason to re-open it.


update docs

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

12 of 23 (52.17%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 6.289%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

casts.go
4
8
50.0%

generics.go
8
15
53.33%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
60

Relevant Lines:
954

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

12 of 23 (52.17%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 6.289%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

casts.go
4
8
50.0%

generics.go
8
15
53.33%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
60

Relevant Lines:
954

💛  - Coveralls


PlayQueueItem not playing

🐛 Bug Report

PlayQueueItem  wont play the specific item when the Isplaying() = true
Here is the code example
        public async void PlayQueueItem(int index)
        {
            var item = mediaItems != null && mediaItems.Count > index && index >= 0 ? mediaItems[index] : null;
            if (item != null)
            {
                if (MediaPlayer.IsPlaying())
                    await MediaPlayer.Stop();
                var v = await MediaPlayer.PlayQueueItem(item);
               // v is true but the player simple stop playing
            }

            await Task.Delay(TimeSpan.FromSeconds(1));
        }

Expected behavior
PlayQueueItem should stop the current playing item and start playing the next item
Reproduction steps
Start playing a list of items, then try and trigger PlayQueueItem  to play a specific item
the player simple stop.
Configuration
Version: 0.7.3
Platform:

[ ] :robot: Android

Okit worked when i only trigger await MediaPlayer.PlayQueueItem(item); without Stop();


vue3 @slideChange 函数，获取activeIndex 位置不对，模块放了两个，打印有3个

Check that this is really a bug

[X] I confirm

Reproduction link
不需要地址
Bug description
<swiper @swiper="onswiper" :slidesPerView="1" :navigation="true" :loop="true" :autoplay="autoplayOptions"
:pagination="{ clickable: true }" :modules="modules" @slideChange="slideChangePage">
//这里就是更新后的路径，以前是import { Swiper, SwiperSlide } from 'swiper/vue'
import { Swiper, SwiperSlide } from 'swiper/vue/swiper-vue'
import { Pagination, A11y, Autoplay, Navigation } from 'swiper'
//这里就是更新后的路径，以前是import 'swiper/css'
import 'swiper/swiper.min.css'
import 'swiper/swiper.scss'
import 'swiper/swiper-bundle.css'
import 'swiper/swiper-bundle.min.css'
import 'swiper/swiper-vars.scss'
//自动轮播的配置
const autoplayOptions = {
delay: 5000,
disableOnInteraction:false
}
const onswiper = (e)=>{
const swipe1  = e;
console.log("onswiper==",swipe1);
}
const slideChangePage = (e)=>{
console.log("slideChangePage==",e.activeIndex);
}
const modules = [Pagination, A11y, Autoplay, Navigation]
Expected Behavior

Actual Behavior
想实时监听位置
Swiper version
"swiper": "^8.3.2",
Platform/Target and Browser Versions
Chrome 版本 104.0.5112.101（正式版本） (x86_64)
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a Swiper issue and not a framework-specific issue

Would you like to open a PR for this bug?

[X] I'm willing to open a PR

Your issue is closed because it is not filled correctly. Before you open an issue please review the contributing guideline.
Please fill the issue template correctly and:

Clearly describe the issue including steps to reproduce when it is a bug.
Make sure you fill in the earliest version that you know has the issue.
Provide live link or JSFiddle/Codepen or website with isssue

It will save a lot of time for other contributors to check your issue and fix it.


elastalert-server does not support Amazon Elasticsearch Service connections.

https://www.npmjs.com/package/aws-elasticsearch-connector
elastalert and elastalert2 are supported.

johnsusek / elastalert-server is also not supported.


[BSI][20201216] Insecure Storage of Symptoms Status

Rating: Low
Description:
The 1.9 update of the Android CWA app stores sensitive information in an unencrypted from.
The Android app stores a parameter that indicates whether the user is suffering from symptoms in a shared preferences file. The parameter submission.symptoms.latest is set to “POSITIVE” or “NEGATIVE” values and is stored in an unencrypted form in the shared preferences file submission_localdata.xml.
A local attacker with escalated privileges can capture this unencrypted information from the app’s sandbox storage.
Proof of Concept:
The following excerpt shows that the parameter submission.symptoms.latest is saved in submission_localdata.xml file:
Class SubmissionSettings
private val prefs by lazy { context.getSharedPreferences("submission_localdata", Context.MODE_PRIVATE) }
val symptoms: FlowPreference<Symptoms?> = FlowPreference( prefs, key = "submission.symptoms.latest", reader = FlowPreference.gsonReader<Symptoms?>(gson, null), writer = FlowPreference.gsonWriter(gson) )

Class SubmissionRepository
// to be used by new submission flow screens val hasGivenConsentToSubmission = submissionSettings.hasGivenConsent.flow val currentSymptoms = submissionSettings.symptoms

Class SubmissionSymptomIntroductionViewModel
fun onPositiveSymptomIndication() { updateSymptomIndication(Symptoms.Indication.POSITIVE) } fun onNegativeSymptomIndication() { updateSymptomIndication(Symptoms.Indication.NEGATIVE) } fun onNoInformationSymptomIndication() { updateSymptomIndication(Symptoms.Indication.NO_INFORMATION) } private fun updateSymptomIndication(indication: Symptoms.Indication) { Timber.d("updateSymptomIndication(indication=$indication)") submissionRepository.currentSymptoms.update { (it ?: Symptoms.NO_INFO_GIVEN).copy(symptomIndication = indication) } }

Recommended Controls:
Sensitive information about user’s infection and symptoms should be stored in an encrypted from. Therefore, it is recommended to encrypt values of submission_localdata.xml in the same way as with shared_preferences_cwa.xml file.

Internal Tracking ID: EXPOSUREAPP-4322

Thanks for sharing these comments.
We are taking security issues very seriously and will investigate impact, probability, and options to handle this issue accordingly.

Is there some reason not to follow the instructions in https://github.com/corona-warn-app/cwa-app-android/blob/main/SECURITY.md:
"For reporting a vulnerability, please use the Vulnerability Report Form for Security Researchers on SAP Trust Center"
instead of posting here?

Is this looked into or just ignored for now?

Again, thanks for reporting the finding with a detailed information.
Since the related issues #1988 , #1989 , and #1554 all tackle the same finding and recommendations, but just different data objects, we will handle them with high priority for evaluation and for a proper solution design.
Still, I urgently ask @BSI-TF-CWA , to follow the agreed procedure documented in:
https://github.com/corona-warn-app/cwa-app-android/blob/main/SECURITY.md
Following this path ensures the findings are addressed to the right team, so the required procedure and documentation becomes transparent and efficient. Otherwise we may lose time and generate additional communication effort with disclosure of sensitive information.
All GitHub issues (including #987) are already converted into a respective internal work item that allows the experts to follow up.
Thanks, @BSI-TF-CWA, for your input and for following the agreed procedure as described here: https://github.com/corona-warn-app/cwa-app-android/blob/main/SECURITY.md

Again, thanks for reporting the finding with a detailed information.
Since the related issues #1988 , #1907 , and #1554 all tackle the same finding and recommendations, but just different data objects, we will handle them with high priority for evaluation and for a proper solution design.
Still, I urgently ask @BSI-TF-CWA , to follow the agreed procedure documented in:
(https://github.com/corona-warn-app/cwa-app-android/blob/main/SECURITY.md)
Following this path ensures the findings are addressed to the right team, so the required procedure and documentation becomes transparent and efficient. Otherwise we may lose time and generate additional communication effort with disclosure of sensitive information.
All GitHub issues (including #987) are already converted into a respective internal work item that allows the experts to follow up.
Thanks, @BSI-TF-CWA, for your input and for following the agreed procedure as described here: (https://github.com/corona-warn-app/cwa-app-android/blob/main/SECURITY.md)

This issue is probably obsolete. Closed in favour of https://github.com/corona-warn-app/cwa-app-android/issues/2846

Corona-Warn-App Open Source Team


CNF-14833: E2E: metrics exposed securely

This is a follow-up PR for #1106 and #1107, adding e2e tests to test their functionality.
The tests verify that secured metrics fetching can be established, for both the manager pod and rte workers.

/retest-required

@rbaturov are those tests running as part of u/s CI?

@rbaturov are those tests running as part of u/s CI?

Yes, they should as they are part of the serial e2e suite

The serial suite is not running u/s