Add sorting by artifact RV in Character page

It would be useful if one wants to find whose artifact is not good enough and decide which one to farm.
BTW, I'm thinking about another concept, something like a parameter to measure the degree of 'graduation' for artifact substats, because RV is not always enough for the purpose. For example, useful substats for Kokomi include only HP, HP%, and ER, and thus the RV is relatively low even if every roll results in one of them. This parameter may be defined as
$$\frac{\text{current RV}}{\text{theoretical maximum RV}}$$
For the example of Kokomi above, the theoretical maximum RV is 3800%, while it's 4500% for some other characters. And if this parameter is added, it would be better to use this parameter for sorting in character page.

frzyc has previously said he doesn't want to add character sorting by RV:
https://github.com/frzyc/genshin-optimizer/issues/317#issuecomment-1140353156
You're welcome to try to convince him further. But will probably have to come up with a good argument and concept for it.

Oh, sorry, I didn't see that issue.
In fact I also think RV filter isn't a perfect choice since it doesn't make sense sometimes, although it may be easier to realize. A 2500% Kokomi is fairly good, while a 2500% Hu Tao is just so so. That's why I come up with that idea (I don't know what's the corresponding concept in EN community, let me call it DOG (degree of graduation) for the time being).
I'm thinking about it because as old players, my friends and I are always irresolute when choosing which artifact to farm, since most of our characters are fairly good. And thus I think such a concept may be helpful. You can just farm for the one with the lowest DOG. Also, it may help players to evaluate the artifact of their characters in a more direct way. Compared with RV, DOG is a more overall parameter and is more comparable between different characters, and thus I think it's more proper to show in charactercard.
Thinking further, the above DOG concept is not absolutely accurate when choosing artifact to farm, because the possibility of obtaining useful substats is not the same for different character. For example, you have Xiangling and Kokomi with 80% DOG for both. But from the angle of probability, it's easier to obtain enhancement if you farm for Xiangling. The most accurate concept for that is average Resin cost, i.e., how much Resin in average will be used to get artifacts with such RV. But I'm afraid it's too hardcore and not many players understand it.
They are not very common concepts and I don't know whether it's hard to realize. So that's just a personal suggestion. It will be appreciated if anyone want to further discuss it or realize it.

@littlef0x
I think using RV to track "which artifact to farm next" has a lot of fallacy, as you stated above. I can list a few more, fundamental issues:

RV is a metric for substat, and does not consider mainstat
RV does not consider artifact sets
RV does not correlate slots.
If you have the "right main stats" then your "effective total RV" actually may goes down.

All these flaws applies to your DOG concept(I do love the name). I understand RV/max RV can be a measurement for "artifact growth"(to an artifact in isolation), but the numbers have less meaning when you apply it to the context of a character.
If we go back to the drawing board with a feature that will help with "which artifact to farm next?", shouldn't this feature at least consider the availability of set+slot+mainstat? I am not sure what kind of feature this will be, but I would at least want it to be considerate of how many of "on set good main stat" artifacts I have in my inventory. If you want a feature like this, I would advice starting from here instead.

Thanks for your reply.

All these flaws applies to your DOG concept

I'd like to clarify that the DOG concept above only cares about substats. That's because for most DPSs and some supports, correct artifact set and mainstats are prior to all substats, while for others, substats doesn't matter at all. So only makes sense under the premise of correct (similar if not the same, since some characters can choose more than one artifact set) artifact set and mainstats.
Meanwhile, DOG should be considered only if all the 5 pieces are equipped. From this aspect, I think DOG is more useful than RV, because RV can only be used for vertical comparison (i.e., compare between the current and original artifact of the same character), but DOG can also be used for horizontal comparison (i.e., compare between different character).

shouldn't this feature at least consider the availability of set+slot+mainstat?

Yes, I have to admit that this definition isn't perfect because the same RV/DOG doesn't mean the same value if the mainstats are different. Also, the values of 2+2 and 4-pc are not the same. There are more accurate concept, e.g., average resin cost or rank among a huge number of players. But we should find a balance between accuracy and understandability. I don't think this DOG concept can completely solve the problem, but it makes sense to evaluate the substat of artifact. More thoughts are welcome since I have not found a satisfying balance point between accuracy and understandability.

Feel free to submit another feature request once you can think of a better design.


How to Evade $digest errors.

Version info

Angular: Latest AngularJS 1 version
Firebase: Firebase 2.4.2
AngularFire: Latest AngularFire for above firebase version
Other (e.g. Node, browser, operating system) (if applicable):
Test case

This is a concept question. No Plnk,fiddle,etc needed
Steps to reproduce

$digest Errors
Im sure everyone has encountered the very famous $digest error:
Uncaught Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
Watchers fired in the last 5 iterations: []
Well, that happenes when you have a lot of $firebaseObject, and $firebaseArray and you call the $loaded function many times. Well, obviously for big projects like forums you will need a lot of those. Is there any way i can pass this problem? Thankyou for your time, right now we are codintg this at cloud9 so if we could discuss there also it would be awesome! https://ide.c9.io/amanuel2/ng-fourm

I've never came across any digest errors using angularfire. Not sure if your problem is happening because you're using Angularfire 2.0.4 with Firebase 2.4.2. The current version of angularfire is really to be used with the new version of firebase(3). As so the api methods changed.

@iRoachie I Use AngularFire 1.2.0

If you could replicate this it in a plunkr or so would be great. But i've never dealt with that problem even using older versions of firebase and angular. Digest loops usually happen when a change on a model triggers a digest cycle and that one triggers another one etc. This is usually a problem with personal code, and the framework.

The thing is @iRoachie i cant... we can work on it here though.

Thanks for opening the issue. Unfortunately, I think this issue is a bit too vague at the moment. I'm not really sure AngularFire is the issue here and without a reliable repro in JSFiddle or Plunker, this is not actionable for us. I know you linked to Cloud 9, but I've never used it before and having to create an account just to see whatever is behind the sign-in screen is not something I'm going to do right now.
As for the use of $loaded(), you really should not need to use it very often unless you are debugging. In general, you should just create your $firebaseArray and $firebaseObject instances and show the data as it shows up, not try to process it once it is initially loaded. There are valid use cases for it, but using it a lot in your app is an anti-pattern.

@jwngr so i dont have to do $loaded.... wow man, i misconfused firebase. Sorry sir


extension failure

ADD ISSUE DESCRIPTION HERE
Version: 1.80.0-insider
Commit: 5b7440441bbd2548a862f7321cafdfa1597132e5
User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Embedder: codespaces

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


AFError LocalizedError

Question about LocalizedError
migrating from V4 to V5
AF 5 now is changing the localized Error returned by some Types witch are NSError/Error with an unlocalized message
https://github.com/Alamofire/Alamofire/blob/fca036f7aeca07124067cb6e0c12b0ad6359e3d4/Source/AFError.swift#L675-L676
why appending this text if it is not localized, and it is not user friendly in case of  URLError?

localizedDescription is the only way to provide textual descriptions of errors in a way that shows up when you print it as an Error. We recommend you create your own message for presentation to users.


Push 3.3.0 to NPM

Can you please push the new version to NPM?
Thanks in advance!

+1 :+1:

Sure, will be up in a couple of minutes. Thanks for the remind!

Done!


[base-controller] getRestricted infers the wrong types when it has no allowed actions/events

When constructing a restricted controller messenger with no allowed actions, it will infer the "allowed action" type as encompassing all actions. This puts the types and runtime behavior out-of-sync; at runtime, no allowed actions means you can't call any external actions, but at the type level it acts as though you could call all of them.
Everything applies equally to events as well; the same problem is present for both actions and events.
For example:
type MessageEvent = {
  type: 'MessageController:message';
  payload: [string];
};
type OtherEvent = {
  type: 'OtherController:other';
  payload: [unknown];
};

// Global messenger setup with two events: one for the MessengerController, and one external.
const controllerMessenger = new ControllerMessenger<
  never,
  MessageEvent | OtherEvent
>();
// No explicit type parameters given, they are inferred.
// Note that no allowed events are specified, so "OtherController:other" should be disallowed
const restrictedControllerMessenger = controllerMessenger.getRestricted({
  name: 'MessageController',
});

// This should result in a type error, but it does not. Instead it throws at runtime.
// "AllowedActions" has been inferred as being all actions
restrictedControllerMessenger.subscribe(
  'OtherController:other',
  () => undefined,
);

This is easily addressed by explicitly declaring the type parameter as never when constructing the RestrictedMessengerController. For example:
// following from the same global ControllerMessenger as the above example

// Explicit type parameters given
const restrictedControllerMessenger = controllerMessenger.getRestricted<
  'MessageController',  // "name"
  never,                            // "allowedActions"
  never                            // "allowedEvents"
>({
  name: 'MessageController',
});

// This now correctly results in a type error
restrictedControllerMessenger.subscribe(
  'OtherController:other',
  () => undefined,
);

However, needing to explicitly declare type parameters for the empty case is not great. It's verbose, and makes this a bit more difficult to use.
We should investigate and find a way to ensure the inferred type is correct. If that's not possible, we should at least document this issue somewhere, so people are less likely to be caught off guard by it.

It seems like this applies not just to the empty case, but to any case where the allowed actions/events listed at the value level is narrower than the full Allowed{Actions,Events} union defined in the controller.
The 2nd and 3rd generic params of getRestricted default to the full Allowed{Actions,Events} unions when omitted. The problem is that if the value-level allowed{Actions,Events} arrays don't list the full unions (including being empty arrays or undefined), the type-level generic params are still inferred as the full union. The only way to override this is to explicitly pass in the narrower unions as generic params.
Having the Allowed{Actions,Events} generic params in getRestricted simply default to never would be safer at the expense of a worse developer experience (having to specify the same list twice at the value-level and type-level). Inferring the generic params from allowed{Actions,Events} would be ideal, but it's not clear whether that's possible.

One thing I hadn't considered is that our javascript clients are unable to supply generic arguments when calling getRestricted, so we can't be too restrictive with the default behavior we implement.

For downstream JavaScript clients, the generic params are not available at all. This makes it completely unambiguous that the intention behind omitting allowed{Actions,Events} params or passing in an empty array is to enforce an empty allowlist. I agree that always defaulting to never for null input would be the correct behavior to implement in this ticket.
Fixing the issue of incomplete allowlists being inferred as complete at the type level should be separated into its own ticket.

This issue shouldn't be confused as also applying to the generic parameters of the RestrictedControllerMessenger class, all five of which are intended to be required with no default arguments provided or allowed.

See: https://github.com/MetaMask/metamask-mobile/pull/8607#discussion_r1508097534


SPOD sys.db.Manager cacheObject Neko/PHP inconsistency

Hej,
I don't know if it has been solved yet, but as it's not longer maintened by Haxe, I repost it here (original post : https://github.com/HaxeFoundation/haxe/issues/5636)
I'm sorry I've just tested that on Neko and PHP targets playing with DBAdmin first, and I get inconsistency here between the 2 targets :
https://github.com/HaxeFoundation/haxe/blob/development/std/sys/db/Manager.hx#L390
It seems that when creating an empty instance on Neko like that :
untyped __dollar__new(x); where x is an object with fields/values, it fills these fields automatically on the class instance.
But on the others targets this one is used :
Type.createEmptyInstance( My ClassName ); Here it doesn't fill the class fields, it's ok, but then in this cacheObject function, there miss this fill.
So I added that :
Reflect.setField( o, f, val ); just after https://github.com/HaxeFoundation/haxe/blob/development/std/sys/db/Manager.hx#L401
So at the end it gives that :
function cacheObject( x : T, lock : Bool ) {
        #if neko
        var o = untyped __dollar__new(x);
        untyped __dollar__objsetproto(o, class_proto.prototype);
        #else
        var o : T = Type.createEmptyInstance(cast class_proto);
        untyped o._manager = this;
        #end
        normalizeCache(x);
        for (f in Reflect.fields(x) )
        {
            var val:Dynamic = Reflect.field(x,f), info = table_infos.hfields.get(f);
                        Reflect.setField( o, f, val );
            if (info != null)
            {
                var fieldName = getFieldName(info);
                Reflect.setField(o, fieldName, val);
            }
        }
        Reflect.setField(o,cache_field,x);
        addToCache(o);
        untyped o._lock = lock;
        return o;
    }

Now all is working fine and DBAdmin gives me all the fields like on Neko target.
I digged to see where the differences between Neko and PHP come from exactly, I've been until sys.db.Manager where in the cacheObject function, the returned created instance of the class is not filled correctly on others targets than Neko. Maybe it should be fixed there ? I don't know because like you, I've seen this bug only on dbadmin for the moment...

Hi again @filt3rek ,
Can you share an example of what the real world inconsistency looks like?
I see that the behavior can be different between targets but, just from looking at the code, I'm actually more tempted to go the opposite route and remove the (potential) extra fields from Neko.

Hej again Jonas ! :)
Well, It's one year ago, I'll try to retrieve my example and post it. What I remember roughly is that you see "null" for objects in dbadmin/php... But It's better I retrieve my example...


1.20?

Did anyone tried compiling that mod for 1.20? Are there devs workning on updating it? Should I go back to modding and try make 1.20 branch? 🤣

Quote from Pepper on Discord: "To be honest the 1.19.3 branch is already good to go and porting from that to 1.20 will take the same amount of time as reviewing a port pull request"

Pepper is going to port it and is already in the process of doing so.

The port is now complete and stable.


Specification updates

Fixes #219
Changes:

updated all specifications (quantification, identification and differential)
updated directory structure according to #220
deleted deprecated specification files

Checklist

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have updated corresponding READMEs (if applicable)
[x] My code follows the templates/style guidelines of the repository
[x] In- and output formats comply with APAeval specifications
[x] No parameters or file names are hardcoded
[x] Results, logs or other output is not commited to the repository
[x] I have tested my code

Thanks for reviewing @dominikburri. I've added some final edits and it should be ready for merging now.
Changes:

input GTF files changed to Gencode format
formatting of plot descriptions to improve readability
description of optional identification plots and metrics (proportion assigned to genomic features)


Create Data Model and Lock Object in SAP BTP, ABAP Environment

Tutorials: https://developers.sap.com/tutorials/abap-environment-lock-object.html
Hi
2 errors found
1 very small one:
no description for the data element,
1 more critical:
there is an error when I want to create the data definition.
Here is the error message:
Description	Resource	Path	Location	Type
Use of CDS Entity I_BusinessUserBasic is not permitted.	z_i_room_099.asddls	/TRL_EN/.adt/ddic/ddlsources/z_i_room_099/z_i_room_099.asddls	line 9	ABAP Syntax Check Problem
By the way I need to modify the data definition, but I do not know what will be the impact.
I have comented the association.

Hi @tyalgr ,
in which system are you trying to do this tutorial?
It is only availabe for licensed systems. If you are trying to do it in the trial system, you will get error messages.
Best regards,
Merve

Hi @tyalgr  ,
we are closing this issue. If you still have any issues, please open a new github issue for that.
Best regards,
Merve


Slack notifications for all anomalous publish statuses

As a member of the ODL Engineering team, I'd like to know when a production live or draft pipeline fails or has any other issue preventing a successful execution.
Right now notifications are only generated on_failure.
Designs and Mockups
Update the job definition to notify the slack channel of any anomalous status in job execution.

[ ] Implement in production

Acceptance Criteria:

[ ] Peter knows when a publish fails OR errors OR other anomalous status.
[ ] Peter doesn't hear about the 100's of successes.

Out of Scope

Email.

@Ardiea do you think we can close this?


npm is out of date

Looks like the package was published to npm when const was used for PLUGIN_NAME. I have to use the old version for now

Whoops - published 2.0.1


[VideocampusSachsen] Add extractor

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[ ] Improvement
[x] New extractor
[ ] New feature

Please avoid force-pushing during review

@pukkandan @Ashish0804 thank you for the work you are doing; reviewing this PR in particular. :)


Report a problem, doesnt work..

Do you guys test products?
https://developercommunity.visualstudio.com/report?port=1025&fsid=23a90b32-ea12-43ef-a4d6-52b566220211&entry=problem

Is that VS Code, or another tool?

Because I cant find the VS one. Even when reporting from inside VS. And Im nog wasting more time googling searching where to report bugs.


!Warning! incognito flag is ignored!

Even if you pass incognito=true, it still uses groq for text files! actually incognito flag is not used at all, it just uses groq for text files and llama for image files..

This is what I found as well

If you're encountering a message like "!Warning! Incognito flag is ignored!" it typically means that a command or action you're trying to perform in a browser's incognito or private browsing mode is not being executed as expected.
This warning might appear in scenarios where you're trying to run certain browser extensions or scripts that are explicitly designed not to work in incognito mode for privacy or security reasons.
If you're seeing this warning, you may want to check the documentation or settings of the extension or script you're using to understand why it's not functioning in incognito mode. Alternatively, consider reaching out to the developer or community for assistance.

I can confirm this

See also #24 and pull request 44


Rename InSpec Attributes to Inputs

Description
As one of the last remaining parts of the renaming of InSpec Attributes to Inputs, this PR renames the default['audit']['attributes'] chef infra attribute to default['audit']['inputs'].
default['audit']['attributes'] is retained, but any values set there are merged into default['audit']['inputs'] and a warning is emitted.
Additionally, the attributes
node['audit']['attributes_save'] has been renamed to node['audit']['inputs_save'] and
node['audit']['chef_node_attribute_enabled'] to node['audit']['chef_node_input_enabled']. At this time no backwards compatibility is in place for these two features, but that could be added if desired.
Should this be on a major release?
Issues Resolved
Fixes #360
Also gets the attributes test suite passing, which had been failing.
Check List

[x] All tests pass. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/TESTING.MD
[x] New functionality includes testing.
[x] New functionality has been documented in the README if applicable
[x] All commits have been signed for the Developer Certificate of Origin. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD

we'll need to do some work in automate to ensure we're looking for that inputs field: https://github.com/chef/automate/issues/194

Let's find out the extent of any possible breakage risk to existing customers before this one progresses - should hold for now

This PR exists to look for feedback and alert stakeholders to possible disruption. It's not a particularly urgent change. We'll hold until the change and its impact is better understood, and until there are any downstream changes needed in other products have been implemented.
That said, technical reviewers, please do give feedback: is this sufficiently backwards compatible? will this impact Automate on node save? Can that be avoided? Do we want a major version bump for this change?

DO NOT MERGE flagged per discussion


terminal panel padding top is too large

Version: 1.73.0-insider (Universal)
Commit: 7ef8e6b87a2a5a25ba1ef946bd1640ca3510956c
Date: 2022-10-14T05:18:26.756Z
Electron: 19.0.17
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 21.6.0
Sandboxed: Yes

I would like to fix this. Can you assign this to me please?

This is by design, the terminal is bottom aligned in the panel and it looks like there isn't quite enough room to fit another row in.


haskellPackages.daemons: Only mark broken on ghc < 9.6

Description of changes
Mark daemons broken only on ghcs where it actually is.
       > Error: Setup: Encountered missing or private dependencies:
       > base >=4.18 && <5

base 4.18 is ghc 9.6
Things done
Instead of having the whole package marked as broken, only mark it broken on the affected ghcs.
I'm not sure if this is the preferred style, but it seems to work and shouldn't suddenly cause pain when new stuff is released.

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

@ofborg build haskell.packages.ghc{865Binary,88,810,90,92,94,96}.daemons
(I wonder if this works)

I suggest a different solution. Let us pin daemons to the last version which works on ghc 9.4. I use daemons on ghc 9.4, have a local override to fix my setup and was planning to upstream it to nixpkgs. If people really require newest daemons on ghc 9.6 we can provide that with an override.

I'll implement that in a bit

Ideally, this should have gone to the haskell-updates branch, but I think it will be fine. :see_no_evil:


"Piers" in airports shouldn't be blue

Not clear how widespread this data issue is, but airport jetways at the Phoenix airport are showing up as blue piers in Eraser Map cartography. The landuse_kind is set to one of the 3 airport values, though, so we can test for it and style differently.
#17/33.43609/-111.99782

That's kind of charming, in a way - sky piers at the aerodrome.

Doubly charming that this airport is known as "Sky Harbor"!

In London and Paris these are marked footways, like:

And if it's an elevated "jetway":

Looking at the OSM wiki:

https://wiki.openstreetmap.org/wiki/Talk:Proposed_features/aerobridge
https://wiki.openstreetmap.org/wiki/Proposed_features/aerobridge

But that proposed tag has almost no adoption:

https://taginfo.openstreetmap.org/tags/aeroway=aerobridge

So I think these are data errors and the Phoenix airport jetways should be retagged to match the examples above.

Fixed in the data.


Usage with Quasar components

Hi there,
Great plugin.
I encountered a problem with using this plugin with Quasar layout.
Here is a sample https://github.com/FerrielMelarpis/repro/pull/2
I'm not sure why the Popper does not get attached properly to the component.

I'm not entirely sure if this is an issue with vue-tour or in Popper.
Would be a great help if someone can help me with this issue.
Thanks!

Hi @FerrielMelarpis,
Mmh interesting... I think it comes from the fact that the sidebar is too narrow, and the plugin has to reposition itself. You could try to increase the width of the sidebar manually using the devtools to see if this is it.
For a quick, dirty and temporary fix you could try to position the step relative to the bottom of your component using:
{
  ...
  params: {
    placement: 'bottom' // or 'top'
  }
}

Also, normally Popper position the steps using position: absolute so I'm also guessing that your sidebar has a relative positioning and that your put the v-tour inside the sidebar.
You can try to put the v-tour outside of it, in your App.vue for example, at the end, so that it will end up somewhere before the closing body tag.

Hmm I think its a Popper.js issue.
I tried other libraries like vue-popperjs which does exactly what the v-step component does, and I found out that the detection of position that Popper.js is somehow wrong?
The computed positioning of the popperNode is absolute on a fixed positioned component like the sidebar that I made. It makes the popper flip when it overflows the dimension of the target element (i.e. sidebar).
Putting v-tour outside to the App.vue will not work for some reason I'm not sure of but if I put it outside the slot component but still inside the q-layout, it works although the computation of the offsets of the popperNode is way off.
Anyway, thanks for your time in helping me investigating this one. I might just override the default v-step component.
<v-tour name="tour" :steps="steps">
  <my-step slot-scope="tour">
   ...

It would be nice to have this library export the components only instead of installing it globally since not the whole app needs the component.

Hi,
You're right, we could take a look at this for the next release.
As for your problem, it really seems to be because the v-tour is inside the sidebar then.
But yes, it's also a problem with Popper because they should not take into account a position: fixed container to absolutely position the step.
Anyway, by overriding the v-step component you could indeed use an other library than Popper (or a custom version of it) to make the step pops where you want.
It's weird though that putting the v-tour in App.vue does not work. It could be because the sidebar is not in the DOM yet (hidden with a v-if maybe?) when the tour starts.
You could try to launch the tour only when the DOM of the sidebar is fully loaded as we use document.querySelector. I'm pretty sure solving this and having the v-tour in App.vue will solve your problem.

Any update on this? I'm still with this issue

Same issue here, but I'm trying to use it in columns not sidebar and behaviour is the same.

I have the same problem and I think that's because one parent has the style
overflow: scroll

No workaround found until now

If someone come across this issue, and as it may be related to Popper v1.x, you can try to update to vue-tour v2.x which uses Popper v2.x.

@mmorainville But the latest official release is v1.6.

@mmorainville But the latest official release is v1.6.

You can find 2.0.0 here : https://github.com/pulsardev/vue-tour/releases/tag/v2.0.0


[Bug][Fix]: file transports log messages out of order

🔎 Search Terms
file transports order
The problem
See initial post in https://github.com/winstonjs/winston/issues/1689 first.
I'm having the same issue as discribed in the issue above, but the workaround mentioned there seems to not be possible anymore since using a single file transport for all winston.createLogger instances now triggers the following warning:
(node:108102) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 unpipe listeners added to [File]. Use emitter.setMaxListeners() to increase limit
    at _addListener (node:events:587:17)
    at File.addListener (node:events:605:10)
    at DerivedLogger.Readable.pipe (/home/hufschmt/Workspace/Exodus/node_modules/readable-stream/lib/_stream_readable.js:631:8)
    at DerivedLogger.add (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:364:10)
    at /home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:124:44
    at Array.forEach (<anonymous>)
    at DerivedLogger.configure (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:124:18)
    at new Logger (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:42:10)
    at new DerivedLogger (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/create-logger.js:44:7)
    at Object.module.exports [as createLogger] (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/create-logger.js:48:18)
    at /home/hufschmt/Workspace/Exodus/src/Util/Logger.ts:79:20
    at Binding.StaffPersonFactory [as factory] (/home/hufschmt/Workspace/Exodus/src/Object/LDAP/StaffPerson/Factory.ts:34:18)
    at /home/hufschmt/Workspace/Exodus/node_modules/inversify/src/resolution/resolver.ts:93:32
    at invokeFactory (/home/hufschmt/Workspace/Exodus/node_modules/inversify/src/resolution/resolver.ts:16:16)
    at /home/hufschmt/Workspace/Exodus/node_modules/inversify/src/resolution/resolver.ts:90:22
(node:108102) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [File]. Use emitter.setMaxListeners() to increase limit
    at _addListener (node:events:587:17)
    at File.prependListener (node:events:619:14)
    at prependListener (/home/hufschmt/Workspace/Exodus/node_modules/readable-stream/lib/_stream_readable.js:98:69)
    at DerivedLogger.Readable.pipe (/home/hufschmt/Workspace/Exodus/node_modules/readable-stream/lib/_stream_readable.js:708:3)
    at DerivedLogger.add (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:364:10)
    at /home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:124:44
    at Array.forEach (<anonymous>)
    at DerivedLogger.configure (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:124:18)
    at new Logger (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:42:10)
    at new DerivedLogger (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/create-logger.js:44:7)
    at Object.module.exports [as createLogger] (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/create-logger.js:48:18)
    at /home/hufschmt/Workspace/Exodus/src/Util/Logger.ts:79:20
    at Binding.StaffPersonFactory [as factory] (/home/hufschmt/Workspace/Exodus/src/Object/LDAP/StaffPerson/Factory.ts:34:18)
    at /home/hufschmt/Workspace/Exodus/node_modules/inversify/src/resolution/resolver.ts:93:32
    at invokeFactory (/home/hufschmt/Workspace/Exodus/node_modules/inversify/src/resolution/resolver.ts:16:16)
(node:108102) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [File]. Use emitter.setMaxListeners() to increase limit
    at _addListener (node:events:587:17)
    at File.addListener (node:events:605:10)
    at DerivedLogger.Readable.pipe (/home/hufschmt/Workspace/Exodus/node_modules/readable-stream/lib/_stream_readable.js:654:8)
    at DerivedLogger.add (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:364:10)
    at /home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:124:44
    at Array.forEach (<anonymous>)
    at DerivedLogger.configure (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:124:18)
    at new Logger (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:42:10)
    at new DerivedLogger (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/create-logger.js:44:7)
    at Object.module.exports [as createLogger] (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/create-logger.js:48:18)
    at /home/hufschmt/Workspace/Exodus/src/Util/Logger.ts:79:20
    at Binding.StudentPersonFactory [as factory] (/home/hufschmt/Workspace/Exodus/src/Object/LDAP/StudentPerson/Factory.ts:34:18)
    at /home/hufschmt/Workspace/Exodus/node_modules/inversify/src/resolution/resolver.ts:93:32
    at invokeFactory (/home/hufschmt/Workspace/Exodus/node_modules/inversify/src/resolution/resolver.ts:16:16)
    at /home/hufschmt/Workspace/Exodus/node_modules/inversify/src/resolution/resolver.ts:90:22
(node:108102) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [File]. Use emitter.setMaxListeners() to increase limit
    at _addListener (node:events:587:17)
    at File.addListener (node:events:605:10)
    at File.once (node:events:649:8)
    at DerivedLogger.Readable.pipe (/home/hufschmt/Workspace/Exodus/node_modules/readable-stream/lib/_stream_readable.js:715:8)
    at DerivedLogger.add (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:364:10)
    at /home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:124:44
    at Array.forEach (<anonymous>)
    at DerivedLogger.configure (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:124:18)
    at new Logger (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:42:10)
    at new DerivedLogger (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/create-logger.js:44:7)
    at Object.module.exports [as createLogger] (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/create-logger.js:48:18)
    at /home/hufschmt/Workspace/Exodus/src/Util/Logger.ts:79:20
    at Binding.StudentPersonFactory [as factory] (/home/hufschmt/Workspace/Exodus/src/Object/LDAP/StudentPerson/Factory.ts:34:18)
    at /home/hufschmt/Workspace/Exodus/node_modules/inversify/src/resolution/resolver.ts:93:32
    at invokeFactory (/home/hufschmt/Workspace/Exodus/node_modules/inversify/src/resolution/resolver.ts:16:16)
(node:108102) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 finish listeners added to [File]. Use emitter.setMaxListeners() to increase limit
    at _addListener (node:events:587:17)
    at File.addListener (node:events:605:10)
    at File.once (node:events:649:8)
    at DerivedLogger.Readable.pipe (/home/hufschmt/Workspace/Exodus/node_modules/readable-stream/lib/_stream_readable.js:723:8)
    at DerivedLogger.add (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:364:10)
    at /home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:124:44
    at Array.forEach (<anonymous>)
    at DerivedLogger.configure (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:124:18)
    at new Logger (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/logger.js:42:10)
    at new DerivedLogger (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/create-logger.js:44:7)
    at Object.module.exports [as createLogger] (/home/hufschmt/Workspace/Exodus/node_modules/winston/lib/winston/create-logger.js:48:18)
    at /home/hufschmt/Workspace/Exodus/src/Util/Logger.ts:79:20
    at Binding.StudentPersonFactory [as factory] (/home/hufschmt/Workspace/Exodus/src/Object/LDAP/StudentPerson/Factory.ts:34:18)
    at /home/hufschmt/Workspace/Exodus/node_modules/inversify/src/resolution/resolver.ts:93:32
    at invokeFactory (/home/hufschmt/Workspace/Exodus/node_modules/inversify/src/resolution/resolver.ts:16:16)

(Note: With --trace-warnings enabled)

More Information
When using different loggers created by winston.createLogger using a new instance of transports.File for each. Each logger instance is injected (via InversifyJS) into service-class instances that uses it for logging and logging is done in async/await'ed methods on those services-classes.
While the console transport logs messages in the correct order, the file transport fumbles the ordering of events, especially for different log-levels.
Example - Console:
[2022-12-02 11:15:45][info]:<enter loop>
[2022-12-02 11:15:45][info]: Fetching LDAP-Person with Matriculation-Number: 007
[2022-12-02 11:15:45][info]: Found LDAP-Person with DN: Matrikelnummer=s007,ou=Students,ou=People,o=My University,c=DE
[2022-12-02 11:15:45][info]: Found matching LDAP-Person with DN: Matrikelnummer=s007,ou=Students,ou=People,o=My University,c=DE
[2022-12-02 11:15:45][info]: Fetching Person-Relation with personId: 007
[2022-12-02 11:15:45][info]: Found Person-Relation matching given uuid with relationId: 007
[2022-12-02 11:15:45][info]: Fetching LDAP-Identity with UUID: 007
[2022-12-02 11:15:49][info]: Found LDAP-Identity with DN: UUID=007,ou=People,ou=Identities,ou=Idm,o=My University,c=DE
[2022-12-02 11:15:49][info]: Fetching 1 LDAP-Persons for given linkDNs
[2022-12-02 11:15:49][info]: Fetching LDAP-Person with linkDN: Matrikelnummer=007,ou=Students,ou=People,o=My University,c=DE
[2022-12-02 11:15:49][info]: Found canonical address<EMAIL_ADDRESS>[Email]; <NONE> [Phone]; <NONE>, <NONE>, <NONE> [Post]
[2022-12-02 11:15:49][info]: Fetching Electronic-Addresses for HIS-Person with personId: 007
[2022-12-02 11:15:49][info]: Fetching Post-Addresses for HIS-Person with personId: 007
[2022-12-02 11:15:49][info]: Found 1 Email-Addresses, 0 Phone-Numbers & 1 Post-Addresses
[2022-12-02 11:15:49][info]: Managing Email-Address<EMAIL_ADDRESS>for HIS-Person with personId: 007
[2022-12-02 11:15:49][info]: Working with existing Email-Address: [007]<EMAIL_ADDRESS>[STU, STUALL, RZK, DOK, RZ, DOKALL]
[2022-12-02 11:15:49][info]: Found 1 existing matching canonical Email-Address(es) having category RZ, selecting one with addressId: 007
[2022-12-02 11:15:49][info]: <exit loop>
[2022-12-02 11:15:49][info]: <enter loop>
[2022-12-02 11:15:49][info]: Fetching LDAP-Person with Matriculation-Number: 008
[2022-12-02 11:15:49][error]: Trying to manage Addressses for studentId 008, got exception: Could not find any result for DN ou=People,o=My University,c=DE (Filter: (&(objectClass=Student)(Matrikelnummer=s008)), Scope: sub)
[2022-12-02 11:15:49][info]: <exit loop>

Example - File:
[2022-12-02 11:25:11][info]: <enter loop>
[2022-12-02 11:25:11][info]: Fetching LDAP-Person with Matriculation-Number: 007
[2022-12-02 11:25:11][info]: Found LDAP-Person with DN: Matrikelnummer=s007,ou=Students,ou=People,o=My University,c=DE
[2022-12-02 11:25:11][info]: Found matching LDAP-Person with DN: UniMrMatrikelnummer=s007,ou=Students,ou=People,o=My University,c=DE
[2022-12-02 11:25:11][info]: Fetching Person-Relation with personId: 007
[2022-12-02 11:25:11][info]: Found Person-Relation matching given uuid with relationId: 007
[2022-12-02 11:25:11][info]: Fetching LDAP-Identity with UUID: 007
[2022-12-02 11:25:12][info]: Found LDAP-Identity with DN: UUID=007,ou=People,ou=Identities,ou=Idm,o=My University,c=DE
[2022-12-02 11:25:12][info]: Fetching 1 LDAP-Persons for given linkDNs
[2022-12-02 11:25:12][info]: Fetching LDAP-Person with linkDN: UniMrMatrikelnummer=s007,ou=Students,ou=People,o=My University,c=DE
[2022-12-02 11:25:12][info]: Found canonical address<EMAIL_ADDRESS>[Email]; <NONE> [Phone]; <NONE>, <NONE>, <NONE> [Post]
[2022-12-02 11:25:12][info]: Fetching Electronic-Addresses for HIS-Person with personId: 007
[2022-12-02 11:25:12][info]: Fetching Post-Addresses for HIS-Person with personId: 007
[2022-12-02 11:25:12][info]: Found 1 Email-Addresses, 0 Phone-Numbers & 1 Post-Addresses
[2022-12-02 11:25:12][info]: Managing Email-Address<EMAIL_ADDRESS>for HIS-Person with personId: 007
[2022-12-02 11:25:12][info]: <exit loop>
[2022-12-02 11:25:12][info]: Fetching LDAP-Person with Matriculation-Number: 008
[2022-12-02 11:25:12][info]: Working with existing Email-Address: [007]<EMAIL_ADDRESS>[STU, STUALL, RZK, DOK, RZ, DOKALL]
[2022-12-02 11:25:12][info]: Found 1 existing matching canonical Email-Address(es) having category RZ, selecting one with addressId: 007
[2022-12-02 11:25:12][info]: <enter loop>
[2022-12-02 11:25:12][error]: Trying to manage Addressses for studentId 008, got exception: Could not find any result for DN ou=People,o=My University,c=DE (Filter: (&(objectClass=Student)(Matrikelnummer=s008)), Scope: sub)
[2022-12-02 11:25:12][info]: <exit loop>

As can be seen the output between the second <exit loop> and <enter loop>  loop is jumbled in the file output, but is ok in the console output, so this is not caused by a missing async -> await in my code.
What version of Winston presents the issue?
v3.8.2
What version of Node are you using?
v16.18.0
If this worked in a previous version of Winston, which was it?
No response
Minimum Working Example
No response
Additional information
No response

I managed to fix the warning by setMaxListeners(30) on the single-use transport I created, eg.:
fileTransport = new winston.transports.File({
  format: winston.format.printf((info: any) => {
    return `[${info.timestamp}][${info.level}]: ${info.message}`;
  }),
  filename: 'example.log',
});
fileTransport.setMaxListeners(30);

const getLogger = (class: string) => {
  winston.createLogger({
    transports: [fileTransport],
  });
};

Although I think the "clean" solution would be to add
this.setMaxListeners(30);
to https://github.com/winstonjs/winston-transport/blob/master/index.js#L30

Using a single transport did now indead also fix the ordering issue. Although having had a deeper look under the hood I think I'll move to Pino instead as I don't need any of that fancy rotation logic.

Thanks for your posts!
The warning about the number of listeners is just a warning, not an error, and the magic number that will silence the warning seems likely to vary between usage contexts.  Setting the max listeners is also a bit like pushing the hush button on a smoke alarm while cooking- it's saying "I don't need to hear about this as an issue" without actually changing the reality of the suspended particle concentration (or in this case, number of listeners).  For fixing it in an individual project, the workaround above seems fine; for fixing it more generally I think this is a duplicate of #1791.

(Would be nice if there were a more explicit "closed as duplicate" reason in GitHub!)


SdlProxyBase doesn't update DisplayCapabilities on SetDisplayLayoutResponse

Mike: SdlProxyBase keeps a global variable containing the display capabilities for the head-unit.  This global variable is only set on register app interface - it isn't updated when the layout changes.  When the layout changes, size of images, number of text fields, etc may change, so the global variable should be updated to reflect these changes.

Thats a good catch, we actually need to update the proxy objects displayCapabilities, buttonCapabilities and presetBankCapabilities when a successful setDisplayLayout change occurs.


Add support for clojure

Thanks for the great project!
This PR proposes to add support for clojure.
https://github.com/protojure/protoc-plugin

Hello @ido-namely ,
Would it be possible for anyone from the team to take a look at this PR :)
I'm looking forward to using this in a downstream project of mine.

Just a quick update, I've resolve the merge conflicts.

Hello @ido-namely , not sure if something pending for this PR. Please let me know 👍

@abhi18av et al – please refresh this PR and I'll look at it anew. Thanks!

Hi @jcburley ,
I've refreshed the PR - thanks for taking a look into it :)

@abhi18av – it LGTM, but I forgot to ask for tests to be added!
Also, please review the Codacy complaint about CLOJURE_PROTOC_PLUGIN_VERSION being unused – I'm not sure what that's about offhand.
Will see whether the current CI passes; I kicked it off only a few moments ago.


Timelapse files are corrupt - segmentation fault during avconv

MP4 files are being produced at the end of the night, but the files won't play on any device. Omxplayer just gives the "have a nice day" message. Running timelapse.sh manually, I see the following type of failure during the avconv, and a presumably partial MP4 is created. Thoughts?
./scripts/timelapse.sh: line 29:  6502 Segmentation fault      avconv -y -f image2 -r 25 -i images/$1/%04d.$EXTENSION -vcodec libx264 -b:v 2000k -pix_fmt yuv420p images/$1/allsky-$1.mp4
Last few lines of the console output:
...
`mv: 'images/20180805/1965.jpg' and 'images/20180805/1965.jpg' are the same file
'images/20180805/startrails.jpg' -> 'images/20180805/1966.jpg'
ffmpeg version 3.2.10-1~deb9u1+rpt1 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 6.3.0 (Raspbian 6.3.0-18+rpi1) 20170516
configuration: --prefix=/usr --extra-version='1~deb9u1+rpt1' --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx-rpi --enable-mmal --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil      55. 34.101 / 55. 34.101
libavcodec     57. 64.101 / 57. 64.101
libavformat    57. 56.101 / 57. 56.101
libavdevice    57.  1.100 / 57.  1.100
libavfilter     6. 65.100 /  6. 65.100
libavresample   3.  1.  0 /  3.  1.  0
libswscale      4.  2.100 /  4.  2.100
libswresample   2.  3.100 /  2.  3.100
libpostproc    54.  1.100 / 54.  1.100
Input #0, image2, from 'images/20180805/%04d.jpg':
Duration: 00:01:18.64, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 1936x1096 [SAR 1:1 DAR 242:137], 25 fps, 25 tbr, 25 tbn, 25 tbc
[swscaler @ 0xeabe80] deprecated pixel format used, make sure you did set range correctly
[libx264 @ 0xea1a10] using SAR=1/1
[libx264 @ 0xea1a10] using cpu capabilities: ARMv6 NEON
[libx264 @ 0xea1a10] profile High, level 4.2
[libx264 @ 0xea1a10] 264 - core 148 r2748 97eaef2 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=2000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'images/20180805/allsky-20180805.mp4':
Metadata:
encoder         : Lavf57.56.101
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1936x1096 [SAR 1:1 DAR 242:137], q=-1--1, 2000 kb/s, 25 fps, 12800 tbn, 25 tbc
Metadata:
encoder         : Lavc57.64.101 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/2000000 buffer size: 0 vbv_delay: -1
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
Press [q] to stop, [?] for help
frame=   53 fps=1.7 q=39.0 size=     169kB time=00:00:00.00 bitrate=17748000.0kbits/s speed=2.5frame=   54 fps=1.7 q=37.0 size=     175kB time=00:00:00.04 bitrate=35821.3kbits/s speed=0.0012frame=   56 fps=1.7 q=45.0 size=     190kB time=00:00:00.12 bitrate=12988.7kbits/s speed=0.0036frame=   58 fps=1.7 q=43.0 size=     205kB time=00:00:00.20 bitrate=8389.6kbits/s speed=0.00592frame=   59 fps=1.7 q=44.0 size=     222kB time=00:00:00.24 bitrate=7573.0kbits/s speed=0.00694frame=   60 fps=1.7 q=43.0 size=     225kB time=00:00:00.28 bitrate=6578.1kbits/s speed=0.00797frame=   62 fps=1.7 q=44.0 size=     229kB time=00:00:00.36 bitrate=5213.6kbits/s speed=0.0101xframe=   64 fps=1.8 q=40.0 size=     233kB time=00:00:00.44 bitrate=4337.4kbits/s speed=0.0122xframe=   66 fps=1.8 q=42.0 size=     238kB time=00:00:00.52 bitrate=3750.1kbits/s speed=0.0142x
./scripts/timelapse.sh: line 29:  6502 Segmentation fault      avconv -y -f image2 -r 25 -i images/$1/%04d.$EXTENSION -vcodec libx264 -b:v 2000k -pix_fmt yuv420p images/$1/allsky-$1.mp4

Timelapse was created
pi@allsky:~/allsky $
`

I think this may be the issue:
'images/20180805/startrails.jpg' -> 'images/20180805/1966.jpg'

It is including the startrails image into the video. I'm not sure that's the issue but can you try moving the startrails.jpg file somewhere else and regenerate the video?

Thanks Thomas -- good catch! With that file removed, I still get corrupt MP4s though. Running timelapse.sh manually on the same images as above, it gets some way into the process, but drops out on frame 317 with Illegal Instruction. I'm looking to see if there is an update to avconv, perhaps that can help.
...
`frame=  315 fps=1.2 q=33.0 size=    2451kB time=00:00:10.48 bitrate=1916.2kbits/frame=  317 fps=1.2 q=33.0 size=    2480kB time=00:00:10.56 bitrate=1923.6kbits/./timelapse.sh: line 29:  7493 Illegal instruction     avconv -y -f image2 -r 25 -i images/$1/%04d.$EXTENSION -vcodec libx264 -b:v 2000k -pix_fmt yuv420p images/$1/allsky-$1.mp4

Timelapse was created
pi@allsky:~/allsky/scripts $
`

It's not always that frame -- re-running results in failures at different frames. Sometimes the error is illegal instruction, and sometimes segmentation fault.
Camera is ZWO ASI290MM-mini, so 1936 × 1096 pixels. Files are 700-900kB or so. If those are too big, do you know a good way to downsize the files as a batch, or is it possible to alter the parameters being passed to avconv? The man page for the latter is a little overwhelming...

The first thing you could do is to run the top command while the timelapse is generating and watch the memory usage. That may help to see if it's failing because of memory limits.
To reduce the files on the fly (overwrite them) you can use the mogrify function of image magick.
https://www.imagemagick.org/script/mogrify.php
in scripts/timelapse.sh, on line 24, you can add something like that:
magick mogrify -resize 50% images/$1/*.$EXTENSION
I haven't tested it but it should resize your images to 50% of their width and height (4 times smaller) before trying to run them in avconv. You can of course use a different percentage.

Thanks so much Thomas -- very helpful! Well guess what, bizarrely, after another run remotely (I've been operating both remotely and locally through all previous attempts with the same results), with a manual ./scripts/timelapse in one PuTTY window, and top in another, and after a new error I've not seen before, IT IS NOW WORKING with no errors at all!
Top is reporting bouncing around 30kB mid-run. And steady. After never seeing it get through more than a few 10s of frames, and once maybe 150, I'm now seeing full runs through ~2000 frames of full-size 2Mpx images from the ASI290MM-mini. Great! Thanks again! Not sure what we can put this down to... I'll report back if it reoccurs.
Example result: https://1drv.ms/v/s!Av6xS2tSviSBicxVXkRBqG64eaYHDQ


How to obtain Keycloak roles

Hi, I am planning to replace the react-keycloak/web with react-oidc-context
My app uses Keycloak.
It would be interesting to get the roles inside a JWT, so that we can make some controls in the UI (for instance, if the user is an admin, shows this menu).
With react-keycloak/web we could use something like:
keycloak.tokenParsed.resource_access['movies-app'].roles.includes('MOVIES_MANAGER')

Note: a sample of Keycloak JWT is show in the end.

However, with react-oidc-context, I've been checking the auth.user.profile but the resource_access is not there. It's understandable, considering react-oidc-context is supposed to support many OIDC tools.
Anyway, do you know how could I try to obtain the roles inside a JWT generated by Keycloak?
Best regards,

One example of Keycloak JWT Token
{
  "exp":<PHONE_NUMBER>,
  "iat":<PHONE_NUMBER>,
  "auth_time":<PHONE_NUMBER>,
  "jti": "90be05cd-1bcc-49d5-a7e4-0db88ab17555",
  "iss": "http://localhost:9080/realms/my-realm",
  "aud": "account",
  "sub": "8931b3ec-e678-4b27-8591-6b02c5a5063d",
  "typ": "Bearer",
  "azp": "my-todo-list",
  "session_state": "ebdac0a7-e659-47d7-91b1-7ebdc613a4d0",
  "acr": "1",
  "allowed-origins": [
    "http://localhost:3000"
  ],
  "realm_access": {
    "roles": [
      "offline_access",
      "uma_authorization",
      "default-roles-my-realm"
    ]
  },
  "resource_access": {
    "my-todo-list": {
      "roles": [
        "MY-TODO-LIST-USER"
      ]
    },
    "account": {
      "roles": [
        "manage-account",
        "manage-account-links",
        "view-profile"
      ]
    }
  },
  "scope": "openid email profile",
  "sid": "ebdac0a7-e659-47d7-91b1-7ebdc613a4d0",
  "email_verified": true,
  "preferred_username": "app-user",
  "given_name": "",
  "family_name": ""
}

Maybe you need to specify resource in oidc settings?

Hi @pamapa . Thanks for answering. I've tried to add the resource in my oidc config:
const oidcConfig = {
  authority: "http://localhost:9080/realms/my-realm",
  client_id: "my-todo-list",
  redirect_uri: "http://localhost:3000",
  resource: "my-todo-list",
  onSigninCallback: () => {
    window.history.replaceState(
      {},
      document.title,
      window.location.pathname
    )
  }
}

However, I still do not see where I can access the roles

In order to find out, you will need to log the network request/response of the working library and this library and see where the difference is coming from. Looks like it needs something more, maybe an additional scope or so...

It looks like by default Keycloak includes roles in the access token but not the ID token and this library uses the ID token to generate the profile. You can map roles to a claim in the ID token by adding a mapping to the dedicated scope for your client. Add the client roles predefined mapper and then modify it like so.

Hi @mattwcole Yes, your suggestion worked! Thanks!

Would be cool if you make a pull request to improve the documentation here.

It looks like by default Keycloak includes roles in the access token but not the ID token and this library uses the ID token to generate the profile. You can map roles to a claim in the ID token by adding a mapping to the dedicated scope for your client. Add the client roles predefined mapper and then modify it like so.

@mattwcole I can't find this setting in the current keycloak 23 version. Do you now where I can find it now?
Is there further a possibility to add the realm roles to the profile ?
My access token looks this way:
{
  "exp":<PHONE_NUMBER>,
  "iat":<PHONE_NUMBER>,
  "auth_time":<PHONE_NUMBER>,
  "jti": "5bbd52ea-f3d3-4034-83d7-fddf476c42e8",
  "iss": "http://localhost:8888/realms/test-realm",
  "aud": "account",
  "sub": "e180ffa1-520e-4609-a6e6-f79f93dd5a03",
  "typ": "Bearer",
  "azp": "ember-web",
  "session_state": "55d2f901-74f4-42b9-821e-2cdb8b83dec6",
  "acr": "1",
  "allowed-origins": [
    "http://localhost:3000"
  ],
  "realm_access": {
    "roles": [
      "offline_access",
      "uma_authorization",
      "default-roles-test-realm"
    ]
  },
  "resource_access": {
    "ember-web": {
      "roles": [
        "SOME_THING"
      ]
    },
    "account": {
      "roles": [
        "manage-account",
        "manage-account-links",
        "view-profile"
      ]
    }
  },
  "scope": "openid email profile",
  "sid": "55d2f901-74f4-42b9-821e-2cdb8b83dec6",
  "email_verified": true,
  "preferred_username": "myUser",
  "email"<EMAIL_ADDRESS>}

I know I could somehow parse the access_token an extract the roles by my own, but isn't there a prettiert solution?

have the same problem. since i needed realm_access roles as well as custom claim.
everything is included in the access_token in my case, but oas mentioned by others react-oidc-context useAuth hook will just return standart IdTokenClaims.
as a workaround i wrote a custom hook (see end of post)
🤨 my parsed access token i retrieve from keycloak including realm_access roles and a custom claim called store:
{
  "exp":<PHONE_NUMBER>,
  "iat":<PHONE_NUMBER>,
  "auth_time":<PHONE_NUMBER>,
  "jti": "9e982c2d-18f5-40a9-a5e6-960a7224ccfb",
  "iss": "http://localhost:8180/realms/demo",
  "sub": "cd8da179-2c19-4cf0-aa49-1683a5cf70bf",
  "typ": "Bearer",
  "azp": "webapp",
  "session_state": "a50e7111-24c8-4d90-943c-66466efbe939",
  "acr": "1",
  "allowed-origins": [
    "http://localhost:5173"
  ],
  "realm_access": {
    "roles": [
      "employee"
    ]
  },
  "scope": "openid profile email",
  "sid": "a50e7111-24c8-4d90-943c-66466efbe939",
  "email_verified": false,
  "name": "Elton John",
  "store": [
    "abc"
  ],
  "preferred_username": "elton",
  "given_name": "Elton",
  "family_name": "John",
  "email"<EMAIL_ADDRESS>}

😕 what react-oidc-context gives me,
when running:
const auth = useAuth();
console.log("user:", auth.user?.profile);

result missing roles and custom claim store:
{
    "exp":<PHONE_NUMBER>,
    "iat":<PHONE_NUMBER>,
    "iss": "http://localhost:8180/realms/demo-shop",
    "aud": "webapp",
    "sub": "c6dabac0-86bd-4e6a-b6c0-48241a2a4da8",
    "typ": "ID",
    "session_state": "aba63713-ca8d-4af5-9802-c5beff9bad88",
    "sid": "aba63713-ca8d-4af5-9802-c5beff9bad88",
    "email_verified": true,
    "name": "Carl Klammer",
    "preferred_username": "carl",
    "given_name": "Carl",
    "family_name": "Klammer",
    "email"<EMAIL_ADDRESS>}

as a workaround i came with writing a custom hook that parses the access_token and give me a user object as i need.
🧐 custom hook:
import {useAuth} from "react-oidc-context";
import {jwtDecode} from "jwt-decode";

type CustomTokenPayload = {
    name: string;
    preferred_username: string;
    given_name: string;
    family_name: string;
    email: string;
    store: string[]; // This is an optional custom claim, some users will have it, some not...
    realm_access: {
        roles: string[];
    };
}

type TokenBaseDetails = Omit<CustomTokenPayload, 'realm_access'>;

type TokenRoles = {
    roles: string[];
}

type TokenDetails = TokenBaseDetails & TokenRoles;

export const useUser = (): TokenDetails | null => {
    const auth = useAuth();

    if (auth.isAuthenticated && auth.user?.access_token) {
        try {
            const decoded = jwtDecode<CustomTokenPayload>(auth.user.access_token);
            return {
                ...decoded,
                roles: decoded.realm_access.roles,
            };
        } catch (error) {
            console.error("Token parsing error:", error);
            return null;
        }
    }

    return null;
};

🙂 usage:
const user = useUser();
console.log("User:", user);

🥳
result for user not having custom claim store:
{
    "exp":<PHONE_NUMBER>,
    "iat":<PHONE_NUMBER>,
    "auth_time":<PHONE_NUMBER>,
    "jti": "74acc35a-91c3-4b9d-8386-a6765713ca3a",
    "iss": "http://localhost:8180/realms/demo",
    "sub": "c6dabac0-86bd-4e6a-b6c0-48241a2a4da8",
    "typ": "Bearer",
    "azp": "webapp",
    "session_state": "aba63713-ca8d-4af5-9802-c5beff9bad88",
    "acr": "1",
    "allowed-origins": [
        "http://localhost:5173"
    ],
    "realm_access": {
        "roles": [
            "customer"
        ]
    },
    "scope": "openid profile email",
    "sid": "aba63713-ca8d-4af5-9802-c5beff9bad88",
    "email_verified": true,
    "name": "Carl Klammer",
    "preferred_username": "carl",
    "given_name": "Carl",
    "family_name": "Klammer",
    "email"<EMAIL_ADDRESS>    "roles": [
        "customer"
    ]
}

result for user having custom claim store:
{
    "exp":<PHONE_NUMBER>,
    "iat":<PHONE_NUMBER>,
    "auth_time":<PHONE_NUMBER>,
    "jti": "82b8d2da-470e-4d45-9b44-1c3de5e7d0bb",
    "iss": "http://localhost:8180/realms/demo",
    "sub": "cd8da179-2c19-4cf0-aa49-1683a5cf70bf",
    "typ": "Bearer",
    "azp": "webapp",
    "session_state": "975d96e8-8b8e-4ca4-8f77-75b6ca2b18ea",
    "acr": "1",
    "allowed-origins": [
        "http://localhost:5173",
    ],
    "realm_access": {
        "roles": [
            "employee"
        ]
    },
    "scope": "openid profile email",
    "sid": "975d96e8-8b8e-4ca4-8f77-75b6ca2b18ea",
    "email_verified": false,
    "name": "Elton John",
    "store": [
        "abc"
    ],
    "preferred_username": "elton",
    "given_name": "Elton",
    "family_name": "John",
    "email"<EMAIL_ADDRESS>    "roles": [
        "employee"
    ]
}

🤞 Maybe it will help someone


version 2.4 breaking IE8 compatibility

Version
2.4.0
Test Case
http://jsbin.com/fatabufupe/1/edit (jsbin doesn't work in IE8 :)
Steps to reproduce
import { Router } from 'react-router';
just importing<EMAIL_ADDRESS>breaks IE8 compatibility
Expected Behavior
should work as v2.3.0
Actual Behavior
it throws an error "throw TypeError("Accessors not supported!");"

Bable config
{
  "presets": ["react", "stage-1", "es2015-loose-native-modules", "es2015-loose" ],
  "env": {
    "development": {
      "plugins": [
        "transform-es3-property-literals",
        "transform-es3-member-expression-literals",
        "transform-object-rest-spread"
      ]
    }
  }
}

It should be noted that, per the README:

Browser Support
We support all browsers and environments where React runs.

and that React no longer supports IE8: https://facebook.github.io/react/blog/2016/01/12/discontinuing-ie8-support.html

Thank Aweary, we are using react version 0.14.7, which does support IE8,
If react router has dropped support for IE8 from version 2.4 then it should have stated that in the release notes

This isn't intentional. We're probably missing some ES3 transforms.

by the way I am just trying out hello world example and it still breaks with v2.4. I compared my .bablerc with react-router's and only difference I can see is that I am not using "add-module-exports" even adding that doesn't resolve it.
@taion any ideas which ES3 transformer I might be missing
react-router .bablerc
{
  "presets": ["react"],
  "plugins": ["dev-expression"],

  "env": {
    "cjs": {
      "presets": ["es2015-loose", "stage-1"],
      "plugins": ["add-module-exports"]
    },
    "es": {
      "presets": ["es2015-loose-native-modules", "stage-1"]
    }
  }
}

No, I mean the babelrc here is probably missing es3 transforms.

Actually, it's a Babel bug: https://phabricator.babeljs.io/T7322

Good find @timdorr, bug report says that adding add-module-exports fixes it however react-router .bablerc has got it already as you can see, and I also added it my project but it didn't fix the issue. so wondering now what could be the problem, can please someone else confirm if they are having issues with RRv2.4 and IE8?

That fixes an issue with Babel 6's default exports and CommonJS usage. It doesn't fix anything with IE8.
The issue is coming from our generated code. You can see it in the UMD build<EMAIL_ADDRESS>Those Object.defineProperty's with the getters at the top are the problem, as getters aren't polyfillable and aren't supported in IE8.

I get it now, so we wait for bable to fix its bug? for Us I think we will stay at ver v2.3 until this has been resolved.

If you pull the source straight from github, you can transform with whatever version of Babel works best for you (which would be <6.0 in this case).

Ah why I didn't think of that :) that is best for now thanks @timdorr

Well, if it's a Babel bug, there's nothing we can really do here.

@timdorr I tried babel v5.8.38 and tried to compile react-router from source from but it didn't work, still  getting some strange issues, IE8 debugging is nightmare :( have you tried it yourself? that will prove if its latest babel v6+ bug.

Yes, it's 6.0.0. Here's where it was added: https://github.com/babel/babel/blame/master/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js#L17-L24
I haven't tried building from source for IE8. Make sure you're not using npm to grab the source from Github. You'll need to include it as a submodule or fork the code to make it work, I believe.

This is caused by using export from like ```export Router from './Router'``. This gets transformed into a getter to mimic the spec behaviour, but this does not work in IE8.
The solution would be to import and export separately:
import _Router from './Router'
export const Router = _Router;

Feel free to make a PR to add the appropriate ES3 transforms.


wasm-opt fails during linux builds

🐛 Bug description
When running wasm-pack build the command does not finish on linux systems. The error message (sample taken from github actions) is
[INFO]: Installing wasm-bindgen...
[INFO]: Optimizing wasm binaries with `wasm-opt`...
Error: failed to execute `wasm-opt`: exited with signal: 11
  full command: "/home/runner/.cache/.wasm-pack/wasm-opt-4d7a65327e9363b7/wasm-opt" "/home/runner/work/connect-four-webai/connect-four-webai/pkg/connect_four_bg.wasm" "-o" "/home/runner/work/connect-four-webai/connect-four-webai/pkg/connect_four_bg.wasm-opt.wasm" "-O"
To disable `wasm-opt`, add `wasm-opt = false` to your package metadata in your `Cargo.toml`.

When attaching the debug flag '-d' to wasm-opt the debut output is
(...)
[PassRunner]   running pass: dae-optimizing...                 0.0730599 seconds.
[PassRunner]   (validating)
[PassRunner]   running pass: inlining-optimizing...            Error: failed to execute `wasm-opt`: exited with signal: 11
  full command: "/home/ht/.cache/.wasm-pack/wasm-opt-4d7a65327e9363b7/wasm-opt" "/mnt/c/Users/HT/CLionProjects/connect-four-node/pkg/connect_four_bg.wasm" "-o" "/mnt/c/Users/HT/CLionProjects/connect-four-node/pkg/connect_four_bg.wasm-opt.wasm" "-O" "--debug" "--enable-mutable-globals"
To disable `wasm-opt`, add `wasm-opt = false` to your package metadata in your `Cargo.toml`.

The behavior is independent of the used optimization level and only occurs on linux (tested on Ubuntu 20.04.1 LTS).
Builds on Windows work fine.
🤔 Expected Behavior
The behavior on Linux and Windows should be the same and without an error.
👟 Steps to reproduce
The issue seems to only occur with one specific method accessing an array of Options. The minimum code to reproduce is given here:
test.rs:
use wasm_bindgen::prelude::*;

pub const BOARD_WIDTH: usize = 7;
pub const BOARD_HEIGHT: usize = 6;

#[wasm_bindgen]
pub struct GameBoard {
    fields: [[Option<FieldType>; BOARD_HEIGHT]; BOARD_WIDTH],
}

#[wasm_bindgen]
impl GameBoard {

    pub fn empty_fields(&self) -> u8 {
        let mut empty = 0;

        for x in 0..7 {
            for y in 0..6 {
                if self.fields[x][y] == None {
                    empty = empty + 1;
                }
            }
        }
        return empty;
    }
}

#[wasm_bindgen]
#[derive(Copy, Clone, Eq, PartialEq, Debug)]
pub enum FieldType {
    Opponent,
    Player
}

The error only occurs when an option is used. When using an array with just the "raw" FieldType the code runs just fine.
🌍 Your environment
Include the relevant details of your environment.
wasm-pack version: 0.9.1
rustc version: Tested with rustc 1.50.0 (cb75ad5db 2021-02-10) and rustc 1.53.0-nightly (07e0e2ec2 2021-03-24)
on x86_64-unknown-linux-gnu

I also seem to get this error when using serde to serialize an Option<Vec<T>>

Reinstalling wasm-pack did the trick for me:
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh


Broken link in bug report template

The link "diagnose documentation" to https://docs.pipenv.org/diagnose/ is not working.
Found in .github/ISSUE_TEMPLATE/Bug_report.md
The doc seems to exist in docs/diagnose.rst

thanks for the report and the pr!

Closed via #3728


gcc unrecognized command when installing on Civo Cloud

Describe the bug
Cannot install Falco in Civo Cloud on a Kubernetss 1.27.1 cluster
In a new Kubernetes cluster running on Civo I installed Falco Helm chart 3.5.0
Falco cannot be installed, I get the following logs:
k logs falco-82fjx -n falco -c falco-driver-loader
* Setting up /usr/src links from host
* Running falco-driver-loader for: falco version=0.35.1, driver version=5.0.1+driver, arch=x86_64, kernel release=6.1.28-2-virt, kernel version=3
* Running falco-driver-loader with: driver=module, compile=yes, download=yes

================ Cleaning phase ================

* 1. Check if kernel module 'falco' is still loaded:
- OK! There is no 'falco' module loaded.

* 2. Check all versions of kernel module 'falco' in dkms:
- OK! There are no 'falco' module versions in dkms.

[SUCCESS] Cleaning phase correctly terminated.

================ Cleaning phase ================

* Looking for a falco module locally (kernel 6.1.28-2-virt)
* Filename 'falco_alpine_6.1.28-2-virt_3.ko' is composed of:
 - driver name: falco
 - target identifier: alpine
 - kernel release: 6.1.28-2-virt
 - kernel version: 3
* Trying to download a prebuilt falco module from https://download.falco.org/driver/5.0.1%2Bdriver/x86_64/falco_alpine_6.1.28-2-virt_3.ko
curl: (22) The requested URL returned error: 404
Unable to find a prebuilt falco module
install: /usr/lib/gcc/x86_64-linux-gnu/5/
* Trying to dkms install falco module with GCC /usr/bin/gcc
DIRECTIVE: MAKE="'/tmp/falco-dkms-make'"

Creating symlink /var/lib/dkms/falco/5.0.1+driver/source ->
                 /usr/src/falco-5.0.1+driver

DKMS: add completed.

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
'/tmp/falco-dkms-make'...(bad exit status: 2)
* Running dkms build failed, dumping /var/lib/dkms/falco/5.0.1+driver/build/make.log (with GCC /usr/bin/gcc)
DKMS make.log for falco-5.0.1+driver for kernel 6.1.28-2-virt (x86_64)
Mon Aug 21 09:36:41 UTC 2023
'/tmp/falco-dkms-make' -C /lib/modules/6.1.28-2-virt/build M=/var/lib/dkms/falco/5.0.1+driver/build modules
make[1]: Entering directory '/host/usr/src/linux-headers-6.1.28-2-virt'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (Alpine 12.2.1_git20220924-r10) 12.2.1 20220924
  You are using:           gcc (Debian 5.5.0-12) 5.5.0 20171010
  CC [M]  /var/lib/dkms/falco/5.0.1+driver/build/main.o
gcc: error: unrecognized command line option '-ftrivial-auto-var-init=zero'
gcc: error: unrecognized command line option '-fzero-call-used-regs=used-gpr'
gcc: error: unrecognized command line option '-Wimplicit-fallthrough=5'
make[2]: *** [scripts/Makefile.build:250: /var/lib/dkms/falco/5.0.1+driver/build/main.o] Error 1
make[1]: *** [Makefile:2012: /var/lib/dkms/falco/5.0.1+driver/build] Error 2
make[1]: Leaving directory '/host/usr/src/linux-headers-6.1.28-2-virt'
make: *** [Makefile:16: all] Error 2
install: /usr/lib/gcc/x86_64-linux-gnu/5/

Falco version:
0.35.1
Cloud provider or hardware configuration:
Kubernetes 1.27.1 on Civo Cloud
Installation method:
Helm (chart version 3.5.0)

thank you for reporting this! Unfortunately, this is a known issue and we are working to fix it https://github.com/falcosecurity/falco/pull/2718
In the meanwhile, you could try the modern bpf, it is already shipped within Falco so you don't need to build anything!

This should now be fixed in latest Falco 0.36.0!

Falco 0.36 should solve this issue, I will close it. Feel free to reopen if this is not solved :)!

I've installed falco helm 3.7.1 (falco 0.36.0) but still getting the same issue:
k logs falco-v7hzh -n falco -c falco-driver-loader
* Setting up /usr/src links from host
* Running falco-driver-loader for: falco version=0.36.0, driver version=6.0.1+driver, arch=x86_64, kernel release=6.1.28-2-virt, kernel version=3
* Running falco-driver-loader with: driver=module, compile=yes, download=yes

================ Cleaning phase ================

* 1. Check if kernel module 'falco' is still loaded:
- OK! There is no 'falco' module loaded.

* 2. Check all versions of kernel module 'falco' in dkms:
- OK! There are no 'falco' module versions in dkms.

[SUCCESS] Cleaning phase correctly terminated.

================ Cleaning phase ================

* Looking for a falco module locally (kernel 6.1.28-2-virt)
* Filename 'falco_alpine_6.1.28-2-virt_3.ko' is composed of:
 - driver name: falco
 - target identifier: alpine
 - kernel release: 6.1.28-2-virt
 - kernel version: 3
* Trying to download a prebuilt falco module from https://download.falco.org/driver/6.0.1%2Bdriver/x86_64/falco_alpine_6.1.28-2-virt_3.ko
curl: (22) The requested URL returned error: 404
Unable to find a prebuilt falco module
install: /usr/lib/gcc/x86_64-linux-gnu/12/
* Trying to dkms install falco module with GCC /usr/bin/gcc
Sign command: /lib/modules/6.1.28-2-virt/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
Certificate or key are missing, generating self signed certificate for MOK...
DIRECTIVE: MAKE="'/tmp/falco-dkms-make'"
Creating symlink /var/lib/dkms/falco/6.0.1+driver/source -> /usr/src/falco-6.0.1+driver

Building module:
Cleaning build area...
'/tmp/falco-dkms-make'...(bad exit status: 2)
* Running dkms build failed, dumping /var/lib/dkms/falco/6.0.1+driver/build/make.log (with GCC /usr/bin/gcc)
DKMS make.log for falco-6.0.1+driver for kernel 6.1.28-2-virt (x86_64)
Wed Oct  4 15:42:33 UTC 2023
'/tmp/falco-dkms-make' -C /lib/modules/6.1.28-2-virt/build M=/var/lib/dkms/falco/6.0.1+driver/build modules
make[1]: Entering directory '/host/usr/src/linux-headers-6.1.28-2-virt'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (Alpine 12.2.1_git20220924-r10) 12.2.1 20220924
  You are using:           gcc (Debian 12.2.0-14) 12.2.0
  CC [M]  /var/lib/dkms/falco/6.0.1+driver/build/main.o
cc1: error: cannot load plugin ./scripts/gcc-plugins/stackleak_plugin.so: libc.musl-x86_64.so.1: cannot open shared object file: No such file or directory
cc1: error: cannot load plugin ./scripts/gcc-plugins/latent_entropy_plugin.so: libc.musl-x86_64.so.1: cannot open shared object file: No such file or directory
make[2]: *** [scripts/Makefile.build:250: /var/lib/dkms/falco/6.0.1+driver/build/main.o] Error 1
make[1]: *** [Makefile:2012: /var/lib/dkms/falco/6.0.1+driver/build] Error 2
make[1]: Leaving directory '/host/usr/src/linux-headers-6.1.28-2-virt'
make: *** [Makefile:16: all] Error 2
install: /usr/lib/gcc/x86_64-linux-gnu/11/
* Trying to dkms install falco module with GCC /usr/bin/gcc-11
Sign command: /lib/modules/6.1.28-2-virt/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
DIRECTIVE: MAKE="'/tmp/falco-dkms-make'"

Building module:
Cleaning build area...
'/tmp/falco-dkms-make'...(bad exit status: 2)
* Running dkms build failed, dumping /var/lib/dkms/falco/6.0.1+driver/build/make.log (with GCC /usr/bin/gcc-11)
DKMS make.log for falco-6.0.1+driver for kernel 6.1.28-2-virt (x86_64)
Wed Oct  4 15:42:34 UTC 2023
'/tmp/falco-dkms-make' -C /lib/modules/6.1.28-2-virt/build M=/var/lib/dkms/falco/6.0.1+driver/build modules
make[1]: Entering directory '/host/usr/src/linux-headers-6.1.28-2-virt'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (Alpine 12.2.1_git20220924-r10) 12.2.1 20220924
  You are using:           gcc-11 (Debian 11.3.0-12) 11.3.0
  CC [M]  /var/lib/dkms/falco/6.0.1+driver/build/main.o
gcc-11: error: unrecognized command-line option '-ftrivial-auto-var-init=zero'
make[2]: *** [scripts/Makefile.build:250: /var/lib/dkms/falco/6.0.1+driver/build/main.o] Error 1
make[1]: *** [Makefile:2012: /var/lib/dkms/falco/6.0.1+driver/build] Error 2
make[1]: Leaving directory '/host/usr/src/linux-headers-6.1.28-2-virt'
make: *** [Makefile:16: all] Error 2
install: /usr/lib/gcc/x86_64-linux-gnu/12/
* Trying to dkms install falco module with GCC /usr/bin/gcc-12
Sign command: /lib/modules/6.1.28-2-virt/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
DIRECTIVE: MAKE="'/tmp/falco-dkms-make'"

Building module:
Cleaning build area...
'/tmp/falco-dkms-make'...(bad exit status: 2)
* Running dkms build failed, dumping /var/lib/dkms/falco/6.0.1+driver/build/make.log (with GCC /usr/bin/gcc-12)
DKMS make.log for falco-6.0.1+driver for kernel 6.1.28-2-virt (x86_64)
Wed Oct  4 15:42:35 UTC 2023
'/tmp/falco-dkms-make' -C /lib/modules/6.1.28-2-virt/build M=/var/lib/dkms/falco/6.0.1+driver/build modules
make[1]: Entering directory '/host/usr/src/linux-headers-6.1.28-2-virt'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (Alpine 12.2.1_git20220924-r10) 12.2.1 20220924
  You are using:           gcc-12 (Debian 12.2.0-14) 12.2.0
  CC [M]  /var/lib/dkms/falco/6.0.1+driver/build/main.o
cc1: error: cannot load plugin ./scripts/gcc-plugins/stackleak_plugin.so: libc.musl-x86_64.so.1: cannot open shared object file: No such file or directory
cc1: error: cannot load plugin ./scripts/gcc-plugins/latent_entropy_plugin.so: libc.musl-x86_64.so.1: cannot open shared object file: No such file or directory
make[2]: *** [scripts/Makefile.build:250: /var/lib/dkms/falco/6.0.1+driver/build/main.o] Error 1
make[1]: *** [Makefile:2012: /var/lib/dkms/falco/6.0.1+driver/build] Error 2
make[1]: Leaving directory '/host/usr/src/linux-headers-6.1.28-2-virt'
make: *** [Makefile:16: all] Error 2
* Trying to load a system falco module, if present
Consider compiling your own falco driver and loading it or getting in touch with the Falco community

@lucj have you ever tried the modern bpf? it should solve your issue

@Andreagit97 I've not tried it yet but I'll definitely do. Thanks a lot 👍

Works like a charm with modern bpf 💯


feat: Add the floyd_cycle_detection_algo.cpp file/algorithm

Description of Change

Checklist

[x] Added description of change
[x] Added file name matches File name guidelines
[x] Added tests and example, test must pass
[x] Added documentation so that the program is self-explanatory and educational - Doxygen guidelines
[x] Relevant documentation/comments is changed or added
[x] PR title follows semantic commit guidelines
[x] Search previous suggestions before making a new one, as yours may be a duplicate.
[x] I acknowledge that all my contributions will be made under the project's license.

Notes:

@Panquesito7 Check if this will work for #1529

Why there are multiple files again? One file one pr.

They aren't mine (iterative_tree_traversal.cpp, graph_coloring.cpp and random_pivot_quick_sort.cpp).

Why there are multiple files again? One file one pr.

They aren't mine (iterative_tree_traversal.cpp, graph_coloring.cpp and random_pivot_quick_sort.cpp).
How this is even possible.

Okay There are some conflicts between master branch of my forked repo and the real one. I will fork it again but @mishraabhinn merge this last PR #1527 from old fork

Okay There are some conflicts between master branch of my forked repo and the real one. I will fork it again but @mishraabhinn merge this last PR #1527 from old fork

There are also 5 files. I don't understand.
Branch can stay updated with master
For making forked repo updated

Okay There are some conflicts between master branch of my forked repo and the real one. I will fork it again but @mishraabhinn merge this last PR #1527 from old fork

There are also 5 files. I don't understand.
Branch can stay updated with master
For making forked repo updated

I think this is happening because you create branches from previous branch.

Okay There are some conflicts between master branch of my forked repo and the real one. I will fork it again but @mishraabhinn merge this last PR #1527 from old fork

There are also 5 files. I don't understand.
Branch can stay updated with master
For making forked repo updated

I think this is happening because you create branches from previous branch.

Ha I think so

Okay There are some conflicts between master branch of my forked repo and the real one. I will fork it again but @mishraabhinn merge this last PR #1527 from old fork

There are also 5 files. I don't understand.
Branch can stay updated with master
For making forked repo updated

Master branch is anyways the default branch of forked repo but if I can update a particular branch from original repo that will be great. Thanks for the links. 👍🏻

All other files are changed automatically by the workflow, so even if you undo those changes, they'll come back. @mishraabhinn.

All other files are changed automatically by the workflow, so even if you undo those changes, they'll come back. @mishraabhinn.

I don’t get this. How automatically?

All other files are changed automatically by the workflow, so even if you undo those changes, they'll come back. @mishraabhinn.

I don’t get this. How automatically?

https://github.com/TheAlgorithms/C-Plus-Plus/pull/1535/commits/b8dd0a6aaeb56ce7f9c8372146bde518c9ef7376
https://github.com/TheAlgorithms/C-Plus-Plus/pull/1535/commits/927ff99ef062f391c60036dee516caca5004800f
https://github.com/TheAlgorithms/C-Plus-Plus/pull/1535/commits/ddaba3b77092202cc831726870d33add736872ba
https://github.com/TheAlgorithms/C-Plus-Plus/pull/1535/commits/f011de038b86530c28987f4d443d57a45ccdba7d
https://github.com/TheAlgorithms/C-Plus-Plus/pull/1535/commits/2c4cb52b4288bb34cf3abd8bb0c8909d4ae1e5f2


Fix for transpiling node modules

Fix for transpiling node modules
Testing

Run gulp build
View the table.js bundle in the static directory.
Search for any instances of const =

Screenshots
Notes

This will increase the bundle size and slow down the build. Working on a better solution.

Todos

Checklist

[ ] PR has an informative and human-readable title
[ ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the development playbook
[ ] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[ ] Visually tested in supported browsers and devices
[ ] Project documentation has been updated
[ ] Reviewers requested with the Assignee tool :arrow_right:

@anselmbradford, @contolini, I've written a test to detect some es5 things in the bundle. It's just a crummy regex for now. It should fail on travis and tell use which bundle contains const or ()=>.


Selecting a day in different month is not selected properly

Missbehaviour 1:
If I view March 2016 and click on February 28, it does not go to February and select 28th, but rather selects February 1st.
Missbehaviour 2:
Also if I am in February 2016 and select March 4th, it selects March 7th (the current date).

By default when shouldShowWeekdaysOut() is set to true, selecting a date not from the current month scrolls the calendar to the previous or next month. And the 1st is selected like @bjaskj Missbehaviour 1.
Would be great if you could stop this behaviour so highlight the date selected without scrolling the calendar. Even with the scrolling, highlighting the correct date that was selected instead of the 1st perhaps is an easy update/fix!

Is there any update on this issue?

I have pretty much the same problem. Any updates?


Add possibility to continue a spoken conversation when assist needs more info.

Hey big fan of the new integrations in home assistant.
TLDR: When user chooses to use an AI agent (OpenAI, Mixtral, etc)  to do things in the house, the agent often has questions. With voice commands, it's currently not possible to continue the conversation, It would be a great improvement to add a function that an AI could trigger if it needs more information.
However, from what I have been reading, This would require a change in the workflow of the protocol, am I correct?
/what would it entail to allow the assistant itself to continue the conversation without having to shout out the wake word again an restating all that has been said before?
@jekalmin

I've got a start on this, but there is more work to do. I've extended the intent/handle related events with a context dictionary that will be used to hold conversational context.
Another piece that's missing is something in the response events (e.g., Intent, Handled) indicating that a follow-up response from the other end is required or possible. This could be as simple as a boolean, but I'd like to consider more options before committing.

The response events would need context as well, because they will need to pass the conversation_id somehow.

the new response event also triggers  text to speech to inform the user of the new input request.. this changes the flow from before where tts was the end.  so the tts event needs info for the state manager to return to the asr
and mic turn on audio forwarding again.
thanks for bringing this up.. my intent was to use wyoming under smart mirror  to replace the on platform snowboy with the docker container(and that dragged in hotword detection, and vad  and asr...)
i had built in conversational support for an Alexa and Google Assistant plugins..(or anything)  but now that amazon has killed software only Alexa's I hadn't used it much anymore..


fix: Fix upserts

:tada: This PR is included in version 1.1.6 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


COF Algorithm

All Submissions Basics:
#7

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] Have you checked all Issues to tie the PR to a specific one?

All Submissions Cores:

[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your core changes, as applicable?
[x] Have you successfully ran tests with your changes locally?
[x] Does your submission pass tests, including CircleCI, Travis CI, and AppVeyor?
[x] Does your submission have appropriate code coverage? The cutoff threshold is 95% by Coversall.

New Model Submissions:

[x] Have you created a .py in ~/pyod/models/?
[x] Have you created a _example.py in ~/examples/?
[x] Have you created a test_.py in ~/pyod/test/?
[x] Have you lint your code locally prior to submission?

Pull Request Test Coverage Report for Build 836

138 of 139 (99.28%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 94.939%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pyod/test/test_cof.py
96
97
98.97%

Totals

Change from base Build 832:
0.2%

Covered Lines:
3864

Relevant Lines:
4070

💛  - Coveralls

Pull Request Test Coverage Report for Build 836

138 of 139 (99.28%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 94.939%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pyod/test/test_cof.py
96
97
98.97%

Totals

Change from base Build 832:
0.2%

Covered Lines:
3864

Relevant Lines:
4070

💛  - Coveralls

Pull Request Test Coverage Report for Build 836

138 of 139 (99.28%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 94.939%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pyod/test/test_cof.py
96
97
98.97%

Totals

Change from base Build 832:
0.2%

Covered Lines:
3864

Relevant Lines:
4070

💛  - Coveralls

@yzhao062
Hi Yue,
I am happy with it now. Please check and merge.
Related issue: Implement Connectivity-based outlier factor (COF) #7
Thanks,
Yahya.

Hi Yahya,
By any chance could you make a new PR for the three files only?
cof.py, cof_example.py, and test_cof.py.
I mistakenly deleted requirements_ci.txt (which should not be touched) from this PR. Merging this may result in some difficulties.  If so I could close one and work on the new PR.
Thanks.
Yue

Hi Yue,
I do not know why ya deleted the file. You should have compared it with development branch because they he exact same :)   Previously, I just needed pandas so I added it then I found a way to get rid of pandas, thus I reverted my action. As a result, there's no change to requirements_ci.txt at all.
I will copy it from development and push it again to the branch. So there will be no problem.

Hi Yue,
Now this PR is identical to your development branch except the 3 files ya mentioned.
Cheers :)

Hi Yue,
There is a problem in building your original development branch:
ModuleNotFoundError: No module named 'sklearn.externals.funcsigs'

It seems that python-sklearn package is not installed after doing the updates.

Thanks for implementing this model. It is merged now and will be out in V0.7.2. I will direct all COF related issues to you. I will also include it in benchmark and other visualization:) Thanks a lot for the patience!
Yue


Support symbol data bound attributes in HTML

Examples that we may need to support:
<ul ng-repeat<="items">...

<button click+="doSomething()">Click Me</button>
<input value&="firstName">

<button (click)="doSOmething()">Click Me</button>

These are just some, in general we should implement an attribute parsing approach that revolves around the '=' sign and less about the content around it.
Ultimately this showcases an issue with Razor where it expects attributes to be exactly in the form: attributeName="attributeValue" where the double quotes are optional.  Adding spaces or anything else around the = causes attribute parsing issues.  That specific issue is listed here: https://github.com/aspnet/Razor/issues/123

Need to update this issue with the most recent Angular 2 syntax.
We would most likely treat the entire LHS as the "name" of an attribute in tag helper cases, e.g. (click) would be the attribute name.
In the more general Razor case the key goal is to just not have parser errors on these and to reliably echo the output into the HTML stream.

After some research and testing. Here's the syntax angular 2 seems to enable:

<button (click)="doSOmething()">Click Me</button>
<button (^click)="doSOmething()">Click Me</button>
<template *something="value"></template>

Out of the supported syntaxes, the ones that currently aren't supported by Razor:

<template *something="value"></template>

When working on this issue I'm going to investigate what it'll take to just get Razor allowing the full HTML5 spec of attribute names:

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 U

7239eb015c708e3e03eecd3c6785c595b8b8d938


Fixed a minor bug that copy action is enabled even though a trigger button is disabled.

Inserted a small logic to check if the target is disabled in order to avoid flashing the target textarea when the disabled button is clicked.

Is this code reached? I think disabled elements can't even be click to trigger the event.

I could reproduced the issue on CodePen.
http://codepen.io/ogaoga/pen/yJNgZG
But I found it occurs only when you click a target button using Material Icon.
So this issue is not due to Clipboard.js but it would be good for using like Material Icon.

This is probably an issue on good-listener. Semantically speaking disabled elements are not supposed to work, readonly is the proper attribute to use.

Thanks for contributing @ogaoga!


Updated to Version 2 but having issues with HTTP Headers

Hey there,
I thought I was using the beta for 2.0 before, but looks like I was still on 1.3!
I decided to update today and sort out all the issues. I managed to get it all refactored and building, however now I have 1 issue and that's related to the http headers.
First of all, you should include in the migration guide that HTTPHeaderFields has changed to headerFields.
Now to my problem, after I updated my existing classes to use headerFields, it doesn't seem to be picking up my custom header. I'm doing something like this right now:
var headerFields: [String: String] {
    return [APIHeaders.BasicAuth.rawValue: constructBasicAuth()!]
}

Inside the constructBasicAuth function, I have some print() statements which are NOT printing in the console. I'm not sure why, but it seems like it's not using the headerFields property at all?
Do you have any ideas what I might be doing wrong? Am I maybe missing a step?

Hi jyounus,

First of all, you should include in the migration guide that HTTPHeaderFields has changed to headerFields.

I've just updated this. Thank you for reporting!

Now to my problem, after I updated my existing classes to use headerFields, it doesn't seem to be picking up my custom header. I'm doing something like this right now:
var headerFields: [String: String] {
    return [APIHeaders.BasicAuth.rawValue: constructBasicAuth()!]
}

Inside the constructBasicAuth function, I have some print() statements which are NOT printing in the console. I'm not sure why, but it seems like it's not using the headerFields property at all?

I confirmed RequestType uses headerFields using following example request type:
struct FooRequest: RequestType {
    typealias Response = Void

    var baseURL: NSURL {
        return NSURL(string: "https://example.com")!
    }

    var method: HTTPMethod {
        return .GET
    }

    var path: String {
        return "/"
    }

    var headerFields: [String : String] {
        return ["foo": "bar"]
    }

    func responseFromObject(object: AnyObject, URLResponse: NSHTTPURLResponse) throws -> Response {
        return ()
    }
}

test code:
let request = FooRequest()
let URLRequest = try! request.buildURLRequest()
print(URLRequest.allHTTPHeaderFields)
// Output: Optional(["Accept": "application/json", "foo": "bar"])

Could you confirm that your constructBasicAuth function executes print() correctly?

It turns out, I was just being stupid.... There was a problem with my NodeJS backend that was causing an issue way before my actual request on the app side way being made.
Sorry and thanks for your help! I will open a PR with some fixed typos. :)