[WIP] Add French translation

Here’s a first iteration at translating to French. A couple of notes:

I haven’t picked a name for the app yet. Keeping « Safe Paths » would possibly go over well in France, and « Chemins Sûrs » certainly better in Canada. It just sounds a bit weird to me so I’m holding off until I find a better translation.
I noted some inconsistencies:

sometimes the app is called « Safe Paths » and sometimes « COVID Safe Paths ». (This also affects the previous point, I might translate it more as COVID-free paths if it is the latter.) See #484
sometimes the device is called device, sometimes phone. I went with device consistently.

I believe for proper i18n the news sources etc. should be changed to locale-specific sources.

I don’t know if the news feed will be localized? If so what’s the correct URL?
I don’t think the Mayo Clinic is known at all in France, so finding another authority as a reference would be a good idea. Institut Pasteur maybe?
same thing for the EULA, what’s the correct localized URL?

“localization” could be either « géolocalisation » or « position ». I went with the latter as it is somewhat lighter and also used by Google in its French interface for data exports, but there is a case to be made for the other translation.
translation is gender-neutral to the best of my ability
COVID-19 is a foreign-imported neologism so it doesn’t really have a grammatical gender. I went with feminine consistently − though not the dominant use in France, it is the one recommended by the WHO and used by the Canadian government (rationale: D stands for disease and maladie is feminine).

Hi @Cimbali, you're right, the name Safe Paths shouldn't be changed into its local translation. It's the name of the product, and easier to identify with.
Also, you can safely remove the URL keys... I think that there are 3 of them. They will fall back to the default in the original English version file.
Regarding the other questions... let me look into them. Either I or someone else will respond to those.

@heri you had done the last French translation. can you review these?

Let me know when this is ready to merge

Thanks!
@alpita-masurkar or @Cimbali can you edit this PR with changes?


images(ignore)

https://github.com/wallabyway/powerBI-tandem-viewer/assets/440241/70ca6e40-adb3-47bc-b595-f867ebf22460

https://github.com/wallabyway/powerBI-tandem-viewer/assets/440241/bf975446-652e-4754-b1af-84fc974078b3


fix target_file check in mv

Codecov Report
Patch coverage: 80.00% and project coverage change: -0.01 :warning:

Comparison is base (43c175f) 93.48% compared to head (4345b41) 93.47%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #320      +/-   ##
==========================================
- Coverage   93.48%   93.47%   -0.01%
==========================================
  Files         457      457
  Lines       16493    16497       +4
==========================================
+ Hits        15418    15421       +3
- Misses       1075     1076       +1

Impacted Files
Coverage Δ

duckscript_sdk/src/sdk/std/fs/mv/mod.rs
87.23% <80.00%> (+2.23%)
:arrow_up:

... and 10 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

@burrbull sorry i missed it. looks great. merging


V2 beta [Calendar Module]: Time display options

Added the ability to choose between an absolute or relative time display. While in absolute mode, the user can also set an urgency time frame (from now) so that events within that time frame will be displayed as relative while everything else is in absolute time. See this post for an example:
https://forum.magicmirror.builders/topic/5/calendar-event-dates-enhancement/3#

Could you try removing the file mode changes from this PR?

That's how I get them from GitHub ... I tried both ways, by not touching the files and by changing them manually. For some reason, GitHub keeps messing them up.

Technically those files shouldn't be +x anyway ... but that's how I'm getting them from GH.

Do these changes have an effect if I don't change my config? With other words: is it a breaking change? Or are all changes optional?

Doesn't break anything. It's running fine on my end.

Sorry, I mean does it change the current default behaviour? Are all changes optional?

Oh yes, everything is optional. The current defaults are 'relative' and the urgency is turned off. HOWEVER, I just realized you pushed an update for the time problem last night. I do NOT have that yet on my end. If you want me to sync first and resubmit, I can do that.

Those changes don't seem to conflict.


changes to project structure

quoting meeting notes google doc:

change mentions of brew to koji
project name change brew_channel_validator -> koji-channel-validator
add subdirectory for application: koji-channel-validator/koji-channel-validator/channel_validator.py

add init.py to subdirectory

This should also probably include deleting enum_channels.py as well. It was only being used as a proof of concept when the project first started and hasn't been used since.


A couple of questions

Hi, first off, thanks for putting your code in GitHub. It's being really useful for my project. However, I have some questions about how to proceed in order to integrate the timeline in a bigger project:

I haven't found any function for create / delete keyframe(s). What I do is getModel() -> edit object -> setModel(). Is this the correct way?
Is there some function to play the timeline? What I'm doing is to play / pause via setInterval(), but maybe you have some function I couldn't find.
When playing the timeline, how do I know that the cursor is in a keyframe in order to interact with the stage? There is some way to detect it, or I have to check it iteratively comparing the cursor position with all the keyframes?
Can I zoom the timeline directly from the wheel mouse instead of through a button?
Do you have any online example apart from the live demo? In the animator repository I haven't found a functionally example.

Thanks!

"Manage keyframes"

You can manipulate a model directly

Is there some function to play the timeline?

Usually animation containers (ex: svg) has an event that time has changed. You can use this to "play" and fully synchronise the timeline. If you are having custom player than you can use own implementation of the "play".

When playing the timeline, how do I know that the cursor is in a keyframe in order to interact with the stage? There is some way to detect it, or I have to check it iteratively comparing the cursor position with all the keyframes?

You have time position and also model with all keyframes. You can have some tolerance + analyse all keyframes.

Can I zoom the timeline directly from the wheel mouse instead of through a button?
Try ctrl or shift and wheel.

Do you have any online example apart from the live demo?

Component is not tested yet or incorporated to the big project I believe. Please feel free to create MRs.

Thank you so much for your answers.
At this moment I've started to integrate the timeline in a Vue app working on top of Electron JS and everything seems to work properly.

Hi, sorry for reopen the issue, but I have some more questions:

Can I select more than one keyframe clicking them? By default, when I click a keyframe, the current one is deselected. Is there any way to disable that behavior?

I built a player, but when I play the timeline and the cursor reaches the end of the visible part of the timeline, it keeps running out of the screen. I would like to develop some system to control that and move the timeline in consequence for having always visible the cursor. But for doing that, I need to know the total length of the timeline (in milliseconds, if possible), and I'm stuck here. If I do a console.log() of the timeline object, I get this _currentPos property with the data I need (snapVal / val, 6800ms in this case):

But if I do a console.log() of this _currentPos property, I get null. My question is basically, how can I know the size in milliseconds of the timeline?

Can I totally disable the interaction mode? There are the zoom mode, the pan mode and the selection mode. But not a disable mode. Is it possible?

Thanks in advance!

Hello @gbayarri
Could you please provide the use cases, not solutions you are listing but business logic/functionality you want to achieve. Knowing a reason I will be able maybe to suggest something and take a look.
Regards the keyframes multiselect you can use select multiple by mouse region select and also by shift + click a keyframe.

Thanks @ievgennaida
I think these improvements and functions are exactly what I needed.
Regarding to the point 3 I agree wit you. Probably what I really wanted is the new "pan mode with keyframe selection" interaction mode you recently added.
I have another question related with the styles. Is it possible to style groups of keyframes? Something like that:

As you see, there would be two different groups with different colors for the keyframes and the transition between them.
Thanks!

Hello @gbayarri,
It's possible now to change style of the keyframe, but not the style of the entire the group. For the keyframe see the typescript definitions. Group styling I can check next week.

@gbayarri I have published a basic example of the requested feature where you can separately style a specific group.
See the attached demo.
If you are having any feature requests I would appreciate the input and a vision of the designed features while some of them can be incorporated.
BR.

Hi, @ievgennaida
Thank you so much. I will integrate this new version in my code. I've taken a look to your changes and maybe it will take me some time, but it's exactly what I needed.
As for future requests, is there some protocol to follow? Do you need a more accurate description? More images explaining the desired behavior?
Thanks again :)


 :)  Would certainly make my use case easier.  I'd like to upgrade my code from using cwiid.
https://github.com/mzimmerman/mythgowii

The bindings exists for python and perl.
However, the binding is done using swig (http://www.swig.org/).
Swig manages several binding including the go language.
So, it means that 99% of the work is done.
If you check https://github.com/dvdhrm/xwiimote-bindings, you'll see that
custom lines for perl and python is about 10 lines each.
Nicolas Adenis-Lamarre
2015-01-17 2:21 GMT+01:00 Matthew Zimmerman<EMAIL_ADDRESS>
Any bindings exist for Go already? :) Would certainly make my use case
easier. I'd like to upgrade my code from using cwiid.
https://github.com/mzimmerman/mythgowii
—
Reply to this email directly or view it on GitHub
https://github.com/dvdhrm/xwiimote-bindings/issues/1.

Awesome, thanks for the response.
I've found an easier/more native way though even.  Using a short bash script and an xorg module with custom key configs.  Now I just have to figure out how to do the power conservation part... (turn off the wiimote when no key presses have occurred in X time.)
The following script lets me use bluetoothctl to automagically connect the wiimote whenever it's initiated (after successful manual pairing) Citation
#!/bin/sh

while true
do
        echo "looping"
        echo -e "power on\nconnect 00:1E:35:6E:8D:41\nquit" | bluetoothctl
        sleep 3
done

        Option "MapLeft" "KEY_LEFT"
        Option "MapRight" "KEY_RIGHT"
        Option "MapDown" "KEY_DOWN"
        Option "MapUp" "KEY_UP"
        Option "MapA" "KEY_ENTER"
        Option "MapB" "KEY_Z"
        Option "MapPlus" "KEY_P"
        Option "MapMinus" "KEY_DEL"
        Option "MapHome" "KEY_ESC"
        Option "MapOne" "KEY_I"
        Option "MapTwo" "KEY_M"


[TF2.0] Change default types globally

Hello everyone,
I made the same request a while ago at tensorflow/community. The similar question was raised before at tensorflow/tensorflow#9781, where maintainers argued that GPU is much faster on float32, default type cannot (should not) be changed because of backwards compatibility reasons and cetera.
The thing is that the precision is very important for algorithms where operations like cholesky, solvers and etc. are used. This becomes very tedious to specify type everywhere, it gets even worse when you start using other frameworks or small libraries which follow the standard type settings and sometimes they become useless, just because type incompatibilities. The policy of "changing types locally solves your problems" becomes cumbersome.
It would be great to have methods tf.set_default_float and tf.set_default_int in TensorFlow 2.0 and I believe that such a small change will make TensorFlow more user friendly.
Kind regards,
Artem Artemev

@reedwm @azaks2 I wonder if we can piggy back on the fp16 work to make it easier to use fp64 across the board?

The fp16 API we are working on will only support Keras layers and models. Instead, perhaps floatx should be used as the default dtype for such algorithms, although I believe currently floatx only affects tf.keras.
/CC @fchollet, what do you think about using floatx?

@alextp , @reedwm Hello guys. By tf.set_default_float, I meant that the method will change default types for variables creation and tensors. E.g.:
tensor1 = tf.Variable(v)
tf.set_default_float(tf.float64)
tensor2 = tf.Variable(v)
tensor3 = tf.Variable(v, dtype=tf.float16)

# tensor1 has fp32
# tensor2 has fp64
# tensor3 has fp16

@alextp, @reedwm Hello everyone! ooc, does anyone work on this feature, or it is postponed until better times? :)

No current work that I am aware of.
On Thu, Apr 4, 2019 at 3:14 AM Artem Artemev<EMAIL_ADDRESS>wrote:

@alextp https://github.com/alextp, @reedwm https://github.com/reedwm
Hello everyone! ooc, does anyone work on this feature, or it is postponed
until better times? :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/26033#issuecomment-479836374,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAATxcFZOt_YW-lGXxNsF4ReoXpzERWxks5vddCUgaJpZM4bN3xC
.

--

Alex

You're right, we cannot use floatx for backwards compatibility, since currently it does not affect the dtypes of tf.Variables and such.
This proposal sounds reasonable. It would be convenient to be able to have all variables/constants in a user-chosen dtype without having to specify the dtype parameter for each. I do have several concerns however.

It is confusing what the difference between set_default_float and floatx are. Floatx only affects tf.keras, while set_default_float would affect functions outside tf.keras. It is likely users will get them mixed up.
It is confusing what exact set_default_float would affect. It probably should affect tf.Variable and tf.constant because they create tensors, and should probably not affect tf.add, etc. But what about functions like tf.ones_like? They arguably create a tensor from scratch, but they also take a tensor as input.
We are currently working on a mixed precision API. Currently this only affects tf.keras, but nothing is set in stone at this point. The mixed precision API will create variables, but not necessarily constants, in float32, so it's unclear how it would interact with set_default_float. Since the mixed precision API fundamentally just changes the precision of tensors, it may be unclear to users what the difference between set_default_float and the mixed precision API are.

@alextp what do you think? Maybe we should wait until the mixed precision API is further along, so at least we could address (3) with more certainty.

I think this feature will be very useful for the upcoming tf.keras mixed precision API, so I will revisit this, at least for floating-point types.
I think it makes sense for tf.set_default_float to only affect functions which produce tf.Tensor outputs without taking in tf.Tensor inputs, such as tf.ones and tf.convert_to_tensor. It would not affect ops like tf.ones_like which take Tensor inputs, unless they were pass non-Tensor inputs.
@awav, in your example with variables, if v were a Tensor, tf.Variable would ignore the default float value and use the dtype of v. If you walk up v's input chain, some op must have produced v without taking a Tensor input, and so that op would have used the default float. Due to dtype propogation, this would make v the default float type as well unless a cast were done. If v were a non-Tensor, like a float or numpy array, then it would use the default float value.
Also, IMO, set_default_float and floatx should be the same, so that setting one also sets the other. We would have to make set_default_float to be thread-local to be compatible with DistributionStrategy, so we would also have to change floatx to be thread-local.
@alextp, @awav, any thoughts?

Overall looks good. Ideally floatx can just call set_default_float for correctness.

We would also be very interested in this features.
Since we use TF to do likelihood fits requiring float64 (zfit) and allow users to specify their model with TF themselves, we often run into problems where users create (because of the default) a float32 tensor, conflicting with the other float64 tensors. Mostly for TF unaware users a quite annoying thing (and hard for us to catch and explicitly write what to change).
Currently, we even started wrapping some of the TF functions to avoid this problem, so a global fix would be highly appreciated (and we may can help implementing it oc).

@mayou36 thank you for the feedback. I plan to start a design doc in the upcoming weeks.

@reedwm , any updates on that?

Not yet sorry! I am currently busy with other tasks, but I hope to have a design doc fairly soon.

@reedwm, it has been a while, no progress with this feature?

Unfortunately still no update :(. I am working on some mixed precision tasks at the moment. Once the Keras mixed precision API is more complete I can get to this.

@reedwm any news? I'd be very keen for this to make it into tensorflow - the lack of configurable default dtypes is one of our biggest pain points with tensorflow and makes life difficult and cumbersome for both the developers and users of downstream libraries (such as GPflow)!

Has there been progress?

Sorry no updates yet :(

Any updates on this? I am very excited to see this feature in tensorflow.

tf.keras.backend.set_floatx seems to be doing this.

tf.keras.backend.set_floatx seems to be doing this.

Not exactly, it works for Keras only and doesn't have any effect on the rest of TensorFlow.

This would be really helpful.

This could be quite helpful, but sorry to see no update

Three years, and still waiting.

@reedwm what is the status of this? Any progress, anything we can help with?

I'd like to chime in as well that this would be a very useful feature. It can be very cumbersome to cast every tensor to the correct dtype manually, especially when using existing data. Let us know how we might be able to help, as a community!

Just to keep the dream alive... yes this would be really useful.

Does it maybe increase motivation for this feature by pointing out that PyTorch has it? :)
https://pytorch.org/docs/stable/generated/torch.set_default_dtype.html
Implementing algorithms from numerical linear algebra becomes really tedious when constantly running into easily avoidable tf.float32 != tf.float64 exceptions.

Hi! Any updates regarding this feature? This would indeed be very helpful! :)


Return links and assets to lists

I'd like to drop the use of lists-as-objects in favor of using vanilla JSON arrays for Item links and assets as well as catalog-level links. My feeling is that the former introduces application-specific "optimizations" into the core spec (in the form of facilitating lookups) while dirtying the semantics associated with those lists and actually adding complexity:

JSON objects have no inherent ordering (in practice, they do in most implementations, but that seems like a bad assumption to make); this means that the resulting lists won't necessarily be consistent across viewers
a non-semantic element is introduced (the object key) that introduces ambiguity; some implementations will apply meaning to this (a cog key in an asset collection) in ways that potentially conflict with "better" resolution rules (ref / rel / type)
a collection of things is inherently a list; to illustrate this, actions like "give me the first asset" (jq .assets[0]) become more difficult (jq ".assets | to_entries | first | .value"; I had a hard time figuring this out)
since object keys are now required, STAC generators will need to produce them; most keys will be opaque strings (UUIDs, etc) with duplication needing to become a consideration (merging links collections from multiple catalogs becomes a non-trivial operation (in case keys overlap), especially if it's deemed important to try to retain object keys)

(This is an incomplete PR; additional references to lists-as-objects should be found in prose, JSON schema, and examples.)
Refs #127
Refs #142

@mojodna I've been the main one pushing for these assets and links to be objects rather than lists, and since I won't be there for this sprint I suspect I'll lose this one.
However @mojodna makes a good case here, especially for auto-generated items. I've been working on some code that generates derived STAC items and have run into this problem of what to name the keys.
The original motivation here was for users to be able to easily specify which assets they are interested in. Being lists doesn't prevent this, just changes the logic in the client for determining it. My main interest is that users must absolutely be able to specify assets by a consistent key across collections, or by a band common_name in the case of the EO extension. If this is still possible switching to lists then I'm on board.
cc @cholmes @scisco

In the PR, I included an id attribute. I think that's better as key and can be used to achieve what @matthewhanson wants to achieve, I think.
Also, a role attribute (e.g. thumbnail or primary) may serve some of the purpose of the object keys.

Since the group meeting Wed morning, I've thought about this more and have an additional argument for why assets should remain as dictionaries. First, as I said before dictionary keys really only become important when using Collections (or whatever they are to be called now) which define a set of common metadata across Items.
When you do have a Collection of Items in this manner though it is important that the assets have keys, and that they are unique so that an Item can be merged with the Collection-level metadata to get a complete record.
Example:
For example, a landsat 8 collection can define the assets:
"assets": {
   "B1": {
      "type": "image/geotiff-cog"
      "eo:bands": ["B1"],
      "description": "This is an asset for Band 1 (the coastal band)"
}

An individual item can then define just the href to the asset for that item:
"assets": {
   "B1": {
      "href": "path/to/datafile"
}

The Item can then be merged with the Collection record to get a complete record. This is how sat-search works. The merging may occur on the server side instead, but either way the use of dictionaries provides an unambiguous way to merge these, whereas using lists requires a lot of logic of iterating and finding matching records. Worse, if a key is duplicated the behavior is undefined. Maybe you do want two thumbnails, but different formats for them.
For lists to work we need to ensure that an id field is unique across all items.
Related to https://github.com/radiantearth/stac-spec/issues/153
cc @mojodna @cholmes @jeffnaus

Wanted to summarize where we got during the sprint:
Everyone agreed that links (both in catalogs and in items) should be lists. It was done later, and done to 'align' with assets, but didn't have any real good reasoning and had some drawbacks.
In general people also felt that it was 'ok' to have links and assets not share the exact structure. Though obviously there's a slight preference to keep things aligned.
So perhaps make this PR about just the links. We can keep discussing assets here, or move it to its own issue.

Closing this - decision was to change links to an array (which has happened), and to leave assets as dictionary. We are not opposed to changing it at some point (and indeed those in favor of assets as dictionary mostly just want to be sure there is an id that is required + referencable), but aren't going to do it for the 0.6.0 release.


Add folder structure

Linked issue
none, still part of initial setup
Additional context
The folder structure is mostly based on Atomic Design, with the addition of the (static) assets and the provider (a.k.a. bootstrappers) folder.

:tada: This PR is included in version 0.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Separation of Identifiers from Keys (as an opt in for users)

As discussed in the channel we would like to perhaps provide an option for users to separate the keys from the identifiers. This would be relevant to both Polygon ID and Hedera as we natively provide the ability to separate the keys from the identifiers. It would also allow for future key rotation features.
This would not be something v1 of did-eth it would probably be more for a v2, just want to put it on the roadmap for the future.
@Reccetech please feel free to add comments.

It's an interesting feature, definitely worth considering.
I think it relates to EIP4337


Fetch service account data on project startup

the service account is not in the list of accounts, nor are the contracts from that account. Those are very important contracts, so I need a mechanism of how to check them out. - https://github.com/onflow/flip-fest/pull/89#issuecomment-958118594

Fixed in 6f065a928564143a42f68afcb4fc80c88bb43988.


Show word count of selection

Despite the "Contributions" section of the README, this isn't a bug, but a feature request. It would be nice to be able to see the word count of just the current selection separately from that of the document as a whole. What this could maybe look like in the status bar is something like this: Words: 500 (29 selected).

hi @euclip ,
i wont be adding more features to this extension.
all the best


jsonExtensionOverride

Adding .json to the request causes some calls in the Ads API to fail such as the call for for paginating.
${adsAPIHost}/accounts/${accountId}/promoted_tweets?cursor=${body.next_cursor}
This optional boolean on the Get path means users can override adding .json for these edge cases while retaining functionality for the other APIs.

https://github.com/desmondmorris/node-twitter/pull/232 is a better solution.


fix: Avoid allocation in the stringifyValue

The PR refactors implementation of the stringifyValue function.
w.Write([]byte("<nil>")) may allocate, better is to use w.WriteString("<nil>")

Thank you, @air-hand !
Merging.


Filter out by default

string: Unsolicited response received on idle HTTP channel starting with HTTP/1.0 408 Request Time-out\r\nCache-Control: no-cache\r\nConnection: close\r\nContent-Type: text/html\r\n\r\n
408 Request Time-out
\nYour browser didn't send a complete request in time.\n\n"; err=<nil>

Add filter that ignores errors with type string and message that stats with Unsolicited response received on idle HTTP channel starting with


operator cert-manager (1.14.1-rc1)

Signed-off-by: Richard Wall<EMAIL_ADDRESS>

/hold

/unhold

/merge possible

/merge possible


Join logs

Application to join a log into one file, when it has been created in separated files by thoth

Joining tested and working


Support collecting https data encrypted with go tls?

Hi
As the doc "https://docs.px.dev/about-pixie/data-sources/" said,  it seems to support collecting https data encrypted with go tls.
But how to do it? Any Scripts or doc?
Thanks

@Masterlvng, we use uprobes to instrument the Go Libraries. You can look at the PxL script 'px/http_data'. Please, re-open if you have any other questions.


Adding multiple users to conversation notification settings at one go "sometimes" not obvious

I need to add users so they can be notified whenever someone posts or replies using the conversation block but I am unable to add users as the button for adding/submitting the form is missing.
Would appreciate a work-around as this is getting fixed as my client is waiting for the feature.

concrete5 Version
Core Version - <IP_ADDRESS>
Version Installed - <IP_ADDRESS>
Database Version -<PHONE_NUMBER>0000
Which is best place to submit bugs, here at github or using concrete5's bug tracker?

Just noted clicking on a username adds the user to the notification list but it is not obvious from the dialog. May be render the username differently e.g. in italics/bold/bigger font?
Still it is not possible to add multiple users in one go.

@martbase
Multiple users can be added using "Choose Users" from the Items Selected drop-down.

Works though the option is hidden from view. It would be nice if the Items Selected is closer to the selection form - probably above the titles to the left of the Search button.
Alternatively since its a primary action a button with the same action as the Choose Users option would be more intuitive.

@aembler I still feel this issue has not been addressed fully. Should a new issue be raised to address usability? Take a look at the screen shot I provided when first raising the issue... Since there many users I had scrolled down to select them thereby hiding the Items Selected drop down list! I know it works since it is the similar to the file manager option list which I have used without problems before.
The issue here is since the Items Selected is very useful when dealing with multiple selections, it would be really nice if it could be implemented in a way that works irrespective of whether the list is short/long - without the site editor having to pause and think what to do next after marking items of interest especially after having scrolled down a long list.

The 'Choose Users' option disappears for me after using the pagination. Is that happening to anybody else?
I'm also having a random issue where the modal disappears after selecting a user. It seems as if it works as expected the first time in edit mode, but if you go back to modify the pop up disappears after choosing a user.
This seems very buggy. Is it worth re-opening?
concrete5 Version
Core Version - 8.2.1
Version Installed - 8.2.1


Upgrade PyYAML

Is it possible to upgrade the version of the PyYAML dependency? I face errors with wheel and versions below 6.0.1.
Collecting PyYAML<6.0.0,>=5.4.1 (from malwarebazaar->-r requirements.txt (line 3))
  Downloading PyYAML-5.4.1.tar.gz (175 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 175.1/175.1 kB 17.2 MB/s eta 0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'error'
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [68 lines of output]

Try updating malwarebazaar, in v0.2.4 PyYAML is already at ^6.0.1 - maybe you use a cached version?
https://github.com/3c7/bazaar/blob/fa98beba6512e73ed0fc5b332b533654fec263a1/pyproject.toml#L18-L25
https://github.com/3c7/bazaar/blob/fa98beba6512e73ed0fc5b332b533654fec263a1/poetry.lock#L390-L394

I had another package forcing malwarebazaar to be installed in an outdated version.


DRBD sbin/drbdadm: No such file or directory

Describe the bug
The package "drbd" installs the drbdadm binary to /nix/store/g3hcxqip21yhg6gmqjcy064pi7jj8k74-drbd-9.19.1/bin/drbdadm
The systemd unit has ExecStart=/nix/store/g3hcxqip21yhg6gmqjcy064pi7jj8k74-drbd-9.19.1/sbin/drbdadm up all
Because the drbdadm binary is under /bin and the systemd unit points to it under /sbin, starting the unit results in:
drbd.service: Failed at step EXEC spawning /nix/store/g3hcxqip21yhg6gmqjcy064pi7jj8k74-drbd-9.19.1/sbin/drbdadm: No such file or directory
Steps To Reproduce
Steps to reproduce the behavior:

add   "services.drbd.enable = true;" to configuration.nix
nixos-rebuild switch
service fails to start with the following error:
Nov 17 12:09:53 CEC-NIXStation (drbdadm)[32323]: drbd.service: Failed at step EXEC spawning **/nix/store/3k7zqhjgh53y6pd5ibrkhr333cz7x1rx-drbd-9.19.1/sbin/drbdadm: No such file or directory

running "which drbdadm"
results: "/run/current-system/sw/bin/drbdadm"
running "ls -l /run/current-system/sw/bin/drbdadm"
results:                   "/nix/store/g3hcxqip21yhg6gmqjcy064pi7jj8k74-drbd-9.19.1/bin/drbdadm"
running: "grep drbdadm /etc/systemd/system/drbd.service"
results: "ExecStart=/nix/store/g3hcxqip21yhg6gmqjcy064pi7jj8k74-drbd-9.19.1/sbin/drbdadm up all
ExecStop=/nix/store/g3hcxqip21yhg6gmqjcy064pi7jj8k74-drbd-9.19.1/sbin/drbdadm down all"
Expected behavior
Service unit has correct path to binary and starts successfully.
Additional context
My guess is one of these needs to be updated, so both point to same location:
nixos/modules/services/network-filesystems/drbd.nix:
58	ExecStart = "${pkgs.drbd}/sbin/drbdadm up all";
59	ExecStop = "${pkgs.drbd}/sbin/drbdadm down all";
pkgs/os-specific/linux/drbd/default.nix:
46	    "--sbindir=${placeholder "out"}/bin"
Notify maintainers
@ryantm
@astro
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

system: "x86_64-linux"
host os: Linux 6.1.52, NixOS, 23.05 (Stoat), 23.05.3427.e5f018cf150e
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.13.5
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Adding this to my configuration.nix fixes this issue:
systemd.services.drbd.serviceConfig = lib.mkForce {
  ExecStart = "${pkgs.drbd}/bin/drbdadm up all";
  ExecStop = "${pkgs.drbd}/bin/drbdadm down all";
};
All this does is replace "sbin" with "bin" in the systemd unit file.


error updating customer descriptive name

The customer resource has a descriptive_name but when I try to update it through mutate customer I get the error ArgumentError: unknown field operations
resource_name = client.path.customer(account_id)

      operation = client.operation.update_resource.customer(resource_name) do |c|
        c.descriptive_name = name
      end

      client.service.customer.mutate_customer(
        customer_id: account_id,
        operations: [operation],
      )

According to the docs this should be possible, even on v6
What am I missing here?

Indeed it does, thanks!


How do I log ServiceLens/X-Ray "User" with the OTEL agent?

Is your feature request related to a problem? Please describe.
II am trying to log the end-user username to X-ray with with the OTEL agent using the attribute "enduser.id".
I've verified that the code works locally, and that the attribute is added.
The metadata does not contain the attribute when in X-Ray:
{
    "default": {
        "enduser.scope": "ROLE_USER USE_PREMIUM_TTS ROLE_STUDENT",
        "thread.name": "http-nio-8180-exec-21",
        "thread.id": ""
    }
}

Code:
public abstract class AbstractSpringOpenTelemetryInterceptor {

    // see io.opentelemetry.semconv.trace.attributes.SemanticAttributes
    public static final String ENDUSER_ID = "enduser.id";
    public static final String ENDUSER_SCOPE = "enduser.scope";

    public static String INSTRUMENTATION_APP_PACKAGE = "se.nomp";
    private final Tracer tracer = GlobalOpenTelemetry.getTracer(INSTRUMENTATION_APP_PACKAGE);

    protected Object wrapWithSpan(ProceedingJoinPoint pjp) throws Throwable {
        Span span = tracer.spanBuilder(generateSubsegmentName(pjp)).startSpan();
        try (Scope scope = span.makeCurrent()) {
            var principalName = getPrincipalName();
            if (principalName != null) {
                span.setAttribute(ENDUSER_ID, principalName);
                var authorities = getAuthorities();
                if (authorities != null) {
                    span.setAttribute(ENDUSER_SCOPE, authorities);
                }
            }
            return conditionalProceed(pjp);
        } finally {
            span.end();
        }
    }

    protected String generateSubsegmentName(ProceedingJoinPoint pjp) {
        return pjp.getSignature().getDeclaringType().getSimpleName() + "." + pjp.getSignature().getName();
    }

    private static Object conditionalProceed(ProceedingJoinPoint pjp) throws Throwable {
        return pjp.getArgs().length == 0 ? pjp.proceed() : pjp.proceed(pjp.getArgs());
    }

    public static String getPrincipalName() {
        Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
        if (authentication != null) {
            return authentication.getName();
        }
        return null;
    }

    public static String getAuthorities() {
        Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
        if (authentication != null) {
            var authorities = authentication.getAuthorities();
            if (authorities != null) {
                return authorities.stream().map(a -> a.getAuthority()).collect(Collectors.joining(" "));
            }
        }
        return null;
    }
}

Describe the solution you'd like
I'd like to know what I should be doing instead.

Hi @stnor - we actually map that into the X-Ray's native data model
https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/c3fb1c133fe7f227c7193fbbf72d22f22e18906e/exporter/awsxrayexporter/translator/segment.go#L333
Does user not show up in one of the tabs in the segment's details?

Not that I can see.

It seems to be reaching the X-Ray service, as the User filter is populated with values, and I can use these to filter traces.
But I cannot see the username when looking at/starting from a (OTEL) trace. This worked when I tried the X-Ray agent.
And is there a reason why the collector is deleting the attribute after mapping?

@stnor I believe it may be because it is only supported for rendering on a root span (Segment) rather than children (Subsegment). Are you able to add the attribute to the root instead of child?
Either way, we may need to improve the console rendering to allow the attribute on subsegments as well, there doesn't seem to be a reason not to render it.
The main reason to drop attributes that are mapped to native is to save space on what's ingested (particularly since there is a max size on a segment). We haven't heard of a need to keep them but it seems reasonable too to add an option to keep mapped attributes at the expense of space if it can be helpful.
The best would be for the X-Ray service to be updated to understand OTel attributes natively and remove the mapping altogether, but I don't think that would happen for a long time.

The root segments span is created by the OTEL Agent auto instrumentationfor Tomcat I believe, so I don't think so?
How would I do that?
I have some suggestions on dropping stuff if you want to save space :)
{
    "default": {
        "otel.resource.telemetry.sdk.name": "opentelemetry",
        "otel.resource.process.runtime.description": "Amazon.com Inc. OpenJDK 64-Bit Server VM 11.0.11+9-LTS",
        "otel.resource.process.runtime.version": "11.0.11+9-LTS",
        "otel.resource.process.command_line": "/usr/lib/jvm/java-11-amazon-corretto:bin:java --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED -Djava.util.logging.config.file=/opt/nomp/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -javaagent:/opt/aws-opentelemetry-agent-1.1.0-nomp.jar -Dotel.resource.attributes=service.name=Nomp -Dotel.instrumentation.jedis.enabled=false -Dotel.instrumentation.spring-web.enabled=false -Dotel.traces.sampler=nomp -Denv=prod -Dfile.encoding=utf8 -Dnomp.loglevel=INFO -XX:+AlwaysPreTouch -Xms2500m -Xmx2500m -XX:MetaspaceSize=200m -XX:MaxMetaspaceSize=250m -XX:+DisableExplicitGC -XX:-OmitStackTraceInFastThrow -XX:+UseCompressedOops -XX:+UseG1GC -XX:ParallelGCThreads=3 -XX:ConcGCThreads=2 -XX:+UseStringDeduplication -XX:+UnlockDiagnosticVMOptions -Djava.security.egd=file:/dev/urandom -Djava.locale.providers=COMPAT,CLDR,SPI -DWEB_SOCKET_DISABLED=false -Dorg.opensaml.httpclient.https.disableHostnameVerification=true -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -Dcatalina.base=/opt/nomp -Dcatalina.home=/opt/nomp -Djava.io.tmpdir=/opt/nomp/temp",
        "thread.name": "clientInboundChannel-2",
        "otel.resource.telemetry.auto.version": "1.1.0-nomp-aws",
        "otel.resource.process.executable.path": "/usr/lib/jvm/java-11-amazon-corretto:bin:java",
        "otel.resource.telemetry.sdk.version": "1.1.0",
        "otel.resource.os.description": "Linux 4.14.225-168.357.amzn2.x86_64",
        "otel.resource.os.type": "LINUX",
        "otel.resource.process.runtime.name": "OpenJDK Runtime Environment",
        "otel.resource.telemetry.sdk.language": "java",
        "otel.resource.cloud.provider": "aws",
    }
}

Ah interesting - I was going to suggest a servlet filter, but I think we may have recently changed to instrumenting Tomcat directly and it does seem like it could be difficult. Filed https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/3025 to check
For attributes, OTel (not aws-otel specifically) has a philosophy of stuffing as much information as possible, and trimming down, rather than the alternate. I originally come from Zipkin with the exact opposite philosophy - don't know if I agree with it :) But given the current state, your best bet is to use the resource processor to drop unnecessary data
https://github.com/open-telemetry/opentelemetry-collector/tree/main/processor/resourceprocessor
Yes I know it sounds silly talking about a small user attribute given that :P But this is currently what we have. If you can, it'd be nice to report issues on the opentelemetry-specification repo for anything data model related like "too much data!", hearing directly from users will help a lot.

Ah - but we do have some options in Java too, forgot if it's easier. Something like -Dotel.java.disabled.resource.providers=io.opentelemetry.sdk.extension.resources.ProcessResourceProvider
https://github.com/open-telemetry/opentelemetry-java/blob/main/sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/OpenTelemetrySdkAutoConfiguration.java#L79

I guess I can add "enduser.id2" in addition to the "enduser.id" for the time being. ;)

If it was up to me, I'd like to opt-in to the ProcessResourceProvider. At least the static stuff.

See this discussion for more on the Resource attributes:
https://github.com/open-telemetry/opentelemetry-java/issues/3240

@stnor While I haven't confirmed it with code, I suspect a ServletFilter could actually augment the root span created by Tomcat based on https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/3025. You might want to give it a try to see if we can get user onto the root span

I will try that. Just a question, how to I get hold of the root span from the servlet?

@stnor There's nothing special to get the root span (yet, we're thinking an API for it could be helpful in that issue). But we basically assume the filter will be run in the context of the root span, so the normal Span.current() should be the root (not the internal span created by a spring controller)

I'm getting an ApplicationSpan instance. Does that sound right?

Yeah we'd expect an ApplicationSpan when accessing a Span from code in your app. It's wrapping a span created by the agent and hoping that wrapped span is the one created by the Tomcat instrumentation.

I'll just try it out tonight CEST in prod and see if it works out as planned.

I didn't get the User tab to show up when clicking on the Root span in the console. I had a few filters before the OTEL filter (in order to have the Principal populated).
Is there a simple way to print the spans locally? Debug/text exporter?

@stnor Yeah OTEL_TRACES_EXPORTER=logging
https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure#logging-exporter

It's there, so perhaps there is a bug somewhere, as the tab doesn't show:
[opentelemetry.auto.trace 2021-05-20 11:25:09:840 +0200] [http-nio-8080-exec-10] INFO io.opentelemetry.exporter.logging.LoggingSpanExporter - '/api/quests' : 60a62af58b1eaac39467edef9f03b1eb e2dd0bb3e5293ac0 SERVER [tracer: io.opentelemetry.javaagent.tomcat-7.0:1.1.1-nomp-aws] AttributesMap{data={http.user_agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36, http.flavor=1.1, thread.id=42<EMAIL_ADDRESS>http.client_ip=<IP_ADDRESS>, net.peer.port=64317, http.method=GET, net.peer.ip=<IP_ADDRESS>, thread.name=http-nio-8080-exec-10, http.status_code=200, http.url=http://<IP_ADDRESS>:8001/api/quests}, capacity=128, totalAddedValues=11}

Thanks for investigating @stnor - in general that looks like what we'd expect now, enduser.id on the SERVER span. Are you able to share the "Raw Data" JSON too? Or if you can just confirm the segment has a user field with that value inside it. If so, I'll ask around what other conditions may be on the mysterious user tab.

I'd rather not share it here. I can share it in a support ticket perhaps if you need it. The user segment is there. See this screenshot:

@stnor Sorry for not following up. From what I heard, there's never been any special rendering of that attribute in the UI - you mentioned "This worked when I tried the X-Ray agent." but want to confirm did you actually see something in the UI?
The console team is working on adding the user field to the Overview tab so it will show up after that gets pushed out at some point.

I might be mistaken, it was a while back:
Found this trace from May 1st. Didn't show the user tab (now anyway).
               "aws": {
                    "xray": {
                        "sdk_version": "2.9.0",
                        "sdk": "X-Ray for Java"
                    }
                },
                "service": {
                    "runtime": "OpenJDK 64-Bit Server VM",
                    "runtime_version": "15.0.2"
                },
                "user": "demo1"

From what I heard, there's never been any special rendering of that attribute in the UI - you mentioned "This worked when I tried the X-Ray agent."

Ok, so the workaround for now would be to log the username in another attribute in addition to enduser.id?

To see it in the console right now I think that is the best way indeed. X-Ray really shouldn't define any structured fields that aren't rendered so will follow up on whether there's anything else missing.


Copy scsi_id binary to dir that driver expects

The CSI driver assumes scsi_id is located at /lib/udev_containerized/scsi_id. Something similar to this is done in the upstream Dockerfile, but somehow we missed it.
CC @openshift/storage
/assign @jsafrane

/lgtm


FDP_CER_EXT.1 Iteration

It appears there were multiple iterations of FDP_CER_EXT.1 in a previous version. Since there is no iteration in the current version "/OLTleaf" can be removed.

The iteration is going to stay, as other PPs that call this (e.g. CA) will have the same SFR un-iterated.


Supports the __index metamethod

Codecov Report

Merging #11 (319c2fb) into master (a77aa46) will decrease coverage by 1.85%.
Report is 1 commits behind head on master.
The diff coverage is 64.70%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@            Coverage Diff             @@
##           master      #11      +/-   ##
==========================================
- Coverage   78.67%   76.83%   -1.85%
==========================================
  Files           6        6
  Lines         333      341       +8
==========================================
  Hits          262      262
- Misses         71       79       +8

Flag
Coverage Δ

unittests
76.83% <64.70%> (-1.85%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed
Coverage Δ

metamodule.lua
76.65% <64.70%> (-2.07%)
:arrow_down:

... and 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Fix array predicate regression

Renamed method to not interfere with the dry-logic predicate. But I can't think of the way to prevent errors like this with tests.
Fixes #186

@solnic thanks for the review!
I added two smoke tests to integration/params/predicates/array_spec.rb and integration/schema/predicates/array_spec.rb. I think we can do the same for all predicate specs. This will serve as an example for newly added predicates.

I think we can do the same for all predicate specs. This will serve as an example for newly added predicates.

I'll address this separately.


UART serial stall

@pablogs9  with reference to https://github.com/micro-ROS/micro_ros_raspberrypi_pico_sdk/issues/937, could you please test my UART serial publisher example at
https://github.com/torlarse/micro_ros_raspberrypi_pico_sdk/blob/humble-uart-vscode/examples/uart/publisher/publisher.c
With the current timeout setting, it spins around 2-500 times, then stall.
My setup is Pico with Debug Probe, free running a DEBUG build, but not in a debug session. For UART testing, I suppose connecting two Picos would render the same result.

If instead of having one call to rclc_executor_spin_period you use something like:
while(1) {
  your_delay_func(100);
  rclc_executor_spin_some(&executor, RCL_MS_TO_NS(100));
}

does it change anything?

Is there any possibility of your transport allocating memory somehow? Could you implement some custom allocators and check if something is continuously allocating memory?

Please paste the output of the agent in the situation you mention


Better metrics error message

@NitinAgg, the changes will show the message every time. Do you wish that to be the functionality?
Maybe just add an input so that the user can choose to not see the message everytime.

@NitinAgg, the changes will show the message every time. Do you wish that to be the functionality?
Maybe just add an input so that the user can choose to not see the message everytime.

yup, missed that. fixed it


FEAT: migrate to pyansys/actions@v4

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/0.1@185ef2d). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff               @@
##             release/0.1     #136   +/-   ##
==============================================
  Coverage               ?   90.97%
==============================================
  Files                  ?       28
  Lines                  ?     1473
  Branches               ?        0
==============================================
  Hits                   ?     1340
  Misses                 ?      133
  Partials               ?        0


add: SECURITY-INSIGHTS.yml

What type of PR is this?

/kind feature
What this PR does / why we need it:
As part of my participation in the Kubernetes Security Slam, It enhance the project's security posture by updating the configuration in the SECURITY-INSIGHTS.yml file.
What problem are you trying to solve?
Enhancing the SECURITY-INSIGHTS.yml configuration will contribute to a more robust security framework for the project, aligning with industry standards and best practices. Related to Kubernetes Security Slam task- 11 and 12.2, mentioned here in the doc
Which issue(s) this PR fixes:

Fixes #
Does this PR introduce a user-facing change?:

In addition to the notes in the description by @hrittikhere, the SECURITY-INSIGHTS.yml file is part of the CNCF CLOMonitor security hygiene checks.

Thanks @eddie-knight, for the review! Waiting for the maintainers to look into it


Fix missing settings during MSI update settings migration

Original stable 1.21.7 install string: -Silent -DoNotUpdate -RunOnMetered -InstallUserContext -StartMenuShortcut -ListPath...
From stable 1.21.7 to stable 1.21.12, then from 1.21.12 to 1.22.1 Preview (MSI) - now the trigger At log on 👌 is gone.
But the WAU_DoNotRunOnMetered still gets set to 1, sorry...

Strange. I ran some tests, and I didn’t notice any problems. I need to test again. But I set the WAU-DoNotRunOnMetered to 1 by default, which should change to 0 if you add -RunOnMetered.
Then, updating to MSI should keep the setting. 🤔

#722

thanks again @KnifMelti for your help 👍

Now confirmed working! 😍


Method 'trigger' not found in class \Vinkla\Pusher\PusherManager

Well, I decided to give this package another go with Laravel 5.1. Not sure what the issue is. None of the Pusher SDK methods are available when I try your dependency injection method.
use Vinkla\Pusher\PusherManager;

class Foo
{
    protected $pusher;

    public function __construct(PusherManager $pusher)
    {
        $this->pusher = $pusher;
    }

    public function bar()
    {
        $this->pusher->trigger('my-channel', 'my-event', ['message' => $message]);
    }
}

Anyway to fix this so autocompletion will work?

also getting this when trying to use Facade
ErrorException in AbstractManager.php line 234:

call_user_func_array() expects parameter 1 to be a valid callback, class 'Vinkla\Pusher\Facades\Pusher' does not have a method 'trigger'

Same here, I also encounter same issue, is there any other way to resolve the issue?

@noprobz09 just use this https://github.com/Kryptonit3/Pusher

Cool, Thanks, I will try this one.

@Kryptonit3 please see #2 for facade usage. Could you provide your setup using the manager class?

I tried to install using the composer but the error says "could not find package krytonit3/pusher at any version for you minimum stability(stable). Check the package spelling or your minimum stabilty." Do you have any idea about this?

I tried this command "composer require kryptonit3/pusher"

By the way, I'm using Laravel 5.0

@noprobz09 try again. Forgot i had stability set to dev.

wow..... I really like your extension, I love this, I will recommend your extension. I really have trouble using some of the extension before, Its not really well documented, and it needs time to debug. Thank you for creating this very simple package but very really amazing extension ;) Keep it up :)

Closing this. Please move the conversation to @Kryptonit3's Pusher package.

Can't get this to work in Laravel 5.2. Getting this "Method 'trigger' not found in class" error.


Release 1.1.2 TypeError: queue.getName is not a function

Hi,
After updating from release 1.0.1 to 1.1.2 I get the error:
TypeError: queue.getName is not a function
    at monitor/node_modules/bull-board/dist/index.js:36:28

I solved using the new BullAdapter class.
Is the release 1.1.2 not backwards compatible?
Thank
Sam

Yeah, we decided to bump minor instead of major since the major release is "new".
Probably not the so semantic of us, sorry for that 😅

Sorry, what is the solution here? I'm using latest BullMQ (1.11.2) and latest bull-board (1.1.2) and it's not working out-of-the-box...

The solution is to wrap the queue with the relevant adapter


I went on a CheckStyle rampage.

Contains
Lots and lots of checkstyle fixes!  I skipped over a couple types because I don't wanna break things.

Can one of the admins please verify this patch?

@GooeyHub ok to test
For the next time I advise to fix the warnings at least in different commits. 74 edited files are a lot for review, and it may sometimes not be clear what a change is all about. Try to work on it in a more structured way, e.g., fix all unused imports first, commit with message "Fixed unused imports", and go on to the next item.

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/527/
Hooray Jenkins reported success with all tests good!

Looks almost good to me, just a few minor issues. Thanks - code quality 4tw!

Just wanted to thank you @LadySerenaKitty for going through all these CheckStyle warnings. Please address the few issues still standing and this PR will be good to go.

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/533/
Hooray Jenkins reported success with all tests good!

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/535/
Hooray Jenkins reported success with all tests good!

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/537/
Hooray Jenkins reported success with all tests good!

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/543/
Hooray Jenkins reported success with all tests good!

I finally found a chance to check it locally, with a few minutes to spare to apply a few final tiny tweaks on top (https://github.com/MovingBlocks/Terasology/commit/104580eb5cf222b0448fde6c790302b2571ccf76) - no explosions occurred! Other than the expected ones, anyway :-)
I'm sure we could find more nits to pick but that can be the next PR!
@LadySerenaKitty thanks a lot! :cat2:


[documentation]

README file
Updated the README file:

Now markdown (.md) instead of restructuredtext (.rst)
Images smaller, centered
Rearranged order

Created wiki pages and linked to them instead of rst files...

Codecov Report

Merging #171 into devel will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##            devel     #171   +/-   ##
=======================================
  Coverage   45.16%   45.16%
=======================================
  Files          70       70
  Lines       20608    20608
=======================================
  Hits         9307     9307
  Misses      11301    11301

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9d67c82...51d432f. Read the comment docs.


Filtering on both a composite key and an individual element of that key generates incorrect SQL

Bug description
My organization is using Prisma with PostgreSQL alongside Graphql and Pothos. Some of our tables are tenant-scoped partitioned tables, and some are non-partitioned. Many of our tables use a composite key like @@id([tenantId, id]). In order to ensure tenant A's data is not shown to tenant B, we wrote a custom middleware that adds tenantId: 'xyz' to most of our queries.
Prisma is generating SQL as expected for these composite keys, but in the event we execute a set of findUnique queries at the same time, Prisma is batching these queries and generating incorrect SQL like below:
Prisma client requests
 await Promise.all([
    prisma.example.findUnique({
      where: {
        tenantId_id: {
          id: exampleIds[0],
          tenantId,
        },
        tenantId,
      }
    }),
    prisma.example.findUnique({
      where: {
        tenantId_id: {
          id: exampleIds[1],
          tenantId,
        },
        tenantId,
      }
    }),
    prisma.example.findUnique({
      where: {
        tenantId_id: {
          id: exampleIds[2],
          tenantId,
        },
        tenantId,
      }
    }),
  ]);

Resulting generated query
SELECT
	"public"."Example"."tenantId",
	"public"."Example"."id",
	"public"."Example"."exampleRelationId",
	"public"."Example"."field",
	"public"."Example"."otherField"
FROM
	"public"."Example"
WHERE (("public"."Example"."id" = $1 AND "public"."Example"."tenantId" = $2)
	OR ("public"."Example"."tenantId" = $3 AND "public"."Example"."id" = $4)
	OR "public"."Example"."tenantId" = $5 -- INCORRECT
	OR ("public"."Example"."tenantId" = $6 AND "public"."Example"."id" = $7)
	OR "public"."Example"."tenantId" = $8 -- INCORRECT
	OR "public"."Example"."tenantId" = $9 -- INCORRECT
) OFFSET $10

I cannot overemphasize how problematic this is for us because our real-life table is large, and if an OR tenantId = X is attached to the WHERE clause above, it is pulling all of the tenant's data for that table into memory and crashing the service due to an OutOfMemory exception. To mitigate this in the short-term, we are modifying our middleware to avoid adding the tenantId if already present in a composite key filter, but we are extremely alarmed by how this bug may manifest in the future.
How to reproduce
I have put together a minimal reproduction at this repository that you can clone and run via docker-compose to observe the behavior described above.
However, the exact steps to reproduce appear to be straightforward:

Have model with a composite key
Execute multiple simultaneous findUniques against that model with filters on both the composite key and an individual element of the key (e.g. filters on both tenantId_id and id or tenantId_id and tenantId)

Expected behavior
The generated SQL should not include ORs chained to the root of the WHERE, eg
SELECT
	"public"."Example"."tenantId",
	"public"."Example"."id",
	"public"."Example"."exampleRelationId",
	"public"."Example"."field",
	"public"."Example"."otherField"
FROM
	"public"."Example"
WHERE (("public"."Example"."id" = $1 AND "public"."Example"."tenantId" = $2)
	OR ("public"."Example"."id" = $4 AND "public"."Example"."tenantId" = $5)
	) OFFSET $7

Prisma information

generator client {
  provider      = "prisma-client-js"
  binaryTargets = ["linux-musl-arm64-openssl-3.0.x"]
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

model ExampleRelation {
  id        String    @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
  tenantId  String    @db.Uuid
  isExample Boolean   @default(false)
  example   Example[]
}

model Example {
  id                String          @default(dbgenerated("gen_random_uuid()")) @db.Uuid
  tenantId          String          @db.Uuid
  exampleRelationId String          @db.Uuid
  exampleRelation   ExampleRelation @relation(fields: [exampleRelationId], references: [id])
  field             String?
  otherField        String?

  @@unique([tenantId, id])
}

  const prisma = new PrismaClient({ log: ['query'] });

  // Running these as a batch adds an extraneous "OR tenantId = ..." to the query
  console.log("-----------------------------------");
  console.log("Invalid query construction");
  console.log("-----------------------------------");
  await Promise.all([
    prisma.example.findUnique({
      where: {
        tenantId_id: {
          id: exampleIds[0],
          tenantId,
        },
        tenantId,
      }
    }),
    prisma.example.findUnique({
      where: {
        tenantId_id: {
          id: exampleIds[1],
          tenantId,
        },
        tenantId,
      }
    }),
    prisma.example.findUnique({
      where: {
        tenantId_id: {
          id: exampleIds[2],
          tenantId,
        },
        tenantId,
      }
    }),
  ]);

  console.log("-----------------------------------");
  console.log("Valid query construction");
  console.log("-----------------------------------");
  await Promise.all([
    prisma.example.findUnique({
      where: {
        tenantId_id: {
          id: exampleIds[2],
          tenantId,
        },
        exampleRelationId: exampleRelationIds[0],
      }
    }),
    prisma.example.findUnique({
      where: {
        tenantId_id: {
          id: exampleIds[3],
          tenantId,
        },
        exampleRelationId: exampleRelationIds[1],
      }
    }),
  ]);

Environment & setup

OS: MacOS w/o Docker, or Docker with node:20.10-alpine3.17 image
Database: PostgreSQL
Node.js version: 20.10.1 or 20.9.0

Prisma Version
 prisma                  : 5.6.0
 @prisma/client          : 5.6.0
 Computed binaryTarget   : linux-musl-arm64-openssl-3.0.x
 Operating System        : linux
 Architecture            : arm64
 Node.js                 : v20.10.0
 Query Engine (Node-API) : libquery-engine e95e739751f42d8ca026f6b910f5a2dc5adeaeee (at<EMAIL_ADDRESS> Schema Engine           : schema-engine-cli e95e739751f42d8ca026f6b910f5a2dc5adeaeee (at<EMAIL_ADDRESS> Schema Wasm             : @prisma/prisma-schema-wasm 5.6.0-32.e95e739751f42d8ca026f6b910f5a2dc5adeaeee
 Default Engines Hash    : e95e739751f42d8ca026f6b910f5a2dc5adeaeee
 Studio                  : 0.495.0

@aqrln Any updates here? Curious if there's a timeline for a fix, or anything else we can do to help move this along -- this bug is still marked as unconfirmed even though @VictoriaHunsaker has provided a full reproduction example.
To reiterate the impact -- we were using a totally-valid query; that query returned correct results in development when the tables weren't that big, and then this ended up causing a production outage because under the hood, that query was actually loading almost the entire table into memory, immediately crashing the application server.

Really sorry for the delay and for this issue falling through the cracks @VictoriaHunsaker and @benweissmann, we will reproduce and look into it ASAP, please expect an update by the end of this week. This sounds like a problematic bug indeed to me. And thanks @VictoriaHunsaker for the detailed reproduction!

I can reproduce it, both on 5.6.0 and with latest 5.9.1 (thanks again for the stellar reproduction!)
The findUnique queries which have an additional filter which is not a part of the composite key are not batched and are issued as separate queries to the database but the filters are correct in the generated SQL.
The findUnique queries which have a filter that is also a part of the composite key are batched, and the generated SQL query is incorrect.
The WHERE clause looks like this:
 WHERE
   (
     (
       "public"."Example"."id" = $1
       AND "public"."Example"."tenantId" = $2
     )
     OR (
       "public"."Example"."tenantId" = $3
       AND "public"."Example"."id" = $4
     )
     OR "public"."Example"."tenantId" = $5
     OR (
       "public"."Example"."tenantId" = $6
       AND "public"."Example"."id" = $7
     )
     OR "public"."Example"."tenantId" = $8
     OR "public"."Example"."tenantId" = $9
   )

but it must be this instead:
 WHERE
   (
     (
       "public"."Example"."id" = $1
       AND "public"."Example"."tenantId" = $2
       AND "public"."Example"."tenantId" = $3
     )
     OR (
       "public"."Example"."id" = $4
       AND "public"."Example"."tenantId" = $5
       AND "public"."Example"."tenantId" = $6
     )
     OR (
       "public"."Example"."id" = $7
       AND "public"."Example"."tenantId" = $8
       AND "public"."Example"."tenantId" = $9
     )
   )

As far as I can see, it still returns correct results to the client, even if I pass different tenantId values as a separate filter and as a part of the composite key filter (i.e., that query correctly evaluates to null), so Prisma evaluates the filters correctly when dealing with the result of the batched query, but the SQL query itself indeed overfetches a potentially large amount of data from the database.

@aqrln Any updates on this? I agree with everything in your write-up, that's the behavior we're seeing as well. I'm a little worried about this being classified as a "performance" bug -- again, for any non-trivially-sized table, this immediately crashes the Rust process and causes an outage.

Hey @VictoriaHunsaker @benweissmann,
There is a fix in the works for another issue https://github.com/prisma/prisma/issues/23343 that to me seems to be the same as the problem being highlighted here.
You can track progress here :)

Hi @VictoriaHunsaker, @benweissmann 👋🏼
As mentioned by @Druue, the fix has been implemented here. Could you please confirm if this issue is solved for you? 🙏🏼
I'll keep this issue open for another week and close it if we get no confirmation, thank you!

Hey, I took a look at this. This is what is now generated, using your repro, so I can confirm that this has been fixed :)
SELECT
    "public"."Example"."tenantId",
    "public"."Example"."id",
    "public"."Example"."exampleRelationId",
    "public"."Example"."field",
    "public"."Example"."otherField"
FROM
    "public"."Example"
WHERE
    (
        (
            "public"."Example"."id" = $ 1
            AND "public"."Example"."tenantId" = $ 2
            AND "public"."Example"."tenantId" = $ 3
        )
        OR (
            "public"."Example"."id" = $ 4
            AND "public"."Example"."tenantId" = $ 5
            AND "public"."Example"."tenantId" = $ 6
        )
        OR (
            "public"."Example"."id" = $ 7
            AND "public"."Example"."tenantId" = $ 8
            AND "public"."Example"."tenantId" = $ 9
        )
    ) OFFSET $ 10


Show duplicate popup Enable network

Decribe the bug
Show duplicate popup Enable network
To reproduce the bug
Version test: build 234
Device test: IP 8 plus
Step:

Go to Staking screen
Select token of network enable
Touch Enable button and observe the displayed screen

Actual: Show duplicate popup
https://github.com/Koniverse/SubWallet-Mobile/assets/117999489/dc50855d-e63c-4fe2-a890-f063a26668a3
Expect: Do not duplicate popup Enable network

Version test: PR 1145
Validation passed.


Add a method to spawn new piece in a specific position

Is your feature request related to a problem? Please describe.
I hope to spawn special pieces at the position where the pieces are swapped;
Currently, I am using the following code to implement this:
# demo.gd

func _ready() -> void:
	# ...
	var consumer := DemoSequenceConsumer.new()
	match_3_board.change_sequence_consumer(consumer)
	match_3_board.state_changed.connect(on_state_changed)
	match_3_board.swap_requested.connect(func(from: PieceUI, to: PieceUI):
		consumer.recently_swapped = [from, to]
	)
	# ...

# demo_sequence_consumer.gd
# ...
var recently_swapped:Array[PieceUI] = []

func detect_new_combined_piece(sequence: Sequence):
	if sequence.all_pieces_are_of_type(PieceConfiguration.PieceType.Normal) \
		and (sequence.is_horizontal_or_vertical_shape() or sequence.is_tshape_or_lshape()):
			match sequence.size():
				4:
					var new_special_piece: SpecialCrossPiece = SpecialCrossPieceScene.instantiate() as SpecialCrossPiece
					for piece: PieceUI in sequence.pieces():
						if piece in recently_swapped:
							recently_swapped.erase(piece)
							var cell := piece.cell()
							new_special_piece.set_meta("cell", cell)
							break
					return new_special_piece
# ...

# sequence_consumer.gd
# ...
class DrawNewPieceSequenceAction extends SequenceAction:
	func run() -> void:
		var target_cell_to_spawn: GridCellUI = sequence.middle_cell()
		if arguments.new_piece.has_meta("cell"):
			target_cell_to_spawn = arguments.new_piece.get_meta("cell")
			arguments.new_piece.set_meta("cell", null)

		await consumer.board.piece_animator.consume_pieces(sequence.normal_pieces())

		sequence.consume_only_normal_pieces()

		consumer.board.draw_piece_on_cell(target_cell_to_spawn, arguments.new_piece)
		await consumer.board.piece_animator.spawn_special_piece(target_cell_to_spawn, arguments.new_piece)
#...

This can work normally, although it may look a bit hacky.
My only complaint is that it requires me to modify the sequence_consumer.gd in the plugin, and I really don't want to do that.
Can you come up with a better way to achieve this? :)

@univeous You're right, it looks a bit tricky and really the end user shouldn't have to modify the inner classes.
I've created a simple approach with a new overridable method in PieceUI that allows you to create your own custom logic to generate and draw parts, further information in this commit.
I have created a dictionary as an argument in case more parameters are needed in the future. At the moment it only receives the Sequence to which it belongs.
The new overridable method in PieceUI
func custom_spawn_and_draw(arguments: Dictionary = {}):
	return null

A simple example
This logic spawn the new special piece in a random cell replacing the previous one:
func custom_spawn_and_draw(arguments: Dictionary = {}):
	var random_cell: GridCellUI = board.grid_cells_flattened.pick_random() as GridCellUI
	var previous_piece: PieceUI = random_cell.replace_piece(self)

	if previous_piece:
		previous_piece.queue_free()

	return random_cell

In case no custom logic is defined and null is returned
In this particular case all works as before, creating the new special piece in the middle cell of the origin sequence


Create StepDataService

StepDataService

I'm afraid this repo should have been made private many years ago. It was just a temporary place to work on a prototype and I'm not planning to make or accept changes. Sorry if you've ended up on the wrong track here.
The flutter/flutter repo is open for business of course.


Vouch cannot attest via Lodestar

Describe the bug
Our Vouch 1.7 shows the Lodestar CLs as not available for attestations. We haven't tracked this down as to which Lodestar version may have caused a change in behavior.
Please let us know what we can get you to narrow this down.
Expected behavior
Vouch works with Lodestar
Steps to reproduce
Configure Lodestar Ethereum node, and Vouch pointed at it and at least one other CL
Additional context
Logs from Lodestar:
consensus-1  | Feb-09 10:03:05.000[]                 info: Synced - slot: 8387413 - head: 0xcf20…9930 - exec-block: valid(19189850 0xe5d8…) - finalized: 0x15f9…93f2:262104 - peers: 22
consensus-1  | Feb-09 10:03:07.073[rest]            error: Req req-43 getAggregatedAttestation error - No attestation for slot=8387413 dataRoot=0xcec0c9b1f76ab7e46ab74f654122c44c90ee97aa1356ad9b6777e5df0871835b
consensus-1  | Error: No attestation for slot=8387413 dataRoot=0xcec0c9b1f76ab7e46ab74f654122c44c90ee97aa1356ad9b6777e5df0871835b
consensus-1  |     at AttestationPool.getAggregate (file:///usr/app/packages/beacon-node/src/chain/opPools/attestationPool.ts:136:13)
consensus-1  |     at Object.getAggregatedAttestation (file:///usr/app/packages/beacon-node/src/api/impl/validator/index.ts:1040:47)
consensus-1  |     at processTicksAndRejections (node:internal/process/task_queues:95:5)
consensus-1  |     at Object.handler (file:///usr/app/packages/api/src/utils/server/genericJsonServer.ts:45:23)
consensus-1  | Feb-09 10:03:17.020[]                 info: Synced - slot: 8387414 - head: 0x5d51…c772 - exec-block: valid(19189851 0xfe95…) - finalized: 0x15f9…93f2:262104 - peers: 25
consensus-1  | Feb-09 10:03:28.999[]                 info: Synced - slot: 8387415 - head: 0xeed8…ceb6 - exec-block: valid(19189852 0x2908…) - finalized: 0x15f9…93f2:262104 - peers: 24
consensus-1  | Feb-09 10:03:31.071[rest]            error: Req req-4n getAggregatedAttestation error - No attestation for slot=8387415 dataRoot=0x82c2090fec4d56f5176c183280f9d2f63a2ccf7b3ecb419510ef9e82c0f0a895
consensus-1  | Error: No attestation for slot=8387415 dataRoot=0x82c2090fec4d56f5176c183280f9d2f63a2ccf7b3ecb419510ef9e82c0f0a895
consensus-1  |     at AttestationPool.getAggregate (file:///usr/app/packages/beacon-node/src/chain/opPools/attestationPool.ts:136:13)
consensus-1  |     at Object.getAggregatedAttestation (file:///usr/app/packages/beacon-node/src/api/impl/validator/index.ts:1040:47)
consensus-1  |     at processTicksAndRejections (node:internal/process/task_queues:95:5)
consensus-1  |     at Object.handler (file:///usr/app/packages/api/src/utils/server/genericJsonServer.ts:45:23)
consensus-1  | Feb-09 10:03:41.079[]                 info: Synced - slot: 8387416 - head: 0xd216…9251 - exec-block: valid(19189853 0xb04b…) - finalized: 0x15f9…93f2:262104 - peers: 37
consensus-1  | Feb-09 10:03:43.045[rest]            error: Req req-4y getAggregatedAttestation error - No attestation for slot=8387416 dataRoot=0xb7ec7ae44e848229f5431c67e7e9305b87c03654f43a1de3d9cc1c075d9f223d
consensus-1  | Error: No attestation for slot=8387416 dataRoot=0xb7ec7ae44e848229f5431c67e7e9305b87c03654f43a1de3d9cc1c075d9f223d
consensus-1  |     at AttestationPool.getAggregate (file:///usr/app/packages/beacon-node/src/chain/opPools/attestationPool.ts:136:13)
consensus-1  |     at Object.getAggregatedAttestation (file:///usr/app/packages/beacon-node/src/api/impl/validator/index.ts:1040:47)
consensus-1  |     at processTicksAndRejections (node:internal/process/task_queues:95:5)
consensus-1  |     at Object.handler (file:///usr/app/packages/api/src/utils/server/genericJsonServer.ts:45:23)

Operating system
Linux
Lodestar version or commit hash
v1.5.0 and v1.5.1 tested

Thanks. Spoke with Jim, I'm getting Vouch trace logs. On the Lodestar side, I tested it on 1.13.0 as well and see it there.

On the Lodestar side, I tested it on 1.13.0 as well and see it there.

Thanks for confirming this, and helping debugging the issue. We really need to look into running Vouch ourselves or even better, include it in our sim tests.

To make this more fun, it's intermittent. Which suggests a race condition / timing / latency thing?

Which suggests a race condition / timing / latency thing?

It's unlikely as there is a ~4 second delay between submitting the attestation and requesting an aggregate. The Lodestar debug logs could provide  more insights on this as we would see the timings of REST API calls.

To make this more fun, it's intermittent. Which suggests a race condition / timing / latency thing?

I think have a good guess now on why this happens assuming Vouch implements a similar behavior to what Nimbus does https://github.com/ChainSafe/lodestar/issues/6634#issuecomment-2042672443. (maybe @mcdee could quickly confirm this, haven't gotten around to review Vouch code yet)
So why is it just intermittent? As outlined in the linked comment, while this would never happen if Vouch always submits the attestation to all connected bns, it might also not happen if Lodestar bn received the attestation via gossip published by another node of the same fallback / multi node setup. But this is not guaranteed to be the case and is essentially a receive between gossip (+ preparing the aggregate) and the REST API call, hence we are seeing this error intermittently.
The good news is that it's not an actual issue and just noisy logs which will be improved (https://github.com/ChainSafe/lodestar/issues/6631) in our next release. I would expect that Vouch was able to publish the aggregate attestation as it received the aggregate from another (primary) node.

Vouch uses a submitter strategy to know where to send data.  If this is configured by the user to send to all nodes (the multinode strategy) then all beacon nodes should obtain the attestations (and beacon committee subscriptions).

Vouch uses a submitter strategy to know where to send data. If this is configured by the user to send to all nodes (the multinode strategy) then all beacon nodes should obtain the attestations (and beacon committee subscriptions).

Thanks for the clarification, this could be easily confirmed by looking at Lodestar bn debug logs as we would see the submitPoolAttestations in the same slot as the getAggregatedAttestation call was done but in that case there would not be an error, the code path for this is really simple and well tested.

A fix https://github.com/ChainSafe/lodestar/pull/6668 has been included in our latest release v1.18.0, feel free to reopen if you can still observe this issue.

Vouch uses a submitter strategy to know where to send data. If this is configured by the user to send to all nodes (the multinode strategy) then all beacon nodes should obtain the attestations (and beacon committee subscriptions).

Looks all good from Vouch side, this was a bug in Lodestar


Always pull latest CI image

Jenkins changed this behavior, just pulling the latest image if explicitly specified: https://github.com/jenkinsci/pipeline-model-definition-plugin/pull/199

Codecov Report

Merging #66 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #66   +/-   ##
=======================================
  Coverage   29.66%   29.66%
=======================================
  Files          24       24
  Lines        2151     2151
  Branches      361      361
=======================================
  Hits          638      638
  Misses       1489     1489
  Partials       24       24

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 023de42...f6f8486. Read the comment docs.

/lgtm

/approve


Missing response values in identity creation

name value is empty in the response body of a successful registration (calls to POST /identities)

I would like to work on this one. GHC - 2021 OSD


Simplify the application of MUI package.

Include webcomponentjs into mui.js
Dynamically load mui elements in mui.js
http://addyosmani.github.io/webcomponent-samples/polymer/modules/

Webcomponent.min.js is not integrated into mui.js
: Polyfills should be deployed by developer, not by WAAX library.
#31 has done the followings:

bower_components is integrated into build/mui
WAAX installation no longer require Bower. This ensure that users can have their own bower_components path when using WAAX.


Automatically building and publishing multi-arch releases using Github Actions

@ssut fyi, I managed to get Linux 386,x86_64,aarch64 + Windows 386,x86_64 working here — https://github.com/luk1337/payload-dumper-go/tree/1.0.2

And also Linux armv7 here — https://github.com/luk1337/payload-dumper-go/tree/1.0.3

darwin-amd64 — https://github.com/luk1337/payload-dumper-go/tree/1.0.4


ci: improve titles for workflows

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows Conventional Commits
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Refactoring
[ ] Code style update
[x] Build or CI related changes
[ ] Documentation content changes

Easy for read

@nsbarsukov @vladimirpotekhin please, could you review?

@vladimirpotekhin hello, could you see?)


Add options for what to display in tooltip

It would be cool if there were options in Esc -> Interface -> Addons -> LogTracker or another place to choose what to display in the tooltips. E.g., I'm only interested in showing 25man Naxx / OS / EoE logs so I would unselect 10man Naxx / OS / EoE and both 10man and 25man VoA.

Valid point, I'll implement is when I have some spare time :)

It is now possible to hide either 10 or 25-player logs. I'm not yet sure how best to solve individual raids without having to adjust the options with each phase. If I come across a good "general" solution I'll go for that, otherwise I'll just do it hardcoded for each phase.


(Cardboard) Resolution & Headtracking Issue With Riftcat/VRidge & TrinusVR

Hello! I'm looking though this code and I'm trying to find a way to change the resolution with this module to support a fixed 1280 x 720 rather than using the Vive's default 2160x1200/(1080x1200)x2 resolution.
When I use this module in both, your HoneySelectVR and PlayClubVR mods, I have my windowed resolution set to 1280 x 720 but SteamVR is using more than that which doesn't show up on my window. I'm trying to make it be set to a fixed 1280 x 720 so that this will be compatible with google cardboard via Riftcat/Vridge and TrinusVR since most mobile phones don't support such a high resolution.

There is also an issue with the headtracking in Riftcat/VRidge and TrinusVR. Basically the whole headtracking is frozen from the moment you open the application. If you look down, then start the application, it will think you are looking down the whole time and not looking anywhere else, no matter if you look back up, left, or right. Once the application is closed, headtracking is fine again in SteamVR as the grid lines show.
Just to clarify, both Riftcat/VRidge and TrinusVR are compatible with SteamVR and I've played a few steam games with them as well.
Overall, I believe that this VRGIN module is causing the issues with your HoneySelectVR and PlayClubVR mods when it comes to using these mobile applications due to their limitation in their resolution. I would greatly appreciate any help to fix this issue, if you give me some pointers. I believe that this will help get these awesome VR games to a larger source of players and let even MORE people enjoy them :) Thanks!

AFAIK, the window resolution is completely irrelevant when it comes to the resolution displayed on the Vive. The only thing it affects is the resolution of the GUI displayed on your controllers.
Can't you control the resolution in the streaming settings of Riftcat? You might also want to try RenderScale in the settings, perhaps.
Regarding the tracking issues, I have no idea why this doesn't work. The included version of the OpenVR API might be too old?
That being said, I think I've heard from others that PlayClubVR actually works with Riftcat et al.

Thank you for your feedback!
The streaming resolution on riftcat is set to 720p. I just think its strange how I have the normal HoneySelect.exe set to 720p completely without riftcat, but once I use your VR mod, its 720p until i get into the actual scene, thats then it becomes distorted and more than 720p :/
Ill try again with PlayClubVR, I just really wish i could fix this issue with HoneySelect.
Thank you for your help :)


Add "remote request pending" UI indicator

Is your feature request related to a problem? Please describe.
When clicking on a row, there can be a 1s to 15s delay before the HTTP request is sent and the HTTP response is received.
There is no visual indicator that "something is happening" in the background; which gives the false impression that the app is not responding.
Describe the solution you'd like
In winforms, could use background worker process that allows the UI to show a "progress bar" or "activity indicator".
In WPF there is something similar.
Need to use the MAUI equivalent for reporting on progress of background task.
For the actual UI would like to show two status:

per changed record (new, modified, deleted): additional icon to indicate saved to local db, but not yet sync to remote
per view model the view would have a status bar (or similar indicator) that shows state of background activity: { blank = nothing running, pending = local changes waiting, sync = http request sent }

Describe alternatives you've considered

change cursor to "busy": works for windows, but not for tablets/phones that dont have cursor
popup progress dialog: design is inconsistent with standard tablet/phone ui
change page to show "sync in progress": design is often used in "update applets" (eg google play store, samsung galaxy store)

Additional context
I havent seen tablet/phone apps that show the status of background tasks; the apps generally crash out if something doent work (eg when sending mail fails because of connectivity, attachment size, or authentication problems I need to reboot my phone to clear the "send" error so I can fix it...). So the suggestion is based on how I would show status in a Windows UI. If MAUI has a different standard approach, I would like to see it.
StackOverflow has a few questions related to this... suggestions include:

use ReportProgress like.. async Task CallTaskAbc(aViewModel viewModel, IProgress<SyncStatus> progress)
use Dispatcher.Dispatch(async() => await CallTaskAbc());
use Synchronization Context (which seems like a variation on Report Progress)

any other approaches to look at?

An interesting problem that can probably easily be solved by a few event models.
Let's say I introduce a "SyncEvents" delegate within the client.  The client would then fire an event (captured by your delegate) for "sync-start", "sync-end", "sent-entity", and "received-entity" - each one capturing some state (we know, for example, how many items are in the queue, so sent-entity can send the item# and the total # items).  Would that suffice?

the "syncevents" approach is consistent with current task structure, so should deal with the sync process.
what about showing record status though? (local to remote in sync or not).

could use the RefreshView to handle the visualization?

So, firstly, you can't tell if the local is in sync with the remote for any specific entity without fetching that entity (at which point it's in sync).  You can say whether you have a queued push waiting for a given entity (might be worth exposing this as a helper method).
For the RefreshView - do you mean adding a "sync" indicator to the samples?

A - I agree, that once you have a pull then everything is in sync and no indicator is required.
where I notice the issue is a) on the initial pull (start the app and go into la la land until something shows up) and b) on the initial push (make a change and app goes into la la land until something shows up).... I notice this on initial test run; I expect the back end service "hibernates" after a period of inactivity and needs time to "wake up" when the first pull comes in.
B- the "queued" items waiting to push is what I am referring to by "pending". the local copy has been changed and is in the queue to be pushed. would like a visual indicator that something is queued.
C - according to docs, Refresh View combines two things: the command to start the refresh (eg use a swipe gesture instead of a button) and an activity indicator (the busy icon). The app as is, has the refresh button, so could add the activity indicator when any of the "sync events" are active. as you indicated, there a lots of changes coming through, hard to keep up with the firehose.

Got it.  The way I would do this is in the intermediate service - the RefreshView can bind to a bindable property that is true/false..  Then I bind to the state changes, setting the initial value to false.  When I trigger the refresh, it sets the value to true (on the UI thread so the binding picks it up), goes about the refresh, then sets it back to false in a "finally" block.  You don't need to have anything fancy or in SDK for handling that.
Another possibility is to trigger the refreshing bindable property change on the sync state change (i.e. delegate that receives the sync-started / sync-finished events).
Anyhow - the eventing is a good idea, and I'll work on it soon.

Added a SynchronizationProgress event handler - something like:
client.SynchronizationProgress += (sender, args) =>
{
   // args is SynchronizationEventArgs
};

The SynchronizationEventArgs class looks like this:
    public enum SynchronizationEventType
    {
        PushStarted,
        ItemWillBePushed,
        ItemWasPushed,
        PushFinished
    }

    public class SynchronizationEventArgs
    {
        public SynchronizationEventType EventType { get;  }
        public long QueueLength { get; }
        public string? TableName { get; }
        public string? ItemId { get; }
        public bool IsSuccessful { get; }
    }

When a push happens, you will get a PushStarted (with the queue length), then ItemWillBePushed / ItemWasPushed events either side of a single item, then finally a PushFinished.

thanks for the changes.
the event stream (start, item updated, finish) should do the trick for keeping the UI "fresh".


Initial display render strange on paper-dialog

Scrolling seems to trigger a repaint and update.
TODO: Add details

Closing for now, haven't been seeing it. Will Re-open if I do.


Migration tutorial link in readme doesn't work

The readme (https://github.com/fastai/nbdev#readme) begins:
NB: This is nbdev v2, a major upgrade of nbdev. Whilst the differences to nbdev1 aren’t huge, it does require some changes. The old version docs are at nbdev1.fast.ai. You can use version-pinning in settings.ini (i.e 'nbdev<2') to stop nbdev from upgrading. To upgrade, follow the migration tutorial.
https://github.com/fastai/nbdev/blob/master/migrating.html gives a 404 page
It should perhaps link to https://nbdev.fast.ai/migrate.html instead?

Thanks for letting us know. The issue occured because the README is auto-generated from the web home-page. I've fixed it to avoid the relative link now.


Crash with dotless i

See FabricMC/fabric#3098. Mine Cells uses toLowerCase() without specifying the locale for a block state property enum:
https://github.com/mim1q/MineCells/blob/c38f478a0956992754079ac116a39d9f92e87e1f/src/main/java/com/github/mim1q/minecells/block/WoodenBoardBlock.java#L89
When MIDDLE is used as a property value in a Turkish-locale environment, it gets turned into mıddle. The game then crashes with an exception from MC's property validation code.

That's what I get for trying to save a few lines of code 😅 I'll fix that for the next release, will link the commit later today!

Should be fixed with this commit: b3b5b5d


Pedrofcarvalho/alum grad ping

Resolves #666
Created a random welcome ping when the roles GradStudents and Alumni roles are added
I also added a few variables to the Constants object, since they were relevant to this change

As this is my first PR here, please be as critical as needed so I can get a better grasp if I have to make any style or general adjustments

Don't forget to mark conversations as resolved when you fix them :)

Were you able to run lion and test this code?

Were you able to run lion and test this code?

I create a server and test bot and was doing the testing through that.
But if you mean the actual Lion itself, not really.

Were you able to run lion and test this code?

I created a server and test bot and was doing the testing through that. But if you mean the actual Lion itself, not really.

That's what I meant, just a test bot and test server


Support Xcode10 new build system

In Xcode10, Info.plist should not be included in the build target.
This does not affect Xcode9 etc even if delete this.

Hi @Econa77, thanks for the PR!
Would you mind rebasing this on the current master?

Done.
However, this problem is solved with this commit.
I think that it is better to add the IDEWorkspaceChecks.plist file under git control, so please merge it if needed.

Thanks!


slightly improve typing in 'needsfile'

Thanks for this PR and also the others :+1:
It is great to have someone in the community who deals with code quality and enhancements like you do.
Huge kudos from my side. :1st_place_medal:


Move contributors between tiers

Is it possible to move users between tiers?
We started to use OpenCollective (https://opencollective.com/playframework) a few weeks ago, but actually did not correctly set up the tiers yet. We also did not officially announce Open Collective yet, however people already started to donate. They also used the default "sponsor" tier. I now renamed the tier to "premium sponsor" with a minimum amount of USD 1200.
Now the problem is, it shows "Latest activity by" from users which actually did not donate USD 1200 but much less.
Also actually a company which is an actual "premium sponsor" actually used the "custom contribution" to set up their monthly contribution.
So what I would like to do is to move the company that donates USD 1200 monthly from the "custom contribution" tier (which in the API show up without the "tier" json property) to the now "premium-sponsors" tier and move all users that are currently in the "premium-sponsors" tier over to the "backers" tier.
Is that somehow possible?

We don't have any feature for that at the moment, but for a one-time thing, the support team can move them for you. Feel free to contact<EMAIL_ADDRESS>with this request.
It would be great to make this happen in the interface, we kind of discussed it as part of https://github.com/opencollective/opencollective/issues/2097#issuecomment-565422585 but never really kickstarted a project.

@Betree Thanks, I reached out to support.

As a first step, this could be implemented as a root action to reduce the load on support. In the same spirit as https://github.com/opencollective/opencollective/issues/4550#issuecomment-1004692664, we could try with a Move received contributions:

We could also re-use the mutation proposed there:
moveOrders = {
  orders: OrderReferenceInput[],
  fromAccount: AccountReferenceInput, // Update order.fromCollective with this account
  toAccount: AccountReferenceInput, // Update order.collective with this account
  tier: TierReferenceInput,
  makeIncognito: boolean
}

Looks like there's a common need for a TierPicker component between https://github.com/opencollective/opencollective/issues/5000 and https://github.com/opencollective/opencollective/issues/4009. Let's see if we can either extract that from somewhere (edit recurring contributions?) or at least make sure we don't double-implement in parallel

@Betree Is there a UI for end users already? If not, should this issue be re-opened? Thanks

@mkurz Thanks for the ping, closing this was indeed unintentional as the interface is only for platform admins at the moment.

This is definitely needed imho. Would solve my current issue with #7183 (sorting #6723 would also help)


Add Custom App to be protected

Hello,
Can we add custom application to be protected by WIP ? Like Box Drive or other ?
Thanks,
Best regards, Nicolas

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: c1ad3f92-24de-5eb5-8454-c72d85737183
Version Independent ID: 900125eb-31ea-faf3-ac30-7c3d7b30f611
Content: Create a Windows Information Protection (WIP) policy with MAM using the Azure portal for Microsoft Intune (Windows 10)
Content Source: windows/security/information-protection/windows-information-protection/create-wip-policy-using-mam-intune-azure.md
Product: w10
GitHub Login: @Justinha
Microsoft Alias: justinha

@dbznico this seems like a dup of what we discussed in issue #2643


Write shortest possible code: python how to take screenshot (python)

Please write shortest code example for this question:
python how to take screenshot in python
How to do it:

Go to python codes
Create new file (named in underscore case, should contain key words from title) with md extension (markdown file).
Propose new file with following content (please use all three blocks if possible - title, code itself and explanations list):

# python how to take screenshot

```python
code part1 part2 part3 ...
```

- part1 - explain code part 1
- part2 - explain code part 2
- ...

More advanced template for examples and linked solutions. More docs here.

Hey @nonunicorn can I take this ?

https://onelinerhub.com/python/how-to-take-screenshot


updated markdowns

linked pr
https://github.com/coronasafe/leaderboard/pull/280

@rithviknishad can you please review