Event directives

Syntax
(event.modificators)="expression"

Examples
(keyup)="onKeyup($event)"
(keyup)="key=$event.keyCode"
(keydown.tab)="onTab()"
(keydown.enter)="onEnter($event)"
(keydown.13)="onEnter($event)"
(keydown.13.prevent)="onEnter($event)"
(input)="value=$event.target.value"
(submit)="onSubmit()"
(submit.noprevent)="onSubmit()"
(click)="onClick($event)"
(click.noprevent)="onClick()"
(click.noprevent.stop)="onClick()"
(mousemove.noscan)="onMousemove($event)"

Modificators "prevent" and "stop" are on by default for click, dblclick and submit.
Modificators for all events
stop - calls stopPropagation
prevent - calls preventDefault
nostop - voids stopPropagation for click, dblclick, submit
noprevent - voids preventDefault for click, dblclick, submit
noscan - void $scan

Modificators for keyup, keypress, keydown
        enter: 13
        tab: 9
        delete: 46
        backspace: 8
        esc: 27
        space: 32
        up: 38
        down: 40
        left: 37
        right: 39

Hm, i am not sure if i will like the notation of this feature.
The brackets are not standard conform and currently i see not benefits to normal event directives.
Can you please give some examples how this will work?

Vote for @ symbol)
Examples: http://vuejs.org/guide/events.html

There are a few advantages:

You can catch any event, including custom events and events from other libs, e.g. (swipe)="onSwipe()", (my-custom-event-from-component)="receivedFromComponent=$event.value"
You don't need make a directive for every event anymore.

more flexibility, you can filter events and modify behavor: (keydown.13.noscan)="send()" - executes the expression if a user press enter (13), after that $scan should be executes.
example of navigation woth no js code: http://codepen.io/anon/pen/GodJeO?editors=1000

something else, forgot :)

We just choose good style:
(click)="expression()" - angular2
@click="expression()" - vuejs
on-click="expression()" - vuejs
click.bind="expression()" - aurelia.io
propose your variant.

after that $scan should be executes.

fix, shouldn't be executed, because of option "noscan"

I propose another syntax, because it would be more xml-like and could be realizable using a normal directive:
al-on:click="eventHandler()"
Why not using e.g.
al-on="click:eventHandler()"?
By the way, i think about to really 'bind' a handler function by referencing a callback instead of executing it on the event:
al-on:click="eventHandler"
This would give the eventHandler function automatically all parameters.
But i also think this might break with current alight behaviour.
What do you think?
Lol, just saw vue.js uses also v-on:keyup.13="submit"
So i prefer this style, because it should be compatible for serverside xhtml template parsers.
The question is: how similar/different should alight be to angularjs?
Should it try to imitate the syntax? Or should it be an own framework?

Why not using e.g. al-on="click:eventHandler()"?

al-on="click:eventHandler(), mousemove:mouseHandelr, keydown:keyHandler()"?

al-on:click="eventHandler" ... automatically all parameters.

There is only one parameter $event.
It's not flexible, how would you do: "count++", "value = $event.value", "myFunc(localVar, 'customValue', 123)"

compatible for serverside xhtml template parsers

it's not important in 2016

The question is: how similar/different should alight be to angularjs?

We just should find out the best style, similarity is good (easy to migrate), but it's only one point of many.

It's not flexible, how would you do: [...]

So the best way might be:
al-on:click="eventHandler()"
What about implementing multiple syntax styles?
E.g.
(click)="eventHandler()"
and
al-on:click="eventHandler()"
do the same?

compatible for serverside xhtml template parsers

it's not important in 2016

You still provide an IE8 compatible build, this is also not important in 2016.
I like alight, because it is still compatible to legacy browsers.
There are several templating engines and productive systems which need an upgrade but it's expensive to upgrade a whole system at once, so there often are only redesigns with frontend improvements.
Especially old CMS systems like TYPO3 (a widespread system in germany) still use xhtml templating engines. It is always good to follow existing standards to keep compatibility as long as it does not block a modern approach.

al-on:click="eventHandler()"

symbol ":" already is used https://github.com/lega911/angular-light/issues/120
we can use ".", al-on.click="eventHandler()"

do the same?

yes

What about implementing multiple syntax styles?

I think it's ok
@fend25 proposes change (event)="foo()" to @event="foo()", what do you think about it?
I can make 3 styles about events, but it is too many

symbol ":" already is used

Thats bad, but i like the fact you support native xml namespaces. :-)

@fend25 proposes change (event)="foo()" to @event="foo()", what do you think about it?
I can make 3 styles about events, but it is too many

yeah, in the best way we should all commit to one style.
I like the parenthesis style (event)="foo()", because its compatible to angular.js 2.
Then i looked up the html standard:
https://www.w3.org/TR/html-markup/syntax.html#syntax-attributes

attribute names must consist of one or more characters other than the space characters, U+0000 NULL, """, "'", ">", "/", "=", the control characters, and any characters that are not defined by Unicode.

XML-compatible attribute names are those that match the Name production defined in the XML specification [XML] and that contain no ":" characters, and whose first three characters are not a case-insensitive match for the string "xml".

So i also looked at the referenced xml standard https://www.w3.org/TR/REC-xml/#NT-Name to find out which chars are available:

[4]   	NameStartChar	   ::=   	":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF]
[4a]   	NameChar	   ::=   	NameStartChar | "-" | "." | [0-9]
[5]   	Name	   ::=   	NameStartChar (NameChar)*

I stripped off higher unicode char ranges to reduce complexity.
To make the quoted syntax more understandable, i give you a 'simplified' validation regex (without unicode ranges):
/[A-Za-z:_][0-9A-Za-z:_-.]+/

Now i would like to focus on the unicode ranges: [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF]
These ranges explicit do not include parenthesis.
Last quote from the XML RFC:

Almost all characters are permitted in names, except those which either are or reasonably could be used as delimiters.

This is why the parenthesis syntax style is bad, same for the @-syntax style.
I also tested against the w3c validator to find some good examples.
Copy the following test code into this validator https://validator.w3.org/#validate_by_input :
<?xml version="1.0" encoding="UTF-8"?>

  <note al-onclick="fire()"></note>
  <note al-on.click="fire()"></note>
  <note al-on_click="fire()"></note>
  <note al-on--click="fire()"></note>
  <note al-onclick="fire()"></note>

  <note (click)="fire()"></note>
  <note @click="fire()"></note>
  <note al-on~click="fire()"></note>
  <note al-on+click="fire()"></note>
  <note al-on*click="fire()"></note>
  <note al-on[click]="fire()"></note>
  <note al-on{click}="fire()"></note>
  <note al-on|click="fire()"></note>
  <note al-on$click="fire()"></note>
  <note al-on,click="fire()"></note>
  <note al-on;click="fire()"></note>

I vote for implementing angular js 2 style and a fallback for al-on.click="fire()"

symbol ":" already is used

I rethought, we still can use ":",  al-on:click and al:on:click

I also tested against the w3c validator to find some good examples.

No one cares about it, different frameworks use styles that they want, maybe we shouldn't care about it too

Now i would like to focus on the unicode ranges: [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF]

My keyboard doesn't have these symbols, (ɨɟɄɶ...), there is no normal symbols

I rethought, we still can use ":", al-on:click and al:on:click

This is also ok for me.
I try to keep a look on relevant things, but it is also needed to keep an eye for compatibility to older standards.
Especially for such a relevant feature like this.
I assume you will remove old event directives like al-click in favor for the new implementation, right?
Then there should also be a compatibility for older standards or it wont be possible to use events anymore.
Compatibility makes a framework usable for greater projects.

I think it will be ok if I move them to a compatible/full build (maybe in next version)
I've made env.attrArgument for directives, it contains string after ':', e.g. for al-click:arg1.arg2="", env.attrArgument = "arg1.arg2"
You can propose better name for this while no one uses it.
al-on:event.args="exp()" works in 0.12.12

env.attrArgument = "arg1.arg2"

Some framework events contain a dot to provide event namespaces (e.g. bootstrap).
Wouldn't this collide?
Is in your case the dot a separator for multiple events? What is arg2?

You can propose better name for this while no one uses it.

What do you mean?
By the way: why not using a syntax like al-on="eventName:eventHandler()"

Some framework events contain a dot to provide event namespaces (e.g. bootstrap).

like this one? $('#myModal').on('shown.bs.modal', function () {
it's problem, I will check it for keywords (stop, noscan...) to separate an event al-on:shown.bs.modal="func()"

Is in your case the dot a separator for multiple events? What is arg2?

env.attrArgument is a just string after ':', you can split('.') it or whatever...

What do you mean?

I mean that I can rename env.attrArgument if you have better name for this.

By the way: why not using a syntax like al-on="eventName:eventHandler()"

Give me an example how it would be in your style:
<input type="text"
    al-on:keydown.enter="onEnter($event, $index)"
    al-on:keydown.esc="cancelEditing()"
    al-input="value=$event.target.value" />

for example, angular1 had to use todo-escape and ng-submit for keydown:
https://github.com/tastejs/todomvc/blob/gh-pages/examples/typescript-angular/index.html#L29

By the way: why not using a syntax like al-on="eventName:eventHandler()"

It's too diffusively, isn't it?
compare:
al-on="eventName:eventHandler()"
@eventName="eventHandler()"
plus, in case of multiple events, @-syntax gets us a simple and obvious way to write it:
@eventA="a()" @eventB="b()"
and with al-on we should write multiple times al-on (it's too bulky) or think up some separator like
al-on="eventA=a(); , eventB=b();"
and if we want use comma in the right side of = symbol, e. g. for array or object, it will collide
what about () and @ - one symbol better than two:

less typing
not necessary to type trailing bracket. and no chance to forget remove it while coding
more semantic. while (click) is just "mm.. something in brackets", the @click is "at click [do something]".

like this one?

Yes.

Give me an example how it would be in your style:

Using Inline Objects:
<input type="text"
    al-on="{'keydown.enter':'onEnter($event, $index)', 'keydown.esc':'cancelEditing()'}"
    al-input="value=$event.target.value" />

As alternative we could use this syntax:
<input type="text"
    al-on-keydown-enter="onEnter($event, $index)"
    al-on-keydown-esc="cancelEditing()"
    al-input="value=$event.target.value" />

But this won't also work with bootstrap events, because the dot will not be handled.
The problem is, that handling events using parenthesis or @-signs cant handle multiple events at once:
<input type="text"
    (mouseover focus)="onHighlight($event)"
    @mouseover="onHighlight($event)"
    @focus="onHighlight($event)"
    al-input="value=$event.target.value" />

So i think about using a mapping / routing for each event:
<input type="text"
    al-on="'keydown.enter':keydown-enter,'keydown.esc':keydown-esc"
    al-on-keydown-enter="onEnter($event, $index)"
    al-on-keydown-esc="cancelEditing()"
    al-input="value=$event.target.value" />

al-on should handle the event and defines which virtual attribute handler will handle the event.
keydown.enter:keydown-enter will handle the event (on the left side) and defines the virtual directive handler (on the right side, after the colon).
The handler al-on-keydown-enter="onEnter($event, $index)" will be executed, when the event gets handled. This allows handling of multiple events. The problem will be, that alight would try to parse these virtual directives as regular directives and will fail. It would be great if alight would try to fetch the parent line of directive names, e.g. al-on-keydown-enter does not exist, try al-on-keydown. al-on-keydown does not exist, try al-on. if al-on is has a property that allows to handle child directives, then al-on will handle this event. :-)
This parent line handling should initialized when the binding of an element runs.
The referenced attribute al-on-keydown-enter should implicitly run al-on and this directive adds a reference to a lookup table. This reference helps the 'mapping al-on' to find out which handler attribute must be executed when an event occurs..
The problem is, that an alight directive can exist in the following formats:
al:on=""
al-on=""
data-al-on=""
data-al:on=""

Direct reading of this directives would be hard.
By the way, this would also allow redirecting events:
<input type="text"
    al-on="'keydown.enter':mouseover,'focus':mouseover"
    al-on-mouseover="onHighlight($event, $index)"
    al-input="value=$event.target.value" />

The great thing is, that this also could be used without defining a mapping:
<input type="text"
    al-on-mouseover="onHighlight($event, $index)"
    al-input="value=$event.target.value" />

I think the last variant would provide the necessary flexibility.
I hope you understand what my idea is.

The problem is, that handling events using parenthesis or @-signs cant handle multiple events at once

Why is it problem? You can't define multiple events at once physical because addEventListener accepts only one event at once. So you can use separated attributes for this: (mouseover)="" (focus)="", also it's rare case.

So i think about using a mapping / routing for each event:

You have thought up a problem and trying to solve it.
Dots and colons are normal symbols, why do you try avoid them? angular2, vue.js, aurelia.io use them.

It would be great if alight would try to fetch the parent line of directive names,
The referenced attribute al-on-keydown-enter should implicitly run al-on

It's wrong, because on directive al-html-by-id or al-html-bbb-error-here, I usually would have a error from al-html about wrong input syntax and sometimes al-html would just work wrong.

The problem is, that an alight directive can exist in the following formats:

We can cut it, if it's bad

By the way, this would also allow redirecting events:

I think your style is more difficult than one below, and it doesn't have advantages, except it can process camelCase events (but it's rare case which I can solve by a separate directive)
<input type="text"
    al-on:keydown.enter="onHighlight()"
    al-on:focus="onHighlight()"
    al-on:mouseover="onHighlight($event, $index)"
    al-on:input="value=$event.target.value" />

I'll be able to catch the bootstrap event by al-on:shown.bs.modal="foo()", so it's not a problem.
Current question is (event) vs @event, (al-on:event is in core already).

So i also looked at the referenced xml standard https://www.w3.org/TR/REC-xml/#NT-Name to find out which chars are available:

We can use ":." by standard

what about () and @ - one symbol better than two:
Current question is (event) vs @event

we have +3 for @event and +1 for (event)

First: i will use whatever you decide for. :-)
Second: i understood you would like to handle any type of event using this syntax.
So you need a syntax which allows nearly any kind of string.
As i remember correctly you can also fire events like "?!@__9".
So as it is possible, your event handler would look like
<input type="text"
    al-on:?!@__9="onHighlight()"
    al-on:input="value=$event.target.value" />

This is a weird syntax.
Using
<input type="text"
    @?!@__9="onHighlight()"
    al-on:input="value=$event.target.value" />

is not even better, it is less readable.
Using
<input type="text"
    (?!@__9)="onHighlight()"
    al-on:input="value=$event.target.value" />

would be a bit better, but its also not a good syntax.
Using
<input type="text"
    al-on="'?!@__9':mouseover"
    al-on-mouseover="onHighlight()"
    al-on:input="value=$event.target.value" />

is more understandable and even more flexible.
I do not agree with:

You have thought up a problem and trying to solve it.

The other case, handling multiple events at once, is already possible by jQuery:
$('.myclass').on('mouseover focus', function() {/*...*/})

If you need to increment a counter, if an element is focused (e.g. by keyboard using TAB button) or if its hovered by the mouse, then you need to write the code twice. When using a router, its would be quite more flexible and has a bit more jQuery style:
<input type="text"
    al-on="'mouseover':myHandler, 'focus': myHandler, 'mouseover':triggersomething"
    al-on-myHandler="counter++"
    al-on-triggersomething="triggerSomething()"
    al-on:input="value=$event.target.value" />

You see that it would be able also to handle one event multiple times, to redirect it to different handlers (mouseover would increment the counter, also it would call the scope method triggerSomething()).

It's wrong, because on directive al-html-by-id or al-html-bbb-error-here, I usually would have a error from al-html about wrong input syntax and sometimes al-html would just work wrong.

No, you would not get an error:
there is an attribute al-html-by-id. Next step is, that alight tries to resolve a matching directive. If it does not exist, it tries to resolve al-html-by. If this also not exists, it tries to resolve al-html, which exists. If the directive al-html has a property "processChildren" which must be true, in this case al-html would handle the directive al-html-by-id.
When al-html has not this property, alight throws an error.
This is not very much code to resolve parent directives, and it would significantly add more flexibility, especially for events.
I am not against a syntax like () or @, but i want you to think about if it would be useful to give a developer the full flexibility that e.g. jQuery provides.
If you do not like the style of fetching parent events, it may be also possible to use data attributes:
<input type="text"
    al-on="'mouseover':myHandler, 'focus': myHandler, 'mouseover':triggersomething"
    data-myHandler="counter++"
    data-triggersomething="triggerSomething()"
    al-on:input="value=$event.target.value" />

Also i recommend to consider, that syntax highlighting systems (for the web, in an web development environment) might have a bit trouble using non-standard attributes like the proposed @ or () style.

So as it is possible, your event handler would look like
This is a weird syntax.

It's a problem of a custom developer who wants something like this, on the other hand you can make a specific directive for this event.

has a property "processChildren" which must be true

wow, it's good idea

al-on-myHandler="counter++"

You can't use camelCase for a name of attributes

handling multiple events at once, is already possible by jQuery:

Finally, jQuery calls addEventListener a few times anyway, not at once.
A few al-on attributes give you the same effect.

You see that it would be able also to handle one event multiple times
(mouseover would increment the counter, also it would call the scope method triggerSomething()).

you can define a few handlers in a one event: al-on:mouseover="counter++; triggerSomething()"
so, it looks more simple, less code
<input type="text"
    al-on:focus="counter++"
    al-on:mouseover="counter++; triggerSomething()"
    al-on:input="value=$event.target.value" />

that syntax highlighting systems might have a bit trouble using non-standard attributes like the proposed @ or () style.

Maybe highlighting systems will support Angular2 (style), when A2 is released.
It seems this is a main reason for you why you want event-proxy-mapper.

I totally disagree with this conception:

there is an attribute al-html-by-id. Next step is, that alight tries to resolve a matching directive. If it does not exist, it tries to resolve al-html-by. If this also not exists, it tries to resolve al-html, which exists.

It will brake directive object system and really confuse developers.
alight.d.al.html is directive, but in the same time it has to be an object with child by.id
-Do you see gopher?
-No.
-And I don't. But it exists.
DMB

I've appended a few modifiers: control, alt, shift and meta
(keydown.control.enter)="onEnter($event)"
(keydown.control.shift.enter)="onEnter($event)"

example: https://jsfiddle.net/lega911/0sq447zd/

why (), not @ symbol?

why (), not @ symbol?

I have not decided yet, I've made a interrogation - need more opinions, I'll fix it on the weekend.

I've made fix, now events with dots works well:

an event is words before first reserved word, for example above:
shown.bs.modal
shown.bs.modal
shown.bs

but, now it's more difficult to use, for example if you make a mistake: al:keydown.error.13="", then event is "keydown.error" instead of "keydown", so I will probably revert this change.
Also we can change a style: al-on:keydown="" -> on:keydown="", what do you think about it?

we can use brackets for events like that:

@lega911:

It's a problem of a custom developer who wants something like this, on the other hand you can make a specific directive for this event.

Yeah, but the need to create an additional directive will be inconsistent.
When providing a new feature like custom event handling, it should handle all cases.

Finally, jQuery calls addEventListener a few times anyway, not at once.

I know, but this makes jQuery event handling pretty easy.
Also handling of bubbling events is handled by jQuery, i like that.
Especially when you need to handle multiple buttons or inject additional elements dynamically, this has a very great performance.

Maybe highlighting systems will support Angular2 (style), when A2 is released.

Yes, maybe.

It seems this is a main reason for you why you want event-proxy-mapper.

Nope. I'll try to focus on standards, and i try to make things standards compatible.
Why do i try to do that?
When everybody implements it's own without respecting standards,
several technologies won't work together.
The bad thing about web development is, that there already are standards, which are not respected by browsers, templating engines, IDEs, proxy systems or other custom implementations.
So when introducing new features, there should be a compatibility to existing standards.
This was also my intention when requesting to add the 'data-' prefix for attributes.
This is also the case, why jQuery is so succesful, it respects standards, provides backward compatibility down to the old IE6, and even fixes several different browser behaviour.
Also nearly every web development framework provides a "reset.css" to standardize the default layout settings.
There are standards, we just need to accept and use them. We can do our own, but we should also provide a standards compatible way.

an event is words before first reserved word, for example above:

This would get complex, because one has to look up if he needs to implement an own directive because he needs to use a reserved word in an event name.

but, now it's more difficult to use, for example if you make a mistake: al:keydown.error.13="", then event is "keydown.error" instead of "keydown", so I will probably revert this change.

See above, this might result in a complex situation.
I like the idea using brackets, what do you think about splitting it into an handler for own events and an handler for browser events:

?
Another idea:
If you do not like to resolve parent directives, you could simplify the handling by defining all of them as dynamic created directives on init:
events =
  keydown:
    Space: 32
    Enter: 13
    Tab: 9
  keyup:
    Space: 32
    Enter: 13
    Tab: 9

handlerReference = (scope, element, exp, env) ->

for key,event in events
  for char,keycode in event
    alight.d.al[key + char] = handlerReference

This won't handle custom events, so the user has to add his custom events before bootstrapping alight. When the user adds custom events to the API he also could define aliases.
The advantage is, that the user not needs to define a whole directive, he only needs to register his events globally to ensure that directives can be generated when bootstrapping:

alight.utils.registerDirectiveAlias(alight.d.al.on, {'onMyEvent': 'shown.bs.modal'})

This will ensure the al-on directive will get the events, and it will also be generic enough to define own directive aliases.
Maybe it might be useful to handle all default DOM events, by registering them as directive:
for y in document.body when y.substr(0, 2) is 'on'
  event = y.substr(2)
  console.log(event)

But i do not like this approach, the bracket approach above is easier, because it does not require the user to write any javascript.
@fend25:

It will brake directive object system and really confuse developers.

No, it won't. It extends the directive system.
And also it should not confuse developers:
When a directive method exists, the directive attribute gets handled by the directive method.
When a directive method not exists, the directive attribute tries to resolve parent directives, which will only handle the attribute if the directive property "processChildren" is true. If there is no handling parent directive, alight throws an error that the original directive attribute cannot be resolved into any directive.
So developing with this technique would not be more complex than now.
Until a developer does not set the directive property "processChildren" to true, nothing changes in the handling.

alight.utils.registerDirectiveAlias(alight.d.al.on, {'onMyEvent': 'shown.bs.modal'})

what if we declare aliases in
alight.d.al.on.alias['myevent'] = 'shown.bs.modal mouseout';
or
alight.d.al.on.alias['myevent'] = ['shown.bs.modal', 'mouseout'];
and use it as
al-on:myevent="commonHandler($event)"

Also handling of bubbling events is handled by jQuery, i like that.

is it when a parent handles events? alight can do this (nostop, noprevent)

This would get complex

I've removed the commit

an own directive because he needs to use a reserved word in an event name.

use an alias

But i do not like this approach

Neither do I

is it when a parent handles events? alight can do this (nostop, noprevent)

Yes, event bubbling means a parent DOM element handles events which occur on a child DOM element.

an own directive because he needs to use a reserved word in an event name.

use an alias

I do not understand what exact you mean.
Aliasing directives would not work, this needs to be done before bootstrapping starts.
So you need to define it manually, you can't use an alias to al-on.

I do not understand what exact you mean.
This would get complex, because one has to look up if he needs to implement an own directive because he needs to use a reserved word in an event name.

I've removed the commit, so we don't have this problem anymore.

So you need to define it manually, you can't use an alias to al-on.

It's ok, because you need it only for rare and specific cases, all normal events work well without it.
Also you can make a custom directive:
al-on-alias="myevent:shown.bs.modal mouseout"
which makes any aliases you want, or like this:
al-on-alias:myevent="shown.bs.modal mouseout"
and use it like:
al-on:myevent="commonHandler($event)"

(keydown.control.enter)="onEnter($event)"
(keydown.control.shift.enter)="onEnter($event)"

I am not sure if this example is a good representation of what is needed in projects.
Do you usually really need to handle several keycode events in your projects?
Normally one writes his two or three lines of code to handle it, because there is more than a simple enter handling required.
Also, e.g. if one needs to handle the input of a search form, there is typically a submit event to handle that, which already gets handled by the browser, when a user sends CTRL+Enter.
So it is only required to handle the submit event of a form.
The other point is, that there are not very much events, where you could apply this kind of handling.
This approach is not really generic, so i think we should not implement this case as it is currently (* see below).

We should focus on generic events, e.g. what the DOM fires or what bootstrap uses, to improve compatibility to several frameworks.
I am ok with () or @ syntax, because i propably won't use any of them.

> ```alight.d.al.on.alias['myevent'] = ['shown.bs.modal', 'mouseout'];```

I like this! :-)

> Also you can make a custom directive:
```al-on-alias="myevent:shown.bs.modal mouseout"```
which makes any aliases you want, or like this:
```al-on-alias:myevent="shown.bs.modal mouseout"```

> and use it like: ```al-on:myevent="commonHandler($event)"```

This also looks ok for me.
Would you provide such an alias method by default in alight or should everybody write this on its own?
By the way, i looked through some frameworks, mostly they use prefixes or dot separated namespaces for custom events. So i think an alias directive might not be very important, but it would be great to allow defining aliases in the directive alias property.

*) here is below :-) :
I think i understand what you would like to do: simplify common use cases when handling events.
But the current approach is too straight and less generic.
When handle the offset of a scroll event (user scrolls down) e.g. in a onepage application,
then i would like to slide in an image. But it should slide in after the user scrolled more than 200px.
What we need here to get this generic is some kind of conditional handling (e.g. when event variable contains this and this and this, then fire the event).

brainstorming:
```html
<input type="text"
  al-on-condition:keydown="$event.keyCode==13 && $event.shiftKey && $event.ctrlKey"
  al-on:keydown="onSpecialEnter()"
  />

Alternative syntax:
<input type="text"
  al-on:keydown="($event.keyCode==13 && $event.shiftKey && $event.ctrlKey) ? onSpecialEnter()"
  al-on:scroll="($event.ownerDocument.body.parentElement.scrollTop > 200) ? onSpecialEnter()"
  />

Bad thing of this approach is, we put logic into DOM.
But we do the same when using predefined event constants.
An alternative would be to define aliases (see above) which can optionally handle a conditional function to handle the event (or to not doing it).
This would be very flexible:
alight.d.al.on.alias['my-keydown'] = {
  events: ['keydown']
  condition: (scope, event) ->
    return true if event.keyCode==13 && event.shiftKey && event.ctrlKey
    return false
}

<input type="text"
  al-on:my-keydown="onSpecialEnter()"
  />

The my-keydown event only fires onSpecialEnter() method when the condition returns true.
This would not increase complexity, and would simplify the event handling, because one can define custom global events with conditions. Also it would be simple to handle complex cases.
It would be great to have the current scope as parameter in the condition to build complex conditions depending on scope variables.
What do you think?

Normally one writes his two or three lines of code to handle it, because there is more than a simple enter handling required.

You can do this, modifiers "control+shift+enter" doesn't prevent you, I took them from A2

Would you provide such an alias method by default in alight or should everybody write this on its own?

Probably, but it should be not in the base build, because it's rare case

al-on-condition:keydown

It's not flexible, I can have a few keydown's for the one element

Alternative syntax:

You can do this now in spite of modifiers

What do you think?

It's good idea

You can do this now in spite of modifiers

Great!

It's good idea

What do you think beyond that it is a good idea? :-)
Is it worth to implement a conditional handling?

Is it worth to implement a conditional handling?

I think yes, it shouldn't be heavy (not much of code), and it doesn't prevent anything

vuejs has added new modifiers:
New modifier for v-on: .capture. Attach the event listener in capture mode.

New modifier for v-on: .self. Only triggers the handler if the event was dispatched from the element itself, i.e. e.target === e.currentTarget.

Maybe we should make a possibility to make custom modifiers? (something like "condition" in aliases)

Is it worth to implement a conditional handling?

done. example http://jsfiddle.net/lega911/vkp9q8gn/
event can be array or string
examples:
alight.d.al.on.alias['mykeydown'] = 'keydown blur';

alight.d.al.on.alias['mykeydown'] = ['keydown', 'blur'];

alight.d.al.on.alias['mykeydown'] = {
  event: ['keydown', 'blur'],
  condition: (scope, event) => {
    if(event.type == 'blur') return true
  	return event.keyCode==13 && event.shiftKey && event.ctrlKey
  }
}

@lega911 combining some events in one is pretty cool.

Cool!
Didn't thought you would agree so fast with my condition approach :D

Maybe we should make a possibility to make custom modifiers? (something like "condition" in aliases)

I did not understand how to handle modifiers and what benefits they provide.
Are they generic, can i use them for different events?
The self modifier is ok for me and i understand the usage.
But what kind of modifiers would a developer implement?
It would be great to customize everything, but the question is, if there are potential use cases.

I did not understand how to handle modifiers and what benefits they provide.
Are they generic, can i use them for different events?

Yes, we can do something like this, e.g. modifier "self"
alight.d.al.on.modifier['self'] = (scope, element, event, env) => {
    if(element !== event.target) env.stop = true
}

for "enter" it could be:
alight.d.al.on.modifier['enter'] = {
  event: ['keydown', 'keypress', 'keyup'],
  fn: (scope, element, event, env) => {
    if(event.keyCode !== 13) env.stop = true
  }
}

also I can check a type of event inside of "fn"

It would be great to customize everything, but the question is, if there are potential use cases

Probably, majority of developers will not make own extensions, but they can use ready extensions as recipy which I make sometimes.
For example I can make a plugin for alight 0.8 version which implement @event and :attr which we have just made.
It is easy to make, but there is a problem - every feature makes alight heavier.

This seems to be very simple to implement for developers and one can restrict the events where the modifier applies. I like the modifier approach now. :-)
And yes, every feature makes a framework bigger, but compared to angularjs is alight like a feather. :-)

I like the modifier approach now. :-)

alight has hooks (alight.hooks.attribue, alight.hooks.directive, alight.hooks.scope)
maybe we should move aliases and modifiers to alight.hooks.event.alias and alight.hooks.event.modifier?
one point to extend alight?

one point to extend alight?

I agree.

Look, modifiers and aliases do almost the same things, we need to combine them.
alight.d.al.on.alias['mykeydown'] = {
  event: ['keydown', 'blur'],
  condition: (scope, event) => {
    if(event.type == 'blur') return true
    return event.keyCode==13 && event.shiftKey && event.ctrlKey
  }
}

alight.d.al.on.modifier['enter'] = {
  event: ['keydown', 'keypress', 'keyup'],
  fn: (scope, element, event, env) => {
    if(event.keyCode !== 13) env.stop = true
  }
}

alight has 4 modifiers: alt, control, meta, shift
modifier.alt = {
  event: ['keydown', 'keypress', 'keyup']
  fn: function(event, env) {
    if(!event.altKey) env.stop = true
  }
}

So when we use it as modifier: al-on:keydown.alt.13="" it just filters an event for altKey, and it is actived if the event in event list of the modifier (keydown for this example).
When we use it as event al-on:alt.13 = "", it adds listeners on 3 events and filters them for altKey.

an example of mykeydown (a version of one above) http://jsfiddle.net/lega911/14ynfvmh/
it uses the modifier as event and as modifier

extra arguments: $event, $element, $value (from target)... ?

modifiers and aliases do almost the same things, we need to combine them

I thought about this before and decided against:
When defining event aliases you are forced to the event directive and you couldn't extend other directives like modifiers can do it.
Also using modifiers wouldn't match multiple events at once, but event aliases are able to do this.
So we need to find a solution which is able to handle all this cases or we should keep it as it is.

an example of mykeydown (a version of one above) http://jsfiddle.net/lega911/14ynfvmh/
it uses the modifier as event and as modifier

This approach is good, but with this it would not be able to implement a modifier for other directives.

I just thought about implicitly defining modifiers as aliases, so you define a modifier and it generates an alias from it, which should simplify debugging, because you can debug which aliases get generated:
alight.hooks.events.modifier['enter'] = {
  event: ['keydown', 'blur'],
  fn: (event, element, env) => {
    if(event.type == 'blur') return;
    env.stop = !(event.keyCode==13 && event.shiftKey && event.ctrlKey)
  }

On bootstrapping it generates aliases:
for alias,modifier in alight.hooks.events.modifier
  for event in modifier.event
    alight.hooks.events.alias[event+'.'+alias] =
      event: modfier.event
      fn: modifier.fn

Which can be used as
<input type="text/html" al-on:keydown.enter="onEnter()" al-on:blur.enter="onEnter()"

you couldn't extend other directives like modifiers can do it.
it would not be able to implement a modifier for other directives.

There is no case where you can use a common modifier, all directives are different. Give me an example of a modifier like this.

Which can be used as

you don't need generate aliases, because my version covers this case, also look at possible styles:
alight.hooks.events.modifier['enter'] = 'keydown blur';
alight.hooks.events.modifier['enter'] = ['keydown', 'blur'];
alight.hooks.events.modifier['enter'] = (event, element, env) => {}
alight.hooks.events.modifier['enter'] = {
  event: 'keydown blur',  // can be omitted
  fn: (event, element, env) => {}  // can be omitted
}
alight.hooks.events.modifier['enter'] = {
  event: ['keydown', 'blur'],
  fn: (event, element, env) => {}
}

There are only two cases you can have a problem:

you have a custom event ("enter") that has the same name that a modifier (or an alias) has.
you want to have different an alias and a modifier that have the same name.
But they are rare cases.

which should simplify debugging, because you can debug which aliases get generated

I think it is better to have a function that give you information.

Information about events, aliases and modifiers
directives and them priority
...

Look at this issue please https://github.com/lega911/angular-light/issues/144
There is a problem about old syntax

I've added  system modifiers: throttleX and debounceX
http://jsfiddle.net/lega911/q8bxL1w5/

Crazy throttle modifier! :D
You are right, my mistake, modifiers are only usable for events.

I've added "-" for throttle and debounce -> throttle-X, debounce-X
http://jsfiddle.net/lega911/q8bxL1w5/


Craft 5 compatibility

What would you like to see added to or changed in Embedded Assets, and why?
Update for Craft 5 compatibility after 4.0.0 is finished.

5.0.0-beta.1 now released, based on 4.0.0-beta.1.


Fix dumpprivkey rpc command for VPUBKEY (votecoin address)

Fixed with https://github.com/bitcoin-hivemind/hivemind/pull/64


[NOREF] Update HHS FPKI to include new root CA

No Ticket
Changes and Description
Per an email from CMS - a new Certificate Authority has been created, and should be used by July 20, 2022. This PR introduces that CA.

Introduces the HHS-FPKI-Intermediate-CA-E1.cer file into the config/tls folder.
Copies the config/tls/HHS-FPKI-Intermediate-CA-E1.cer into /usr/local/share/ca-certificates, as this is where the update-ca-certificates utility looks for certificates (note, we rename it from .cer to .crt, as that's what the utility looks for in that folder.

Furthermore  all  certificates  with  a  .crt  extension  found below /usr/local/share/ca-certificates are also included as implicitly trusted. [source]

Modifies the dev Docker layer (which is used locally) to include the same certificates as what's used in production by copying /etc/ssl/certs/ca-certificates, rather than only copying a specific set of certs. This makes it easier to test & validate that the certificates we see locally is what will be used in production.

How to test this change

Start the backend - scripts/dev up:backend
Shell into the backend so you can explore the file structure & run commands docker-compose exec -it mint /bin/bash
Scan for expected certificates. The serial of the old certificate is 44809a90, and the new one is `44817282, per the email from CMS.

# Old Certificate
awk -v cmd='openssl x509 -noout -subject -serial -startdate -enddate' '/BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt | grep -i '44809a90' -B1 -A2

# New Certificate
awk -v cmd='openssl x509 -noout -subject -serial -startdate -enddate' '/BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt | grep -i '44817282' -B1 -A2

Expect to see proper output for each, showing that we've imported them.

PR Author Review Checklist

[ ] Met the ticket's acceptance criteria, or will meet them in a subsequent PR.
[ ] Added or updated tests for backend resolvers or other functions as needed.
[ ] Added or updated client tests for new components, parent components, functions, or e2e tests as necessary.
[ ] Tested user-facing changes with voice-over and the rotor menu

PR Reviewer Guidelines

It's best to pull the branch locally and test it, rather than just looking at the code online!
Check that all code is adequately covered by tests - if it isn't feel free to suggest the addition of tests.
Always make comments, even if it's minor, or if you don't understand why something was done.

https://github.com/CMSgov/easi-app/pull/1686


What is lod in carts_lod?

Thank you for your work, @azamikram! Please let me know what is lod in the sock-shop data. I can't find anything about this in the paper and in your code

Is it container_network_receive_packets_total as workload ?
or container_processes as CPU load?

@azamikram Thank you so much for your reply! I am wondering if you can give me the full Prometheus queries that you use to extract sock shop data, including the duration and other configurations?

You can find that script in sock-shop-data now.

Thank you so much for your support @azamikram! I see that you don't put the err metrics into the sock-shop data, may I know why?

I cannot recall why I decided not to collect data for err. One thing that comes to mind is that err was only available for two services (front-end and catalogue) but I'm not sure if that was the reason.

Thank you so much for your answer @azamikram , it really helps me!
I plotted your data and have another question: In this figure, the fault is "payment-mem", the memory usage of the payment container is increasing, I can understand that. But
Q. Why did the memory usage of other containers decrease or increase so suddenly?
I can't figure it out why, please help me :smile:

Failure propagation chain! Change in one service affects how other parts of the system behave.

Thank you so much for your answer @azamikram! Could you please do another favour by public the stress-ng command that you used to inject the fault into the sock-shop? I also use stress-ng but I'm incapable of  reproducing the failure propagation chain like you said :smile:


Can't install package

I still get the "MailTrackerBlocker.pkg" can't be opened because Apple cannot check it for malicious software.
This softare needs to be updated. Contact the developer for more information. - notification with the latest version.

Thanks for taking the time to open an issue. This has already been reported (#1) and is still an open issue I'm still looking into. For the time being, you'll have make an exception through the security/Gatekeeper settings to install, sorry 😞

Ah, I see. Thank you for the quick reply!


Support for sessions in Jetty

Need to make sure that sessions are on by default (and perhaps allow to turn them off?)

this is committed. Sessions are enabled by default. Can be disabled in YAML like this:
jetty:
  sessions: false


想咨询一个结论: 自己准备文本，通过ptuning微调、可以使chatglm“掌握”文本中的知识，对吗？(如，全程一张3080ti 12G显存)

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
以前12g显存训练是不够的
Expected Behavior
No response
Steps To Reproduce
使用ptuning-v2
Environment
- OS:
- Python:
- Transformers:
- PyTorch:
- CUDA Support (`python -c "import torch; print(torch.cuda.is_available())"`) :

Anything else?
No response

理论上如此。

理论上如此。

Thax!
Inspiring! I can't wait to take a shot!


Juliaup Crash Report

Occasional panic failures when remote url resources are fetched. May need some timeout handler for graceful exit.

"name" = "Juliaup"
"operating_system" = "Mac OS 14.0.0 [64-bit]"
"crate_version" = "1.14.5"
"explanation" = """
Panic occurred in file 'src/operations.rs' at line 1348
"""
"cause" = "called Result::unwrap() on an Err value: reqwest::Error { kind: Request, url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("julialangnightlies-s3.julialang.org")), port: None, path: "/bin/macos/aarch64/julia-latest-macos-aarch64.tar.gz", query: None, fragment: None }, source: TimedOut }"
"method" = "Panic"
"backtrace" = """
0: 0x10252e31c - core::result::unwrap_failed::hc60ef978ea39e1b4
1: 0x10237cf2c - <core::iter::adapters::filter_map::FilterMap<I,F> as core::iter::traits::iterator::Iterator>::next::h54bcde48f075e610
2: 0x10234ce68 - juliaup::operations::update_version_db::he852f8082ab84e73
3: 0x102248ca0 - juliaup::main::h262f175e48e39104
4: 0x10223ebf0 - std::sys_common::backtrace::__rust_begin_short_backtrace::h3b2098f45e688eda
5: 0x10223f234 - std::rt::lang_start::ha7003398882e29b6
6: 0x102261d00 - _main"""

This is a Low priority bug. simply rerunning juliaup update will work.

Just noting that I also ran into this when running juliaup update nightly.


Unable to upload annotations to cvat

Actions before raising this issue

[X] I searched the existing issues and did not find anything similar.
[X] I read/searched the docs

Steps to Reproduce

Set up a self-hosted CVAT instance following the official documentation.
Create a new project, task and job in CVAT.
Attempt to upload a COCO JSON file for the job.
Observe the error message.

Expected Behavior
The COCO JSON file should upload successfully without any errors, and I should be able to visualise the annotations
Actual Behavior
The upload process fails with an error related to the TUS protocol.
tus: failed to resume upload, caused by [object ProgressEvent], originated from request (method: HEAD, url: http://lcannotation.qure.ai/api/tasks/32/annotations/91dd2b20-1fb2-4732-a304-e6cc016021d6, response code: n/a, response text: n/a, request id: n/a).
Possible Solution
No response
Context
I am encountering an issue when attempting to upload annotations in COCO JSON format to a self-hosted instance of the CVAT tool. The error message received is:
tus: failed to resume upload, caused by [object ProgressEvent], originated from request (method: HEAD, url: http://lcannotation.qure.ai/api/tasks/32/annotations/91dd2b20-1fb2-4732-a304-e6cc016021d6, response code: n/a, response text: n/a, request id: n/a).
Expected Behavior:
The COCO JSON file should upload successfully without any errors, and I should be able to visualise the annotations
What I Have Tried
I have thoroughly reviewed the CVAT documentation.
I have searched online and reviewed similar issues but could not find a resolution.
Request for Assistance
I would appreciate any guidance or suggestions to resolve this issue. If additional information is required, please let me know, and I will provide it promptly.
Thank you for your support!
Environment
Operating System: Linux
Docker Version: Docker version 26.1.2,
Compose Version: version: '3.7'

response code: n/a usually means that request was not delivered to the server, so:

the request was not sent
the request did not reach the server

There is not anything we can do with both cases.

Thanks a lot for your quick response.
In the logs, I see that the request is sent to the server, but on the frontend I see n/a error and the upload fails. Can you please suggest which container's logs to look for to resolve this error?
Attaching the screenshot of logs for your reference.
Many thanks in advance!

Try to look at the browser dev tools (Network tab)
I hardly think that the problem in containers, as I told it is similar to networking issues

We looked at the browser and found that for all other calls
Https is used check the screenshot below

But for annotation upload call http is used from the browser that is the reason calls are getting blocked

Yep, seems like a problem. I am not sure what is the reason, but you may try to debug.
To upload client uses TUS protocol:
File: cvat-core/src/server-proxy.ts, function uploadAnnotations.
TUS uses origin (protocol + hostname) from cvat-core config: cvat-core/src/config.ts
cvat-core config gets origin initialized in this module cvat-ui/src/cvat-core-wrapper.ts. And its initialized as window.location.origin from the browser environment.

I am facing a similar issue. My CVAT environment is Docker in Ubuntu VM. The entire setup is behind a NGINX Reverse proxy that terminates HTTPS.
Configuration has been done on CVAT VM to enable it to work behind domain and to mitigate CSRF issues
nano ~/.profile
export CVAT_HOST=your.domain.tld

nano ~/cvat/local-settings.py
# Overlaying production
from cvat.settings.production import *
CSRF_TRUSTED_ORIGINS = ['https://your.domain.tld']

nano ~/cvat/docker-compose.settings_overlay.local.yml
services:
  cvat_server:
    environment:
      DJANGO_SETTINGS_MODULE: settings
    volumes:
      - ./local-settings.py:/home/django/settings.py:ro

docker compose -f ~/cvat/docker-compose.yml    \
    -f ~/cvat/docker-compose.settings_overlay.local.yml     \
    up -d

Now When I try to upload images to a project, the process yields success in certain cases but not in others.

It depends I believe on the size of files being uploaded since it fails at 100MB combined file size or so. I believe at that point of time, the TUS protocol starts chunking files and the URL being generated by the REACT frontend is not HTTPS but HTTP.
This is causing the browser itself to reject the request and an insecure HTTP request does not even reach the reverse proxy. I think cause of the issue has been identified by darrenchang at  https://github.com/cvat-ai/cvat/issues/7288#issuecomment-1874995461
darrenchang writes that Django returns the http url, which is incorrect. The line should probably use the scheme of the request's HTTP_ORIGIN instead of django's scheme.
File: cvat/cvat/apps/engine/mixins.py
location = request.build_absolute_uri() #http://somehost:8080/...
# TODO somehow replace the scheme to the correctly one

A fix has been suggested by cargoculttech at https://github.com/cvat-ai/cvat/pull/7313
# File: cvat/cvat/apps/engine/mixins.py

 location = request.build_absolute_uri()
  -         if 'HTTP_X_FORWARDED_HOST' not in request.META:
 +         if 'HTTP_ORIGIN' in request.META:

Now I am trying to incorporate these changes in my installation

I am also wondering if this can be simply solved by adding a Content Security Policy of upgrading insecure HTTP requests within NGINX vhost configuration
location / {
    add_header Upgrade-Insecure-Requests 1;
    add_header Content-Security-Policy
            "upgrade-insecure-requests; default-src 'self'; font-src 'self' data: fonts.gstatic.com fonts.googleapis.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com; script-src 'self' 'unsafe-inline' 'unsafe-eval' fonts.googleapis.com; img-src 'self' data: ; connect-src 'self';"; always;
    }

Update
Content Security Policy and upgrading insecure HTTP requests did not work

I am also wondering if this can be simply solved by adding a Content Security Policy of upgrading insecure HTTP requests within NGINX vhost configuration
location / {
    add_header Upgrade-Insecure-Requests 1;
    add_header Content-Security-Policy
            "upgrade-insecure-requests; default-src 'self'; font-src 'self' data: fonts.gstatic.com fonts.googleapis.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com; script-src 'self' 'unsafe-inline' 'unsafe-eval' fonts.googleapis.com; img-src 'self' data: blob: ; connect-src 'self';"; always;
    }

Adding headers to NGINX did not work

Issues solved following instructions to edit the mixins.py file and rebuilding container
https://www.epidemiology.tech/wp-admin/post.php?post=2236&action=edit
docker compose \
     -f docker-compose.yml \
     -f docker-compose.dev.yml \
     -f docker-compose.settings_overlay.local.yml     \
      build

docker compose \
     -f docker-compose.yml \
     -f docker-compose.settings_overlay.local.yml     \
      up -d

@drguptavivek
Thanks for sharing your solution - you probably saved me hours of debugging. Your link however does not work. This one does: https://github.com/cvat-ai/cvat/issues/8153
The crucial bit of the post is this diff:
# File: cvat/cvat/apps/engine/mixins.py
            location = request.build_absolute_uri()
 -          if 'HTTP_X_FORWARDED_HOST' not in request.META:
 +          if 'HTTP_ORIGIN' in request.META:
                         location = request.META.get('HTTP_ORIGIN') + request.META.get('PATH_INFO')

Thanks EugenDueckHappy that my post on GitHub and personal blog epidemiology.Tech was of help to you. I too spent weeks trying to sort that issue out. Best WishesVivekOn 3 Nov 2024, at 04:40, EugenDueck @.***> wrote:
@drguptavivek
Thanks for sharing your solution - you probably saved me hours of debugging. Your link however does not work. This one does: #8153
The crucial bit of the post is this diff:
File: cvat/cvat/apps/engine/mixins.py
        location = request.build_absolute_uri()

     if 'HTTP_X_FORWARDED_HOST' not in request.META:

     if 'HTTP_ORIGIN' in request.META:
                  location = request.META.get('HTTP_ORIGIN') + request.META.get('PATH_INFO')

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

My scheme is: Client (HTTPS) -> OPNsense + HAproxy w/ LE (SSL offloading) -> CVAT Traefik (HTTP) -> CVAT server
I've resolve that issue by next steps:

Appended my docker-compose.override.yml with content:

services:
# ... other services
  traefik:
    environment:
      TRAEFIK_ENTRYPOINTS_web_FORWARDEDHEADERS_INSECURE: true

Modified HAproxy CVAT backend (option forwardfor already added in frontend block) config by adding option:

http-request set-header X-Forwarded-Proto https if { ssl_fc }

All that done without backend modifications (editing cvat/app/engine/mixins.py or something else). And after that all works fine.
Hope this helps.

Thanks Mike
I am in a n environment with NGInX and HAP is not really an option.
I guess a key change is making Traefik trust the headers forwarded by the reverse proxy.
https://doc.traefik.io/traefik/routing/entrypoints/#forwarded-headers
forwardedHeaders.insecure	will Set the insecure mode to always trust the forwarded headers information (X-Forwarded-). The traefik  team recommend to use this option only for tests purposes, not in production. Maybe a better strategy would be forwardedHeaders.trustedIPs to Set the reverse proxy IPs  from where Traefik trusts the forwarded headers information (X-Forwarded-).
With that flag, maybe my NGInX upgrade insecure requests strategy would have worked as well.
Thanks for your excellent pointer
Best wishes
Vivek


Feature/msienkie/gsi1633 satwnd changes

The code for assimilating new AMV types has been copied from NCEP's gsi v16.3.3.  The 'read_satwnd.f90' has been modified to recognize the new BUFR subset NC005081 for EUMETSAT AVHRR winds from MetOp-B and -C.  An error in the specification of satellite IDs for VIIRS winds is corrected.  Code has also been added to process the LEO-GEO winds (subset NC005072, kx=255) and to read an upcoming version of JMA winds (subsets NC005047, NC005048 and NC005049).
The convinfo file and database has also been modified to add MetOp-C AVHRR winds, LEO-GEO winds and VIIRS winds from NOAA-21 - all as passive.
The code for processing the new EUMETSAT MetOp AVHRR winds and the code fix for the VIIRS wind have been tested by carrying out several static analyses and checking the output obs and anasa_stats.
The code for new JMA winds has not been tested, it is not available in the operational stream.  (That code could be backed out of the update if so desired.)

impact of changes:  (a) will now read in the new MetOp-B and C AVHRR winds and assimilate MetOp-B AVHRR winds
(b) VIIRS winds now read in and screen data based on the QI checks.  (Previously this part of the code had been skipped due to the bad specification of satellite IDs.)
(c) LEO-GEO winds are read in as passive
(d) New JMA wind subsets will be able to be read in

I just added an entry to the convinfo active.tbl to turn on GOES-18 AMVs when they become operational on 4 January 2023

Is there a plan to get these changes in FPP or will it have to wait for the next system?

Is there a plan to get these changes in FPP or will it have to wait for the next system?

FYI, the data subset for the new AVHRR wind (NC005081) starts in our satwnd bufr files on 20221130/12z - so any analysis before that date should be zero diff.
The prior version of AVHRR data for MetOp-B (satid=3) drops out of the satwnd bufr file subset NC005080 on 20221103/00z and after that we do not have the prior format AVHRR wind for MetOp-B.

I noticed in the prior comment that I had added MetOp-C AVHRR to the convinfo database as passive.  I guess after we have tested and approved the data we would also want to modify the database to turn on MetOp-C AVHRR (subtype 5) after 221130/12z.

If we just wanted to bring in the code and keep things zero-diff until after the AVHRR data had been tested we would just need turn off AVHRR winds for MetOp-B (and C) at 221130/12z.  The VIIRS and LEO-GEO winds are not turned on so there should not be a difference in the analysis.  The new JMA types (NC005047, NC005048, NC005049) have not been added to our input satwnd bufr files yet.


Fix semver

Addresses #873, ENORESTARGET when installing on bower by correcting the semver reference to Angluar.
According to https://semver.npmjs.com/, an inclusive range of stable releases is indicated with a hyphen, not using &&. This change should allow the library to be installed by bower.

Thank you.


groveeldriver: initial implementation

This module implements support for the Grove EL Driver.
Signed-off-by: Zion Orent<EMAIL_ADDRESS>Signed-off-by: Jon Trulson<EMAIL_ADDRESS>

@rwaldron The issue is very likely related to the fact that we use SWIG to generate our V8 code and the node.js modules. Here's a quote from one of the swig generated wrappers:
// Because there's no guarantee that v8 will ever call garbage collection,
// we're adding a function that will allow a user to call it manually
void cleanUp()
{
	// Call the v8 garbage collector as long as there is memory to clean up
	// See https://codereview.chromium.org/412163003 for this API change
            #if (SWIG_V8_VERSION < 0x032838)
	while (!v8::V8::IdleNotification())
            #else
	while (!v8::Isolate::GetCurrent()->IdleNotification(1000))
            #endif
	{;}
}

The memleak doesn't happen for all the drivers we write and it depends on the data structures we use. More so a problem when things get a bit more complex, i.e. arrays of fixed width integers.
@Zion-ICS Zion, do we need to set the variables to null in the examples, or is it enough to call the cleanup functions?

gdb confirms that you need to set variables to null before calling cleanup.
This includes both class libraries and primitive wrappers such as uint8s, uint16s, etc.
Recognizing that nulling is needed in this environment, I've been nulling the upm node add-on library also. Even though the following line is probably a no-op:
eldriver_lib = null;

This was merged as fbbf56a49dd062eed043074ff14f9deb36eab41b. If you would like to continue this discussion about the V8 GC please use the issues section.


⚠ RPC server - Conflux has degraded performance

In ac10ed3, RPC server - Conflux ($CONFLUX_RPC_URL) experienced degraded performance:

HTTP code: 0
Response time: 0 ms

Resolved: RPC server - Conflux performance has improved in 55bb34b after 4 minutes.


Add antrea ssl file

uploaded this to my personal bucket, should work now

fixes #195 i think ? will see testing now
cc @dougsland @knabben

/lgtm


Customize data inside n-select

Hi, i'm working on Vue3 with NaiveUI.
I'd like to customize the data loaded inside n-select using disabled and color property like this:

The photo above is an example from NaiveUI doc.
I'm loading data inside schema in this way:
const commonPath = schemaFactory.value.definitions.catalogStand.properties.catalogData

// Data loading
    for (let i = 0; i < resultStands.length; i++) {
      commonPath.enum[i + 1] = resultStands[i].id
      commonPath.enumNames[i + 1] = resultStands[i].name
    }

resultStand contains all the data retrieved from microservice.
Is there any way to add ui properties to certain element of dropdown?
Thanks!

Refer to the navie ui Select component SelectOption Properties

{
"ui:widget": "SelectWidget",
"ui:enumOptions": [
  ...navieSelectOptions
]
}

https://form.lljj.me/v3/#/demo?ui=VueNaiveForm&type=Test&schema={"title":"测试专用页","type":"object","description":"输入你的Schema，顶部分享按钮即可快速生成链接","properties":{"selectWidgetOptions":{"title":"Custom+select+widget+with+options","type":"string","ui:widget":"SelectWidget","ui:enumOptions":[{"label":"label","value":"label","disabled":true},{"label":"label1","value":"label1","style":{"color":"red"}},{%22label%22:%22label2%22,%22value%22:%22label2%22}]}}}&formData={%22selectWidgetOptions%22:%22label1%22}&uiSchema={}&errorSchema={}&formFooter={%22show%22:true}&formProps={%22inline%22:false,%22labelPosition%22:%22top%22,%22inlineFooter%22:false,%22layoutColumn%22:1,%22labelWidth%22:%22100px%22}

I tried and is working fine. Thanks you so much for your amazing support!


words repeat

ISSUE WITH AGENT PLAYGROUND

latest framework;

Please use 0.7.1 instead. the dev0 versions are not for general consumption

ok i will give a try thanks

Collecting livekit-agents~=0.7.1 (from -r requirements.txt (line 1))
Using cached livekit_agents-0.7.1-py3-none-any.whl.metadata (1.5 kB)
ERROR: Could not find a version that satisfies the requirement livekit-plugins-openai~=0.7.1 (from versions: 0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.7, 0.0.8, 0.0.9, 0.0.10, 0.0.11, 0.0.12, 0.0.13, 0.0.14, 0.1.0, 0.1.1, 0.1.2, 0.2.0, 0.3.dev0, 0.3.0, 0.4.dev0, 0.4.dev1, 0.4.0, 0.5.dev0, 0.5.0, 0.6.dev0)

The conflict is caused by:
The user requested livekit-agents~=0.7.1
livekit-plugins-openai 0.6.dev0 depends on livekit-agents~=0.8.dev0

Please use 0.7.1 instead. the dev0 versions are not for general consumption

hey, please bump a new version to plugins...

Hey, do you have more specific steps on how to reproduce this?
I'm unable to reproduce.

hey, use openai tts and stt, can reproduce this~

i can reproduce with openai stt - maybe its an issue with openai ?

I ran into this too, when using StreamAdapter for OpenAI STT. I was able to resolve the issue by commenting out this block of code.
I don't know this code well enough to know all the side effects of doing this. I was hoping someone here could confirm if that change makes sense?

@jamestwhedbee I did the same thing. two messages with the same content are currently getting appended into context. the interrupts also don't seem to be working when we do that.

Hey, this issue has been fixed on the latest version


#06 Admin: Admin page

Description:
For admins (role = 2) there will be a dedicated section /admin to allow them to see and manage the overall treasury.
Related to: https://github.com/bitcoin-sv/bsv-faucet/issues/17

Show the total treasury reserves in the master wallet.
Display in BSV and Satoshis
Display an alert if the balance is running low (below 10 BSV)

Acceptance Criteria:
0. Ensure the database schema structure is created and migration scripts run.

Hello @mo-jaber can I be assigned to work on this?

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hi, I’m Sudipta Paul, a full-stack developer with 1.5 years of experience in blockchain development. I would like to contribute by implementing the admin page functionality for managing the treasury.
How I plan on tackling this issue
Approach to tackle this issue:
I will create a secure /admin route that is only accessible by users with the role = 2 (admin). This will ensure that only admins can access the treasury management features.
I will retrieve the total reserves from the master wallet using the backend API and display the total in both Bsv and satoshis. I will ensure proper formatting for readability .
I will implement a balance check to trigger an alert if the total reserves drop below 10 BSV. This alert will notify admins to take appropriate action to top up the treasury. The alert will be displayed prominently on the page.
Testing and Security:
Will thoroughly test the functionality, ensuring that the balance is accurately displayed and that the low balance alert is triggered correctly. Additionally, I will ensure that only admins can access the /admin page, using proper auth techniques.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hi, I'm Collins a frontend and blockchain developer, and an active contributor on OnlyDust. You can check out my profile here: https://app.onlydust.com/u/0xdevcollins. This is my first time contributing to this repository, and I’m excited about the opportunity to contribute. Looking forward to collaborating!
How I plan on tackling this issue
To tackle this issue, I would first create a dedicated /admin section that only admins (role = 2) can access. In this section, I’ll display the total treasury reserves from the master wallet in both BSV and Satoshis for clarity.
I’ll implement a real-time check on the wallet balance, and if the reserves drop below 10 BSV, an alert will be triggered to notify the admin. This alert could be displayed prominently at the top of the page or as a pop-up to ensure the admin is aware of the low balance.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hi, my name is Georgiy, I'm a frontend developer. I have extensive experience in developing tools for Starknet, and I've participated in almost all ODHacks, during which I worked on many projects. My OnlyDust profile: https://app.onlydust.com/u/melnikga
How I plan on tackling this issue
I would create a dedicated section that displays treasury information, showing the total balance in both BSV and Satoshis. I'd add a simple alert component that appears when the balance drops below 10 BSV. To make it look clean and professional, I would use shadcn components for the balance display and the alert. For the server side, I'd add the necessary API endpoint to fetch wallet data, making sure only users with admin role can access it.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a Full Stack Developer specializing in Next.js, TypeScript, Node.js, Cairo and Rust . With over 31 contributions across projects in the OnlyDust ecosystem, I’ve developed strong proficiency in delivering high-quality solutions and resolving complex issues within tight deadlines. My experience spans frontend, backend, smart contracts, and the optimization and maintenance of scalable codebases.
How I plan on tackling this issue
I will develop a dedicated section for admins (role = 2) at /admin, where they can easily monitor and manage the overall treasury. The total treasury reserves will be fetched from the master wallet and displayed prominently, with the balance shown in both BSV and Satoshis for clarity. Also I will implement an alert system that triggers a warning if the balance drops below 10 BSV, ensuring that admins are promptly notified when the reserves are running low. This will help prevent potential issues with insufficient funds. The admin interface will be user-friendly, offering clear visuals and intuitive navigation to streamline treasury management.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hello, I'm Dprof-in-tech, a seasoned Full Stack Blockchain Developer, and I'm excited to be part of ODHACK 9! I have a strong foundation in technologies such as Next.js, TypeScript, JavaScript, React, Node.js, Rust, and Cairo, I've built extensive experience across the blockchain development landscape.
I first got involved with OnlyDust during Edition 2, and since then, I've made 39 contributions across 11 different projects. Working on the platform has really helped me sharpen my skills, especially when it comes to delivering great solutions under tight deadlines. I love combining technical know-how with a user-focused approach, whether it's building immersive 3D experiences or crafting smart contracts that solve real-world problems.
Throughout, I've consistently demonstrated the ability to adapt and contribute effectively to diverse challenges. I'm confident in my ability to tackle new problems and drive innovation within the blockchain space. As we kick off ODHACK 9, I'm eager to apply my previous experience and technical expertise to push the boundaries of what's possible.
You can view my public profile on OnlyDust here: https://app.onlydust.com/u/Dprof-in-tech
How I plan on tackling this issue
Here's my approach to implementing the admin treasury management page:

Admin Panel Setup:

I'll create a protected /admin route using role-based authentication (role = 2)
Implement a clean, dashboard-style layout
Add proper error handling for unauthorized access

Treasury Display Implementation:

Connect to BSV blockchain to fetch master wallet balance
Set up real-time balance updates using WebSocket
Display balance in both BSV and Satoshis formats:
The display formula would look something like this:
const formatBalance = (balance) => ({
bsv: balance / 100000000,
satoshis: balance
});

Please note, this is purely conceptual right now

Add proper number formatting with decimal places
Implement loading states during balance fetch

Low Balance Alert System:

Set up a threshold check (10 BSV)
Create an alert component for low balance warning
Add visual indicators (red warning banner)
Implement optional push notifications for admins
Store alert preferences in admin settings

Security Measures:

Implement rate limiting for balance checks
Add audit logging for admin access
Secure API endpoints with proper authentication
Add session timeout for security

Testing Plan:

Unit tests for balance calculations
Integration tests for wallet connections
Security testing for admin routes
Alert system verification
Mobile responsiveness check

Expected Timeline: 3-4 days

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a python dev . A new-comer here, willing and ready to contribute to solve the  issue.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hi, I'm Alvaro Lazarus a Blockchain developer from Dojo Coding with a good amount of experience on both TypeScript and JavaScript, I would love to contribute to this project and this seems like a really fun issue to tackle.
How I plan on tackling this issue

Develop a dedicated admin section at /admin for users with role = 2.
Display total treasury reserves from the master wallet in both BSV and Satoshis.
Implement an alert system to warn admins when the balance drops below 10 BSV.
Ensure the admin interface is user-friendly with clear visuals and intuitive navigation for effective treasury management.

@mo-jaber
Thanks. Will start working on this asap.

Hello @mo-jaber
I am waiting for #17

@mo-jaber
i messaged you on telegram

Can I take this up?
I will initially add a mock data for now to be shown in place of the master wallet till the time it is implemented. I will work on the UI part to make it look good and professional. I will use the bsv ts sdk and the wallet to show the BSV and Satoshis from the wallet and will add an alert using shadcn UI toast to show when the balance is below 10 BSV, since the project uses shadcn already
ETA- 3 days

Thanks @PoulavBhowmick03


[release/2.7 backport] docs: add redirect for old URL

backport https://github.com/docker/distribution/pull/3196
Looks like there's some projects refering to this old URL:
https://grep.app/search?q=https%3A//docs.docker.com/reference/api/registry_api/
fixes https://github.com/docker/docker.github.io/issues/11105

ping @manishtomar @dmcgowan PTAL

LGTM


Upload API Prep Part 4: Fix prod

This PR fixes the production docker compose setup.
The problem was that path aliases did not work and that all imports needed extensions.
The fix is by just using tsx in prodution, same like in development, but  then without --watch.
In order for the migrations not to to interfere with each other when using multiple instances, I also added a db managed lock around the migrations script run. So even though we run db-migrate at startup, it's not a problem if we start up 4 processes.

Closed because I merged it into the PR that was breaking the prod docker compose in the first place


CommandBarFlyout sometimes has dim color

Describe the bug
In some case:

We expect:

It is worth noting that if the CommandBarFlyout is in a dimly colored state, at this time I use Win+Shift+S to take a screenshot, it will return to normal.
Steps to reproduce the bug

Steps to reproduce the behavior:

Try to pop up CommandBarFlyout multiple times

Expected behavior
Same color
Version Info

NuGet package version:
[Microsoft.UI.Xaml 2.5.0-prerelease.200923002]

Windows app type:

UWP
Win32

Yes

Windows 10 version
Saw the problem?

Insider Build (xxxxx)

May 2020 Update (19041)
Yes

November 2019 Update (18363)

May 2019 Update (18362)

October 2018 Update (17763)

April 2018 Update (17134)

Fall Creators Update (16299)

Creators Update (15063)

Device form factor
Saw the problem?

Desktop
Yes

Xbox

Surface Hub

IoT

Additional context

@codendone and @gegao18 The taking a screenshot fixing the issue makes me think this is a rendering bug.

Since taking a screenshot fixes the problem, it sounds like there is a Composition bug here, such as not rendering the last frame of fade-in animation.

Is there any progress in investigating this issue? Because this phenomenon is often encountered

Any solutions?

Is there any progress on fixing this issue now?

Is there any progress on fixing this issue now?

I've experienced this, it seems to affect menus too.
Could it be a ThemeShadow issue, it rendering above the menu or flyout itself?

I've experienced this, it seems to affect menus too.
Could it be a ThemeShadow issue, it rendering above the menu or flyout itself?

It only appeared after a certain version of 2.5.0.prerelease

It only appeared after a certain version of 2.5.0.prerelease

@jeffstall FYI

@jeffstall FYI

Any progress?

ComboBox has the same issue

All the CommandBarFlyouts are currently appearing in a dimmed state with the Light Theme.  I think it may be due to the recent animation change https://github.com/microsoft/microsoft-ui-xaml/pull/4988 or https://github.com/microsoft/microsoft-ui-xaml/pull/5005

seeing this with all popups

@StephenLPeters Was this fixed by WinUI 2.6.1?

can you verify if it got fixed or not ? I am closing it for now, do open it up if it repros in current version of winui 2

Not seen this issue in Win11, but don't know this got fixed on Win10


Update logger setting

Pull request to allow PP_LOG_DIR to be empty or invalid, if so logger will fallback on stdout. Link to issue #324

Thanks @marty-macfly


[CONNECT][SPARK-44146] Isolate Spark Connect Session jars and classfiles

What changes were proposed in this pull request?

This PR follows up on https://github.com/apache/spark/pull/41625 to utilize the classloader/resource isolation in Spark to support multi-user Spark Connect sessions which are isolated from each other (currently, classfiles and jars) and thus, enables multi-user REPLs and UDFs.

Instead of a single instance of SparkArtifactManager handling all the artifact movement, each instance is now responsible for a single sessionHolder (i.e a Spark Connect session) which it requires in it's constructor.
Previously, all artifacts were stored under a common directory sparkConnectArtifactDirectory which was initialised in SparkContext. Moving forward, all artifacts are instead separated based on the underlying SparkSession (using it's sessionUUID) they belong to in the format of ROOT_ARTIFACT_DIR/<sessionUUID>/jars/....
The SparkConnectArtifactManager also builds a JobArtifactSet here which is eventually propagated to the executors where the classloader isolation mechanism uses the uuid parameter.
Currently, classfile and jars are isolated but files and archives aren't.

Why are the changes needed?

To enable support for multi-user sessions coexisting on a singular Spark cluster. For example, multi-user Scala REPLs/UDFs will be supported with this PR.
Does this PR introduce any user-facing change?

Yes, multiple Spark Connect REPLs may use a single Spark cluster at once and execute their own UDFs without intefering with each other.
How was this patch tested?

New unit tests in ArtifactManagerSuite + existing tests.

The PR is ready to review (the falling tests are flaky, I've submitted a rerun request).

@HyukjinKwon @hvanhovell Could you have a look? Thanks!

I am merging this to unblock a couple of follow-ups. Please address my comments in a small follow-up.


Build errors Macos , CommonCrypto error: manifest parse error(s)

Hi, I tried to build on macOS and also with Docker, but run into the following errors :
$ swift build
Fetching https://github.com/IBM-Swift/Kitura-WebSocket
Fetching https://github.com/pixelspark/postgres-wire-server.git
Fetching https://github.com/jatoben/CommandLine
Fetching https://github.com/IBM-Swift/BlueCryptor.git
Fetching https://github.com/pixelspark/swift-parser-generator.git
Fetching https://github.com/IBM-Swift/HeliumLogger.git
Fetching https://github.com/pixelspark/sqlite.git
Fetching https://github.com/IBM-Swift/Kitura.git
Fetching https://github.com/vzsg/ed25519.git
Fetching https://github.com/pixelspark/base58.git
Fetching https://github.com/Bouke/NetService.git
Fetching https://github.com/daltoniam/Starscream.git
Fetching https://github.com/IBM-Swift/BlueSocket.git
Fetching https://github.com/IBM-Swift/LoggerAPI.git
Fetching https://github.com/IBM-Swift/Kitura-net.git
Fetching https://github.com/IBM-Swift/Kitura-TemplateEngine.git
Fetching https://github.com/IBM-Swift/KituraContracts.git
Fetching https://github.com/IBM-Swift/CCurl.git
Fetching https://github.com/IBM-Swift/BlueSSLService.git
Fetching https://github.com/IBM-Swift/CommonCrypto.git
error: manifest parse error(s):
The manifest file at https://github.com/IBM-Swift/CommonCrypto.git (0.1.3) is empty
error: product dependency 'SQLite' not found
error: product dependency 'Ed25519' not found
error: product dependency 'Base58' not found
error: product dependency 'HeliumLogger' not found
error: product dependency 'Kitura' not found
error: product dependency 'Kitura-WebSocket' not found
error: product dependency 'NetService' not found
error: product dependency 'Starscream' not found
error: product dependency 'SwiftParser' not found
error: product dependency 'PostgresWireServer' not found
error: product dependency 'CommandLine' not found
$ swift --version
Apple Swift version 4.0.3 (swiftlang-9<IP_ADDRESS> clang-9<IP_ADDRESS>)
Target: x86_64-apple-macosx10.9

Thanks for feedback, this might help
I added the following in deps of Package.swift
.package(url: "https://github.com/IBM-Swift/CommonCrypto.git", from: Version("0.1.5"))
There is no more error on CommonCrypto, but it stays stuck at Fetching https://github.com/IBM-Swift/BlueSSLService.git. No error, just the build is stuck

Weird. I just tried this again (from another network but that shouldn't matter) and it builds fine now.
Could you try again (using the original package file) and see if that works now? Probably some kind of error in the package file of a dependency somewhere.

OK, so I have now added the Package.resolved file to the repository - that ensures that everyone uses the same package versions I used at commit time.


CVE-2023-4586 and sonatype-2020-0026 reported in io.netty:netty-handler:4.1.109.Final

https://github.com/advisories/GHSA-57m8-f3v5-hm5m and sonatype-2020-0026 are reported in io.netty:netty-handler:4.1.109.Final.
Official reports such as https://github.com/advisories/GHSA-57m8-f3v5-hm5m flags up to 4.1.99.Final but it is still reporting in 4.1.109 also.
Can one of the maintainers confirm whether it is a FP or netty version which will fix both CVE-2023-4586 and sonatype-2020-0026.

duplicate of #5912


Production Migration on July 11, 2024 19:00 (Update base image to php:8.1-apache-bullseye)

This Production migration have 2 ticket (2 branches), mainly to fix build action failure issue happened on last week, it should allow to deploy the last week 2 tickets.
[php-buster-image-fix-master] Update base image to php:8.1-apache-bullseye
Redeployed
[jp-0148] Admin: Annual Campaign Pledge -- Pop-up message to confirm calendar year
[jp-0149] Admin Maintain Event Pledge - Bug Fix: eForm Status "Locked"
Urgent Data fix
[jp-0155] Update Donate Now Pledge (Tran ID 117)

Pre Migration Steps:

Request User to setup planned maintanence schedule timeframe in Production.

Post Migration Steps:

php artisan optimize:clear
make sure all POD must be restarted
make background queue process started on each POD (command: ps -eF )
run seeder
--  php artisan db:seed --class=DataFixFor_jp_0155_DonateNow117

seeder file ran and here is the log
php artisan db:seed --class=DataFixFor_jp_0155_DonateNow117
INFO  Seeding database.
Before change:[
{
"id": 117,
"organization_id": 5,
"emplid": "199213",
"user_id": 49427,
"pecsf_id": null,
"yearcd": "2024",
"seqno": 3,
"type": "C",
"region_id": null,
"f_s_pool_id": null,
"charity_id": 91694,
"special_program": null,
"one_time_amount": 50,
"deduct_pay_from": "2024-05-24",
"first_name": null,
"last_name": null,
"city": null,
"cancelled": null,
"cancelled_by_id": null,
"cancelled_at": null,
"ods_export_status": "C",
"ods_export_at": "2024-05-16 00:50:17",
"created_by_id": 49427,
"updated_by_id": 49427,
"created_at": "2024-04-12 09:33:05",
"updated_at": "2024-04-12 09:33:05",
"deleted_at": null
}
]
After change:[
{
"id": 117,
"organization_id": 5,
"emplid": "199213",
"user_id": 49427,
"pecsf_id": null,
"yearcd": "2024",
"seqno": 3,
"type": "C",
"region_id": null,
"f_s_pool_id": null,
"charity_id": 42650,
"special_program": null,
"one_time_amount": 50,
"deduct_pay_from": "2024-05-24",
"first_name": null,
"last_name": null,
"city": null,
"cancelled": null,
"cancelled_by_id": null,
"cancelled_at": null,
"ods_export_status": "C",
"ods_export_at": "2024-05-16 00:50:17",
"created_by_id": 49427,
"updated_by_id": 49427,
"created_at": "2024-04-12 09:33:05",
"updated_at": "2024-07-12 02:13:03",
"deleted_at": null
}
]$


A guide for forking and extending monaco-typescript is needed, OR options to add code wrapper

Closely related: https://github.com/microsoft/monaco-editor/issues/1426
monaco-editor version: 0.18.1
So there is a good amount of issues that require more peculiar additions to monaco-typescript, mainly wrapping code in a function, in a JS object, for changing typing context, and for injected, user-defined code. In these cases, monaco.languages.typescript.*Defaults.addExtraLib is not enough, as seen in #1452, #45, #1439, #170.
Particular use cases include:

educational software with input fields in code blocks, where uneditable code becomes decorations for monaco-editor and a wrapper for monaco-typescript;
editors for functions that are members of classes and other objects, where this does not point to globalThis, e.g. in game editors for in-game entities, HTTP request editors, for any other code that comes from an end-user of a framework;
editing json-like objects;
probably, making of inline inputs, like in Chrome/FF dev tools while editing HTML tags.

As an end-user, it seems impossible to make such changes to monaco-typescript (due to not having required competence in monaco/vscode/typescript development). The expected result is that a version of monaco-vscode wraps input code in another code, returning correct positions for markers and such, and successfully embeds into monaco-editor while preserving syntax highlighting (this is pointed out separately as monarch tokenizer is not a part of monaco-typescript, and bringing the tokenizer to a new language mode is not obvious).
All the issues above surely have a solution, but end-users require docs to solve them.

Alternative: adding options for monaco.languages.typescript.*Defaults that will allow wrapping input code in a predefined structure.

For my game editor ct.js, I ended up with tons of hacks that establish hidden and uneditable lines around the code: https://github.com/ct-js/ct-js/blob/develop/src/js/codeEditorHelpers.js#L74
Beware: it uses several unofficial APIs and this is not a solution to the original issue, but a collection of hacks due to the absence of better alternatives.
The hacks block direct editing from a keyboard, manage cursors and selectors, handle "Replace all" command, and hide the first and the last lines. Some constants are hard-coded, so you will need to improve the code for multiple hidden numbers. The known issue is that you can view and delete the hidden code in the peek view, as it creates additional editors.

This might be easier to do with https://github.com/microsoft/monaco-typescript/pull/65

I have the same issue (I'd like my editor to have a "function body" context with predefined arguments and an expected return type), was there any improvements in this area?

@guillaume86 Yes, there have been improvements if you don't require to be able to see that function stub in the editor.
Building off of https://microsoft.github.io/monaco-editor/playground.html#extending-language-services-configure-javascript-defaults you can set to ignore the diagnostic that reports top-level return statements as an error and then just provide the declaration for your function parameters as an extra lib to get code completion and types for them. The diagnostic code to ignore can be inferred from the error message in the editor.

monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({
    noSemanticValidation: false,
    noSyntaxValidation: false,
    diagnosticCodesToIgnore: [/* top-level return */ 1108]
});

monaco.languages.typescript.javascriptDefaults.setCompilerOptions({
    target: monaco.languages.typescript.ScriptTarget.ESNext,
    allowNonTsExtensions: true
});

var libSource = `
/** The first parameter */
declare const param1: number;
/** The second parameter */
declare const param2: number;
`
var libUri = 'signature.d.ts';
monaco.languages.typescript.javascriptDefaults.addExtraLib(libSource, libUri);
// When resolving definitions and references, the editor will try to use created models.
// Creating a model for the library allows "peek definition/references" commands to work with the library.
monaco.editor.createModel(libSource, 'typescript', monaco.Uri.parse(libUri));

monaco.editor.create(document.getElementById('container'), {
    value: "return param1 + param2",
    language: 'javascript'
});

Sadly this does nothing about the passed arguments, or expected types, or of what this is.

Solution: use https://www.npmjs.com/package/constrained-editor-plugin to define the function body and combine it with
editor.setHiddenAreas([{
	startLineNumber: 1,
	endLineNumber: 1
}, {
  ...
}])

and, to shift the line number count, https://microsoft.github.io/monaco-editor/docs.html#interfaces/editor.IEditorOptions.html#lineNumbers
The method setHiddenAreas does exist on IStandaloneCodeEditor despite errors being shown.
Might make a demo later when I get my hands on updating my editor's code.
Quacking congratulations for leaving this and many linked issues open for all those years. And thanks to @Pranomvignesh for making a solution for uneditable ranges.

Solution: use https://www.npmjs.com/package/constrained-editor-plugin to define the function body and combine it with
editor.setHiddenAreas([{
	startLineNumber: 1,
	endLineNumber: 1
}, {
  ...
}])

(You don't need to track those hidden areas afterwards.)
To shift the line number count, https://microsoft.github.io/monaco-editor/docs.html#interfaces/editor.IEditorOptions.html#lineNumbers
The method setHiddenAreas does exist on IStandaloneCodeEditor despite errors being shown.
Might make a demo later when I get my hands on updating my editor's code.
Quacking congratulations for leaving this and many linked issues open for all those years. And thanks to @Pranomvignesh for making a solution for uneditable ranges.

When formatting, the code disappears and you can see its hidden code.


Trying to verify install of anchor is  'Expected "anchor-cli 0.18.2"'

$ anchor --version
Only x86_64 / Linux distributed in NPM package right now.
Trying globally installed anchor.
Globally installed anchor version is not correct. Expected "anchor-cli 0.18.2", found "anchor-cli 0.18.0".

OS: Mac m1
What have I done wrong to make my system expect a version that does not yet exist?

restarting my computer seems to have resolved it, if anyone else encounters this weirdness

https://www.npmjs.com/package/@project-serum/anchor-cli is working only on Linux x86_64. I added fields that will block npm package installation on unsupported platforms: https://github.com/project-serum/anchor/pull/976

Experiencing the same thing, I don't even think there's a 0.18.2 version.

Same issue and I'm on an Intel Mac. It was working until recently.

@tkoriginal I asked around on StackOverflow and figured out how to do a Mac Install. With Macs you need to build the project from github using cargo instead of just downloading the dependencies. Below is a link to the StackOverflow question:
https://stackoverflow.com/questions/69875462/installing-anchor-on-a-macos-anchor-versions-are-not-matching-up

How to Install anchor/cli in Windows ??? After installing and after checking/running anchor --version, it shows -------->>
Only x86_64 / Linux distributed in NPM package right now.
Trying globally installed anchor.
Could not find globally installed anchor, install with cargo.
Please help me

@aviral17 Unfortunately, I don't have a windows machine to figure this out. I am not sure why it doesn't run on Windows, we should make it compatible with Windows.
One alternative for you is to use a docker image of solana. I am not sure why it doesn't run on Windows, we should make it compatible with Windows.
Here is the docker image:
https://hub.docker.com/r/solanalabs/solana
Here is a detailed article on developing against the Solana docker image.
https://medium.com/rahasak/deploy-solana-test-network-with-docker-418622c4f566

@moza88 Much Thanks for the help , BTW, I've also tried with WSL (Windows Subsystem for Linux) but still, its not working, But I am Sure, it will work with Docker,   And I've also gone through its Contributer's github page, where they are saying that its in Development phase, but I am sure it will be solved someday!! Further Progress --> Will update soon

restarting my computer seems to have resolved it, if anyone else encounters this weirdness

Definitely not working for me. Restarted the system, reinstalled everything from npm to yarn, nothing happened, still facing the same error.

Thanks for the help !
Actually I found the solution Just after sending this email. It worked with
cargo install --git https............... --locked command. Thats it
and the Job is Done !!
On Thu, May 12, 2022, 2:55 AM Mabel Oza @.***> wrote:

@aviral17 https://github.com/aviral17 Unfortunately, I don't have a
windows machine to figure this out. I am not sure why it doesn't run on
Windows, we should make it compatible with Windows.
One alternative for you is to use a docker image of solana. I am not sure
why it doesn't run on Windows, we should make it compatible with Windows.
Here is the docker image:
https://hub.docker.com/r/solanalabs/solana
Here is a detailed article on developing against the Solana docker image.
https://medium.com/rahasak/deploy-solana-test-network-with-docker-418622c4f566
—
Reply to this email directly, view it on GitHub
https://github.com/project-serum/anchor/issues/972#issuecomment-1124308967,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIWWP7KZM3YD5PCXK5GW4CTVJQQSZANCNFSM5HJVO4GQ
.
You are receiving this because you were mentioned.Message ID:
@.***>


luci-mod-status: Local Interface channels are not displayed on the graph

Steps to reproduce:
Example: Replace the following lines and remove this

go to: Status → Channel Analyzis -> radioX(5Ghz) or radioX(2.4Ghz)
wait for the scan to finish

Actual behavior:
Local Interface channels not displayed on the graph:

Expected behavior:
Local Interface channels are correctly shown on the graph
Additional Information:
OpenWrt version information from system /etc/openwrt_release
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='22.03.5'
DISTRIB_REVISION='r20134-5f15225c1e'
DISTRIB_TARGET='ramips/mt7621'
DISTRIB_ARCH='mipsel_24kc'
DISTRIB_DESCRIPTION='OpenWrt 22.03.5 r20134-5f15225c1e'
DISTRIB_TAINTS=''

@Ansuel

@jow- i just notice that this is on 22.03 and this is fixed in master
Required change to be backported https://github.com/openwrt/luci/commit/307e385ba19fff36e335d048c45fc8f667129bd8

Fixed by 1c26abc138


Analyzer Feedback from IntelliJ

Version information

IDEA PS-212.5457.49
2.14.4
PS-212.5457.49, JRE 11.0.12+7-b1504.40x64 JetBrains s.r.o., OS Linux(amd64) v5.4.0-87-generic, screens 2560.0x1440.0, 2560.0x1080.0

Thanks. All work for me. Sorry!
пн, 18 окт. 2021 г., 19:45 Siva @.***>:

@AndreyDuda https://github.com/AndreyDuda This issue doesn't seem to
have any information about the problem that was encountered, is it possible
to get a full report that includes the stack trace.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/sdk/issues/47481#issuecomment-945964106,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIQEISP5MTWPNEPGC7RMGQ3UHRFJVANCNFSM5GFEKHXQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


AMD_VULKAN_ICD has no effect when both RADV and AMDVLK are installed

After installing amdvlk and radeon (libvulkan_radeon) driver together, the vulkan still loads RADV driver by default.
I have placed the amd_icd.x86_64.json in /etc/vulkan/implicit_layer.d, and set the environment variable AMD_VULKAN_ICD to "AMDVLK", however, the vkcube program still uses RADV.
I don't find anything related to "AMD_VULKAN_ICD" environment variable in vulkan loader, so I am curious where is this environment variable respected and checked?
Platform: openSUSE Tumbleweed 20210307

AMD_VULKAN_ICD is checked in https://github.com/GPUOpen-Drivers/xgl/blob/dev/icd/layers/vk_layer_switchable_graphics.cpp.
Is the amd_icd.x86_64.json file generated according to the instruction:  https://github.com/GPUOpen-Drivers/AMDVLK#build-driver-and-generate-json-files?

Yes, it is generated by the ninja compilation program. To be specific, this is the amd_icd.x86_64.json file I am using: https://pastebin.com/NZ9ZVSR4

Does the switchable graphics layer and amdvlk show up in the output of vulkaninfo?

Does the switchable graphics layer and amdvlk show up in the output of vulkaninfo?

Here is the output of vulkaninfo: https://pastebin.com/Lu1DgUcb. AMD switchable graphics layer appears but I don't find amdvlk.

Thanks for the output. That looks like it is already using amdvlk (GPU id : 0 (Unknown AMD GPU)).
You can try AMD_VULKAN_ICD=RADV vulkaninfo and it should show a GPU that has RADV (and ACO) in its name.

Thanks for the output. That looks like it is already using amdvlk (GPU id : 0 (Unknown AMD GPU)).
You can try AMD_VULKAN_ICD=RADV vulkaninfo and it should show a GPU that has RADV (and ACO) in its name.

Indeed as you said, after specifying AMD_VULKAN_ICD=RADV, vulkaninfo shows a GPU with RADV in its name.
However, when I run AMD_VULKAN_ICD=AMDVLK vkcube, the program gives the following output:
WARNING: radv is not a conformant vulkan implementation, testing use only.
Selected GPU 0: Unknown AMD GPU, type: 2

Is it expected behavior?

Ah, this can be a bit confusing, indeed.
The line Selected GPU 0: Unknown AMD GPU, type: 2 says it is using amdvlk as the vulkan driver.
The line WARNING: radv is not a conformant vulkan implementation, testing use only. (which I’d say is a bit of a stretch, given the usage of radv ;)) is printed when the driver libraries get loaded, that is before the application chooses which driver to use and it doesn’t mean that radv is actually used, just the .so was loaded by the vulkan loader.

Ah, this can be a bit confusing, indeed.
The line Selected GPU 0: Unknown AMD GPU, type: 2 says it is using amdvlk as the vulkan driver.
The line WARNING: radv is not a conformant vulkan implementation, testing use only. (which I’d say is a bit of a stretch, given the usage of radv ;)) is printed when the driver libraries get loaded, that is before the application chooses which driver to use and it doesn’t mean that radv is actually used, just the .so was loaded by the vulkan loader.

I see, now it makes sense. Thanks!


Fix screenshots in eDiscovery-investigation.md

Closes https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/8878.

@v-tophillips PR has been copyedited and is ready for final review, could you please check and merge? Thanks!