[SUGGESTIONS] List of possible suggestions

Been working with this framework for a bit. Just wanted to record all the small suggestions I've accumulated. Not sure how this list will be affected by the transition to an NPM package though.
Saving
There doesn't seem to be an entry in the docs for implementing saves. Adding some would be nice. Here are some suggestions for the saving implementation as well:

Version Skew updates - Update functions that run when the save version doesn't match the current game version.

In addition to this, the base save framework should probably store the game version automatically as well.
This probably also really needs unit tests to make sure version skew update code doesn't break saves.

Import/Export to file - Not sure why the framework doesn't have this already.

With this, there should probably be built methods for handling this (and maybe some built components as well).

Docs on setting up saving for new features - Probably will be added to whenever you add a more in-depth explanation on how to create new features. Not sure if it's easy to tell you should extend the SaveData interface.

Is it possible to use generics in the Feature definition to force this somehow? Not too familiar with generics though...

Pre-built saving helper functions - If we want to store complex data in the save like arrays, or objects, or arrays of objects, etc. Having a pre-built method for handling that would be nice.
With the save documentation, mentioning the SAVE_KEY property in Game.ts would probably be good, as I found that out by skimming the code. That might also be something that's exported when this is transitioned to an NPM package though.

Hotkeys

Describing a central location to actually add the Hotkeys would be good as well. It seems like they could be added anywhere based on the framework, but setting aside a central location would be easier for template users to understand.

Built-in UI
This section is mostly because I'm not that familiar with TailwindCSS yet.

Modals - Again not too familiar with TailwindCSS yet, but it seems like modals might be a bit complicated to implement (at least compared to how Bootstrap has them pre-built). Having modals be part of the framework would be good.
Tooltips - It seems like based on your showcases this was easily implemented. I can probably look through the source code there, but just thought to mention it here as well.
Notifications - This also seems already built into the framework, there's just no documentation on it.

All great feedback!
Saving

Good idea! That's definitely something I'd like to be added.
True, would be nice if you could pick from a few encodings: 'base64' or 'something-with-a-key'.
I'm planning a demo application that will handle most of this :). #62
Interesting idea, it could work similar to the Developer Panel:

save(): SaveField[] {
  return [
    new NumberField(this.money, 0).
  ]
}

See 3.

Hotkeys

The reason they can be added from anywhere is so you can define them in the initialization of your Feature. That way if you delete your feature, there is no more useless code hanging around.

Built-in UI
The main reason there is no docs on the UI yet, is that I wanted the project to be script first. After the library, all this stuff will be in the template, and explained in the demo.

We can add SweetAlert to the dependencies. They make it super easy to show custom modals.
Tooltips are handled with the .has-tooltip and .tooltip css classes.
That's true.

Thanks gain for the feedback, very useful!


Create how-to doc for open source contributors

Need to add gmail instructions. I haven't done a beta test app with google integration before


v-select component works incorrect with integer values

            <v-select :value.sync="groups" :options="groupOptions" multiple></v-select>

And data is:
      'groupOptions': [
        {value: 5, label:'Apple'},
        {value: 6, label:'Banana'},
        {value:'cherry', label:'Cherry'},
        {value:'orange', label:'Orange'},
        {value:'grape', label:'Grape'}
      ],
      'groups': [5, 'grape'],

Grape shown in placeholder while apple not. If i will choose only integer values — placeholder will be truncated to small as there isn't characters at all.

I have same problem, did you fixed it ?, Is there a way where PHP/Laravel can cast JSON from integer to string ?

@cieplik206 , it's not backend fault therefore workaround should be implemented on frontend side. You can use computed values to cast to string values.

Is not about the type of element (number or string)... is more like if the multi select was truncated.
I tried to detect the problem but can't detect it. I'll check all this behavior and rewrite it if is necessary.
Greeting.


Turn off the triggers after ";"

Auto complete triggers after dot are pretty useful, however, when they appear after ";" (end of the line) or after I have chosen the suggested function from the dropdown list. In these cases they really slow down the work pushing me to close this dropdown list every time. I the attachments I provided both cases described above.

I don't know why I can't upload fourth screenshot, but there is pretty much the same thing as on second one:
After choosing push method the same thing occurs on the screen.

I can't reproduce this issue now(using latest tern). Can you try again?


[Debug] Remove unnecessary DebugDescriptionMacro feature references (NFC)

The DebugDescription macro has been accepted. Additionally, the DebugDescriptionMacro feature was not providing conditional declaration as I originally intended. References to the feature are not needed and can be removed.
(cherry-picked from #77738)

@swift-ci please test

@swift-ci test linux

@swift-ci test windows

@swift-ci test linux

@swift-ci test macOS


Issues with calculating down with 1 coin type between

Thanks for your fast responses and help, sadly I found another problem.
In case you pay 1GP but you only have 100CP it does not work.
Example 1:
0GP 0SP 100CP | GP "0-1"
Expected:
0GP 0SP 0CP
Actual:
blank GP 0SP 100CP
Error:
Uncaught TypeError: Cannot read property 'value' of undefined
    at removeMoney (lazymoney.js:192)
    at HTMLInputElement._onChangeCurrency (lazymoney.js:71)
    at HTMLInputElement.dispatch (jquery.min.js:2)
    at HTMLInputElement.v.handle (jquery.min.js:2)

Example 2:
0GP 0SP 100CP | GP "-1"
Expected:
0GP 0SP 0CP
Actual:
-1GP 0SP 100CP
Error:
none

This is a an issue that seems to appear only when dealing with an exact amount of copper that would leave the total at 0. If there is any currency left over (e.g. 101cp) or if you try the same with plat and silver, it works properly. That's assuming you have the latest change I pushed some 30 minutes after the 0.9.12 version as I really didn't want to spam the Foundry module repository.
I will have to look into this specific case tomorrow.

I will re check tomorrow too. Could swear it was not only for this case.

Pushed another update just now. This one seems to be working even with the 100cp -1gp example.


Incorrect Grid power, Grid CT power, and Non-Essential power

Deye 5kW Hybrid Inverter
Firmware: MAIN：3382-1515
Deye Inverter Add-on (multi)
Grid power is the power going passing through the GRID port of the inverter, Grid CT power is the passing through the CT, and Non-Essential power is the power which T's off between the inverters GRID port and the CT.
What I am observing on my integration is that Grid power equals Grid CT power when Non-Essential power is none-zero.
Grid CT power should be equal to the sum of both Grid power and Non-Essential power.

What is your load_limit set to?

Hi Johann
Thanks for getting back to me.
My load limit is set to "Zero Export".
Kind regards
Alistair
On Wed, 7 Feb 2024 at 23:42, Johann Kellerman @.***>
wrote:

What is your load_limit set to?
—
Reply to this email directly, view it on GitHub
https://github.com/kellerza/sunsynk/issues/232#issuecomment-1932986149,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZWHW23GH4IS5TTVZA4N6BTYSPYLXAVCNFSM6AAAAABC5V2EKKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMZSHE4DMMJUHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hi Johann
I've noticed now that my essential loads power is also not correct, and is
somehow linked to the non-essential power.
Below are two screenshots showing with my geyser turned on, and then with
my geyser turned off.
[image: image.png]
[image: image.png]
Kind regards
On Thu, 8 Feb 2024 at 05:37, Alistair Thornton-Smith @.***>
wrote:

Hi Johann
Thanks for getting back to me.
My load limit is set to "Zero Export".
Kind regards
Alistair
On Wed, 7 Feb 2024 at 23:42, Johann Kellerman @.***>
wrote:

What is your load_limit set to?
—
Reply to this email directly, view it on GitHub
https://github.com/kellerza/sunsynk/issues/232#issuecomment-1932986149,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZWHW23GH4IS5TTVZA4N6BTYSPYLXAVCNFSM6AAAAABC5V2EKKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMZSHE4DMMJUHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

@alistairts, I don't see any image.
Something about your wiring/setup requires the sensor to be different from the norm. My suggestion would be that you create your own custom sensor/mysensors to correctly show these values.
Once you have a working sensor, we could see if there is some register to read determine what to use.
You can see the current definitions and some history for essential power here, the rest of the file contains non-essential etc - https://github.com/kellerza/sunsynk/blob/main/src/sunsynk/definitions.py#L92-L108

Hi Johan
I've been reading up on your custom sensors page, and I can't seem to get
the mysensors.py file to work.
Where exactly must these folders "/share/hass-addon-sunsynk/" go in my HA?
I've put it under my main CONFIG folder, but your addon is not importing it.
It would be easier to simply edit your sensor definitions file, where can I
find that to edit it?
Kind regards
On Mon, 12 Feb 2024 at 14:31, Alistair Thornton-Smith @.***>
wrote:

Hi Johaan
I guess github doesn't allow sending of pictures.
I will do as you've suggested, but how do I get to your code? as your
add-on does not show up in my custom_componets file.
Kind regards
On Mon, 12 Feb 2024 at 12:23, Johann Kellerman @.***>
wrote:

@alistairts https://github.com/alistairts, I don't see any image.
Something about your wiring/setup requires the sensor to be different
from the norm. My suggestion would be that you create your own custom
sensor/mysensors to correctly show these values.
Once you have a working sensor, we could see if there is some register to
read determine what to use.
You can see the current definitions and some history for essential power
here, the rest of the file contains non-essential etc -
https://github.com/kellerza/sunsynk/blob/main/src/sunsynk/definitions.py#L92-L108
—
Reply to this email directly, view it on GitHub
https://github.com/kellerza/sunsynk/issues/232#issuecomment-1938398824,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZWHW26POPFROTJKO5PN2MLYTHUTJAVCNFSM6AAAAABC5V2EKKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMZYGM4TQOBSGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

I've noticed now that my essential loads power is also not correct, and is somehow linked to the non-essential power.

I'm using the sensor "Essential 1 power" for my essential power, which excludes the non-essential in the calc
with regards to your grid power - I'm using sensor "Grid LD power" as that is basically the CT reading minus the non-essential, which could be a negative value if your inverter is feeding to the non-essential load

Thank you RhysMcW, that did the trick and I didn't have to create any custom sensors.
Replying on the website and not via email allows me to attach pictures, attached is a picture showing all powers balance out, but that consumed by the inverter...
Thanks again Johann for the work you put into this integration.

Looking at my config today I also use essential_1_power
Adding this to the Template Developer Tool in HASS
essential_1_power + non_essential_power
{{ states.sensor.ss_essential_1_power.state }} + {{ states.sensor.ss_non_essential_power.state }} = {{ int( states.sensor.ss_essential_1_power.state) + int(states.sensor.ss_non_essential_power.state) }}

essential_power: {{ states.sensor.ss_essential_power.state }}
     load_power: {{ states.sensor.ss_load_power.state }}

gives me
essential_1_power + non_essential_power
2341 + 3284.833 = 5625

essential_power: 5595
     load_power: 5595


[Information] Skinchanger

be aware of g_LocalPlayer being nulled in framestage 7 (gets restored in post update end) after force updating  which causes ur skins to not apply till u die or get a new weapon
-its probably better to not use g_LocalPlayer at all.

Thank you very much, very helpful information, because i was puzzled why my skinchanger didnt work after fullupdate.

Huh, that's interesting. Probably need to find a better address for local player then (or just use the entitylist, though that is slower)


Publishing argo-cd specific container image

I was not able to get it running. It was giving me error as sh command not found for terrascan

I was not able to get it running. It was giving me error as sh command not found for terrascan

Can you specify what command caused you to run into this error? I suspect it has to do with execute permissions.

I was not able to get it running. It was giving me error as sh command not found for terrascan

Can you specify what command caused you to run into this error? I suspect it has to do with execute permissions.

Error: unknown command "sh" for "terrascan"
Run 'terrascan --help' for usage.

Got this error in the pre-sync hook.


Create and use JSON Table Descriptors and Data Managers

Partially addresses #3

Dear @tammojan. I wish to relicense some C++ code derived from the following PR's I wrote for python-casacore (LGPLv3.0 ) under the BSD3 license for this project (arcae):

https://github.com/casacore/python-casacore/pull/72
https://github.com/casacore/python-casacore/pull/183

In particular these if-else segments: https://github.com/ratt-ru/arcae/pull/51/files#diff-3b22269ce47ffb304bf26aece8e3cd9bcd648eb0fde56e3c6d1be8ee062bf994R60-R249 are derived from the above PRs.
The reason for using BSD-3 in this repository is that this is the license that we negotiated with NRF for performing open-source work.
I believe the relicensing is possible because I was the sole author of this code: https://github.com/casacore/python-casacore/commits/master/src/pyms.cc and due to the line of reasoning described here:

 How would I take some code that I contributed to project A under LGPL-3 and relicense it under BSD-3 into project B? Please provide references.
If you contributed code to Project A under the LGPL-3 license, you can still relicense your own contributions under the BSD-3 license for use in Project B, provided you are the sole copyright holder of the code in question. Here are the steps you need to follow:
Verify Ownership: Ensure that you are the sole copyright holder of the code you wish to relicense. If others have contributed to the sections of the code you wish to relicense, you will need their permission to change the license.
Choose the Correct BSD-3 License: The BSD-3 license, also known as the "New BSD License" or "Modified BSD License," is a permissive open-source license. Make sure to include the full BSD-3 license text in your code.
Update the License: Replace the LGPL-3 license text in your files with the BSD-3 license text. It is good practice to include a note in the file or the commit message that you are changing the license from LGPL-3 to BSD-3.
Notify Project A: Inform the maintainers of Project A about the change in license for your contributions, even though you are not required to do so.
Contribute to Project B: You can now contribute your code to Project B under the BSD-3 license. Make sure the maintainers of Project B are aware that your code is licensed under BSD-3.
It is important to note that this process only applies to your own contributions and not to the entire codebase of Project A. Additionally, this does not change the license of your contributions in Project A; it merely allows you to contribute the same code to Project B under a different license.
References:
The LGPL-3 license permits relicensing under any terms, provided you comply with the requirements of the LGPL-3 license for the code in question. See the full text of the LGPL-3 license for more details: GNU Lesser General Public License v3.0.
The BSD-3 license is a permissive open-source license that allows you to redistribute the code with or without modification. See the full text of the BSD-3 license for more details: BSD 3-Clause "New" or "Revised" license.
Remember that you can only relicense your own contributions and that this process does not change the license of your contributions in Project A or the license of Project A as a whole.

Following the argument from https://opensource.stackexchange.com/a/38, in https://github.com/ratt-ru/arcae/pull/51/commits/9cf2344eadaebc6cc33a385d3e338b247586d63c I've added comments in the relevant files explaining the provenance of the code from:

https://github.com/casacore/python-casacore/commits/v3.5.2/src/pyms.cc

and from

https://github.com/casacore/python-casacore/pull/72
https://github.com/casacore/python-casacore/pull/183

mentioning that as the author I've relicensed part of the code here under BSD-3. This does not change the python-casacore's LGPLv3 licensing of the original code.
I'm intending to submit this soon.

Dear @tammojan. I wish to relicense some C++ code derived from the following PR's I wrote for python-casacore (LGPLv3.0 ) under the BSD3 license for this project (arcae).

This looks fine to me. Let me know if you expect me to do anything.

Dear @tammojan. I wish to relicense some C++ code derived from the following PR's I wrote for python-casacore (LGPLv3.0 ) under the BSD3 license for this project (arcae).

This looks fine to me. Let me know if you expect me to do anything.

Thank you :-)

I don't think I need anything else from you


ERB Processor result is impossible to download

Describe the issue
When ERB processor is used, the result file is getting saved as a plain text, but view function (downloading) is adding zip extension to the file which does not make sense.
= Demo report

Created by `+ruby-grafana-reporter+` version 0.7.0

== Examples

=== DemoReportBuilder

<%
dashboard = 'd7eb20c0-a18e-4585-a46c-9c5c8f909e40'
instance = 'default'
# load the panel object from grafana instance
panel = @report.grafana(instance).dashboard(dashboard).panel(1)
# build a complete attributes hash, including the variables set for this report call
# e.g. including command line parameters etc.
attrs = @attributes.merge({ 'result_type' => 'panel_table', 'query' => 'A' })
query = QueryValueQuery.new(panel, variables: attrs)
%>

This is a test table for panel <%= panel.id %>:

<%= query.execute %>

For detailed API documentation you may start with:
  1) the AbstractReport (https://rubydoc.info/gems/ruby-grafana-reporter/GrafanaReporter/AbstractReport), or
  2) subclasses of the AbstractQuery (https://rubydoc.info/gems/ruby-grafana-reporter/GrafanaReporter/AbstractQuery)

# This configuration has been built with the configuration wizard.

grafana:
  default:
    host: https://play.grafana.org

grafana-reporter:
# Specifies how often the reporter shall check for newer versions [number of days].
# You may set check-for-updates to 0 to disable
  check-for-updates: 0
  report-class: GrafanaReporter::ERB::Report
  templates-folder: /home/andrejs/repo/grafana-reporter/tests/templates
  reports-folder: /home/andrejs/repo/grafana-reporter/tests/reports
  report-retention: 24
  webservice-port: 8815
# you may want to configure the following webhook callbacks to get informed on certain events
#  callbacks:
#    all:
#      - <<your_callback_url>>
#      - ...
#    on_before_create:
#      - <<your_callback_url>>
#      - ...
#    on_after_cancel:
#      - <<your_callback_url>>
#      - ...
#    on_after_finish:
#      - <<your_callback_url>>
#      - ...

default-document-attributes:
  imagesdir: ./images
# feel free to add here additional asciidoctor document attributes which are applied to all your templates

http://localhost:8815/render?var-template=demo_report&from=now-1y&to=now
Environment (please complete the following information):

Reporter version [e.g. 0.8.0]:

This should be fixed with latest release. Please reopen, if issue still exists.


OpenApi specification does not work unless --skip-validate-spec is used

Describe the bug
Code generation using OpenApi only works if --skip-validate-spec argument is used.
Current using:
https://docs.paytrail.com/paytrail-api.yaml
OpenApi Generator:
https://openapi-generator.tech/#try
** Error **

[main] INFO  o.o.c.config.CodegenConfigurator -
VERBOSE MODE: ON. Additional debug options are injected
[debugOpenAPI] prints the OpenAPI specification as interpreted by the codegen
[debugModels] prints models passed to the template engine
[debugOperations] prints operations passed to the template engine
[debugSupportingFiles] prints additional data passed to the template engine
[main] INFO  o.o.codegen.utils.ModelUtils - [deprecated] inheritance without use of 'discriminator.propertyName' has been deprecated in the 5.x release. Composed schema name: null. Title: null
[main] INFO  o.o.codegen.utils.ModelUtils - [deprecated] inheritance without use of 'discriminator.propertyName' has been deprecated in the 5.x release. Composed schema name: null. Title: null
Exception in thread "main" org.openapitools.codegen.SpecValidationException: There were issues with the specification. The option can be disabled via validateSpec (Maven/Gradle) or --skip-validate-spec (CLI).
| Error count: 2, Warning count: 0
Errors:
-attribute paths.'/payments/{transactionId}/token/commit'. Declared path parameter transactionId needs to be defined as a path parameter in path or operation level
-attribute paths.'/payments/{transactionId}/token/revert'. Declared path parameter transactionId needs to be defined as a path parameter in path or operation level
at org.openapitools.codegen.config.CodegenConfigurator.toContext(CodegenConfigurator.java:541)
at org.openapitools.codegen.config.CodegenConfigurator.toClientOptInput(CodegenConfigurator.java:568)
at org.openapitools.codegen.cmd.Generate.execute(Generate.java:424)
at org.openapitools.codegen.cmd.OpenApiGeneratorCommand.run(OpenApiGeneratorCommand.java:32)
at org.openapitools.codegen.OpenAPIGenerator.main(OpenAPIGenerator.java:66)

Second way of testing the errors:
Go to:
https://editor.swagger.io/
Click on file -> Import URL
Paste: https://docs.paytrail.com/paytrail-api.yaml
Errors should be shown:

Thank you for a the well documented issue, we will have a look and implement necessary fixes.


Add files via upload

UI update - screenshot updates to match interface
Module: 00
Lab/Demo: 00
Fixes # .
Changes proposed in this pull request:

Submitted by clifford-smith on behalf of MOC Labs Review.


change initial gas to 52M

https://github.com/neo-project/neo/pull/2544

Codecov Report

Merging #120 (365a24e) into development (53d65bd) will not change coverage.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##           development     #120   +/-   ##
============================================
  Coverage        83.24%   83.24%
============================================
  Files               87       87
  Lines             7945     7945
============================================
  Hits              6614     6614
  Misses            1331     1331

Impacted Files
Coverage Δ

neo3/contracts/native/fungible.py
61.27% <100.00%> (ø)

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 53d65bd...365a24e. Read the comment docs.


A way to set status bar color when app is using view controller-based status bar appearance

What if I can't set view controller-based status bar appearance to NO because my app behavior is different? I would write an extension for EKRootViewController to override preferredStatusBarStyle getter but the class is not public so I can't. Is there a workaround?

Hi, sorry for the delay. The requested adjustment has been made and is available on 0.5.4.
Please read the status bar section. It's basically the same API as before, only the internal implementation has been changed.
Cheers!


docker-compose and dummy dataset of products/items

Hi @zhenghaoz ,
Hope you are all well !
I am posting this issue as I was wondering if it could be possible to add a docker-compose file for bootstrapping gorse with all its components ?
Also, I was wondering if you could provide a dummy dataset of products (e-commerce) to show case how to import and query for collaborative filtering scores. If you want, I can create such dataset if you give me the columns definition of the csv or jsonl file. :-)
Thanks for any insights or inputs on these questions.
Cheers,
Luc Michalski

Hi @lucmichalski
Thanks for your suggestion. I will create docker-compose file and dummy datasets ASAP.

Thanks :-)
If you want I can give you a large scale dataset (anonymized) from an e-commerce store (prestashop based)

Thanks :-)
If you want I can give you a large scale dataset (anonymized) from an e-commerce store (prestashop based)

FYI, docker-compose.yml. However, it's hard to prepare a full featured dataset, it needs more time. If you'd like to contribute your dataset, share to me please. :D

do you have an email address ? or a telegram account, mine is "deepocrates"

example dataset has been update via #130 : https://cdn.gorse.io/example/github.sql


Unexpected broker pod restarts caused by TRIGGERED_ROLL_COUNT

Describe the bug
Sometimes the broker pods are restarted because the value of the environment variable TRIGGERED_ROLL_COUNT changes even if the tracked secretes don't change.

[!TIP]
Vote this issue reacting with :+1: or :-1:

This issue will be fixed in 1.1.0


syslinux: new package at 6.04

Description of package
Boot loader for the Linux operating system
Installed manifest of package
https://termbin.com/q79t
New package

[x] Latest upstream version.
[x] I agree to maintain this package.
[x] I agree to notify @dylanaraps if I can no longer maintain this package.

Related https://github.com/kisslinux/community/pull/207
Maybe there's something you can reuse from the above PR.

Well, i think that's right for now.


Add logging of settings for easier debugging

OK  I'll check for that later. For the meantime this is fine on my local branch to help debugging.

Superseded by #168


The url for downloading the data in data_download.m is not available

When I ran data_download.m, I failed to get the images because the url http://farm6.static.flickr.com/ is unreachable. Could someone tell me how to get the data?

Well it's just blocked by my local network. Now everything is fine.


Update docs with new session key information

We have started the 3.1 documentation folder "for real". This pull requests makes changes to 2.9.0; please consider whether this should be forward-ported to 3.1 before merging it.


DevTools extensions

Because everything is a Data (except functions that handle that data) we can try to do some DevTools extensions, that will show this data to us and, maybe, even history.

MVI Kotlin Time Travel: https://arkivanov.github.io/MVIKotlin/time_travel.html
MVI Core Time Travel: https://badoo.github.io/MVICore/middlewares/playbackmiddleware/

Pretty good article about details: https://medium.com/@lennarddeurman/exploring-fluters-new-custom-devtools-extensions-f0e42567d5ae
How provider does it: https://github.com/rrousselGit/provider/blob/3a81a9148001728d74b1f307dc966352684e6748/packages/provider/lib/src/devtool.dart#L17

How provider does it: https://github.com/rrousselGit/provider/blob/3a81a9148001728d74b1f307dc966352684e6748/packages/provider/lib/src/devtool.dart#L17

Looks pretty strange and kinda hard.
From the app perspective – just send some commands to the DevTools – but only for debug builds.
And from DevTools it evaluates some method by String name (looks like reflection).

I think, that we need to give some way to start and stop record state, messages and effects.
Maybe even for specific features.
Also, what will we do if there will be two features with same types? We need to handle them both, but to separate them.
Add some "debugName" property?

We can handle switching between prod and debug feature with our factory feature constructor.
When we in debug then change it to something that send all to the devtools, and to the simple _FeatureImpl otherwise


feat: supporting conditions in access rules

Description

Support conditions

Testing required outside of automated testing?

[x] Not Applicable

Screenshots (if appropriate):

[x] Not Applicable

Rollback / Rollforward Procedure

[x] Roll Forward
[ ] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

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

v1.49.0
GitHub release

Your semantic-release bot :package::rocket:


The operator hangs and stops polling/upserting secrets

While the operator runs for some time, it suddenly stops processing. The sync_calls Prometheus metric stops accumulating, no new logs are produced, no errors in the logs, no new or old secrets are processed any more. In order to mitigate the issue, one has to restart the operator. Prometheus metrics regarding CPU, Memory and Network traffic are projected below.
CPU:

Memory:

Traffic:

Version: 3.1
Backend: AWS Secrets Manager
Kubernetes: 1.15

Anything interesting in the last logs produced before it stops? Does there seem to be any connection, ie does it always stop at the same place? Not sure where to start digging for this one.
Seeing how all network traffic kind of dies it seems reasonable that the watcher somehow disconnects and dies or just hangs.
The next time you get this state can you try creating a new external secret or editing an existing one and see if that yields any reaction?

Hey @Flydiverny, nothing interesting in the logs as I already mentioned. Also, the log entry is different everytime and its about upserting a random secret.

The next time you get this state can you try creating a new external secret or editing an existing one and see if that yields any reaction?

Tried adding an ExternalSecret CR and that's how I figured out it's broken. It didn't reconcile it at all.

Hi,  I have same problem with this issue.  When the operator (3.1.0)  is long-running,  this operator hangs and stops polling and upserting secrets.  but I can't see any logs related to this situation ㅠ.ㅠ

Hi, we have the same problem with GCP backend.
So maybe the bug is located on a common code.
version: 3.1.0
backend: gcp

same issue
Version: 3.1
Backend: AWS Secrets Manager
Kubernetes: 1.14/EKS

Seems widespread as we are also seeing it
Version: 3.1
Backend: Vault
Kubernetes: 1.16 GKE
As mentioned above, it stops with no interesting logs, or statuses.  Killing the pod, will generate a new pod that will operate fine for several hours or days before freezing again.

same here.
Version: 3.1.0
Backend: AWS Secret Manager
Kubernetes: 1.14/EKS

btw when I looked into the source and its logs, there's one thing I don't understand.

{"level":30,"time":1594617499489,"pid":17,"hostname":"kubernetes-external-secrets-7bdfb45fc5-9t2c9","msg":"starting poller for infra-admin/infra-admin"

Every 2 mintues (+- 10 secs I guess) it starts a new poller for every external secret CRDs.
Futhermore, there were many of this below logs just before it stopped working.

{"level":50,"time":1594369711022,"pid":17,"hostname":"kubernetes-external-secrets-7bdfb45fc5-bhzsm","code":429,"statusCode":429,"msg":"status check went boom for infra-admin/infra-admin","stack":"Error: Too many requests, please try again later.\n\n    at /app/node_modules/kubernetes-client/backends/request/client.js:231:25\n    at Request._callback (/app/node_modules/kubernetes-client/backends/request/client.js:168:14)\n    at Request.self.callback (/app/node_modules/request/request.js:185:22)\n    at Request.emit (events.js:210:5)\n    at Request.EventEmitter.emit (domain.js:476:20)\n    at Request. (/app/node_modules/request/request.js:1161:10)\n    at Request.emit (events.js:210:5)\n    at Request.EventEmitter.emit (domain.js:476:20)\n    at IncomingMessage. (/app/node_modules/request/request.js:1083:12)\n    at Object.onceWrapper (events.js:299:28)","type":"Error","v":1}

AFAIK, according to the source, the poller starts logs shouldn't be generated every 2 minutes.
Well, I ain't sure if it'll help you debug because other people haven't mentioned this symptom, tho.

Same here, although the last log message we see when hangs is a connection timeout:
{"level":50,"time":1598563065478,"pid":17,"hostname":"external-secrets-649757555d-c2zcw","errno":"ETIMEDOUT","code":"ETIMEDOUT","syscall":"connect","address":"<IP_ADDRESS>","port":443,"msg":"failure while polling the secret foo/bar","stack":"Error: connect ETIMEDOUT <IP_ADDRESS>:443\n    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1128:14)","type":"Error","v":1}

This just happened to us on
Version: 4.2.0
Backend: AWS Secret Manager
Kubernetes: 1.15/EKS
Additional Components: kube2iam

First time we have observed this being a problem though, in maybe a year running in various environments.
No errors or weird things logged at all; it just seemed to stop polling on existing secrets, and also didn't take any action on a new ExternalSecret resource created within the cluster.
Short of resolving the root problem, is there a way that internals could be exposed (perhaps on the metrics port) so that a K8S liveness check could detect this problem and have K8S restart the pod automatically to recover? Currently we plan to just alert if the sync_calls metrics stop increasing, but that requires manual intervention to resolve.

We have run into this very issue.
Version: 5.1.0 Backend: AWS Secret Manager Kubernetes: 1.17.9/EKS
The last log line was the following (I starred-out the secret name):
{"level":30,"time":1598656979570,"pid":17,"hostname":"kubernetes-external-secrets-67b8b85477-gb9z7","msg":"upserting secret ********"}
After that the app hung and nothing more was logged until the pod was restarted. Is there a way to check the container health while it is running (other than inspecting logs) that can be attached to k8s liveness probe to work around this issue?

Same issue on version 6.0.0

To sum this up, it is happening from version 3.1.0 to 6.0.0, the issue is independent of a specific backend implementation or kubernetes version.
Can someone consistently reproduce the issue? Did someone run kes with loglevel=debug ?
I suspect this may be called somehow (or at least that's the only thing that would cause such behavior).
https://github.com/godaddy/kubernetes-external-secrets/blob/c7849f028842c6d3c92a975e93cc41cdcb19c5a7/lib/daemon.js#L40-L45

Think one of the main issues is that the watcher hangs / gives up eventually, would probably need to swap the dependency used for kubernetes api consumption to using something like https://github.com/kubernetes-client/javascript and using the included informer https://github.com/kubernetes-client/javascript/blob/master/src/informer.ts api.

Same issue with v6.0.0 ES, Vault 1.4.0 and Kube v1.17.4. Only restart of ES pod fix this. It can sync secrets from Vault normally from 1 to 7 hours than stops.

I think i managed to (kind of?) reproduce the issue with minikube, here's what i did:

start minikube minikube start
deploy kes: helm install ./charts/kubernetes-external-secrets/ --generate-name
create an arbitrary external secret kubectl apply -f ./examples/hello-service-external-secret.yml
get pod ip kubectl get po -l app.kubernetes.io/name=kubernetes-external-secrets -o wide - in my case <IP_ADDRESS>

In one shell, tail the logs of the kes application. It will continuously spill out logs. Expect sync errors here.
ssh into minikube and list the TCP connections between kes and api server, there should be one in ESTABLISHED state:
$ sudo conntrack -L conntrack -s <IP_ADDRESS> -d <IP_ADDRESS> | grep EST
conntrack v1.4.5 (conntrack-tools): 3 flow entries have been shown.
tcp      6 86387 ESTABLISHED src=<IP_ADDRESS> dst=<IP_ADDRESS> sport=39042 dport=443 src=<IP_ADDRESS> dst=<IP_ADDRESS> sport=8443 dport=39042 [ASSURED] mark=0 use=1

If i drop the connection conntrack -D conntrack -s <IP_ADDRESS> -d <IP_ADDRESS> kes stops spilling out logs, no error is shown and the sync_calls counter stops incrementing. With tcpdump i see TCP resets (which are expected) but no reconnect attempts from the node client.
If the API Server is unavailable or restarts abruptly kes restarts immediately (which is fine, i guess).
If i'm not mistaken we would have to generate a proper kubernetes client spec before being able to use List/Watch, right? https://github.com/kubernetes-client/javascript/issues/341.

@moolen should work out of the box.
Took a stab at using the informer here #531 :)

I see, i'm not so familiar with the node client :sweat_smile:
The solution from walmartlabs you found will solve this issue, great!
I found out that if we add a timeout in the node-client/watch request here, we will get an ESOCKETTIMEDOUT:
https://github.com/kubernetes-client/javascript/blob/2dac326068244475cce284485b5685c896ac6283/src/watch.ts#L60-L67
Which we can handle to restart the informer (just like in your PR).

The solution from this PR  #532 helped me.

Is there anyone here who has put any alerting in place to be notified when KES stops working like this?
I'm trying to figure out a resilient way of detecting when this happens (for example by using the Prometheus metrics for KES).

Using an increase of kubernetes_external_secrets_sync_calls_count
should do it. Note: you probably get a false alarm if you delete all
external secrets.
Victor Sollerhed<EMAIL_ADDRESS>schrieb am So., 15. Nov. 2020,
10:52:

Is there anyone here who has put any alerting in place to be notified when
KES stops working like this?
I'm trying to figure out a resilient way of detecting when this happens
(for example by using the Prometheus metrics for KES).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godaddy/kubernetes-external-secrets/issues/362#issuecomment-727543387,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANBHZSVTHJP5BV5E5SBNZDSP6QGHANCNFSM4MSSSH4A
.

I've resolved this by implementing a liveness probe, described here: https://github.com/external-secrets/kubernetes-external-secrets/issues/266#issuecomment-600633147

Would we be okay with implementing that kind of liveness probe here (in the helm chart for KES)?
https://github.com/external-secrets/kubernetes-external-secrets/blob/master/charts/kubernetes-external-secrets/templates/deployment.yaml

I think it would be helpful to have it configurable through values for now as a workaround. We should work on implementing a proper /healthz endpoint that detects a broken/stale recon-loop (more on that in #266)

#532 has been merged to master and released with 6.1.0


Update jax dependency

With the new release we can finally forget about the nasty XLA bug

@patrick-kidger time for a release?

Woohoo! :D
I'm very glad that's over.
Thank you for all your efforts on this, it's been awesome to have you leading the charge on complex support!
This means I need to do new releases of Equinox and Lineax. I'll aim to get those out this weekend.


Tweak Maven meta

Looking at how we appear on Maven Central for v.1.0.0:

I didn't like:

Having two Ably entities under Developers (fixed in https://github.com/ably/ably-asset-tracking-android/commit/30c53a73afd3b81280573d700c6076f9eeb6ba2a)
Having a specific branch name specified under Source code (fixed in https://github.com/ably/ably-asset-tracking-android/commit/9c107c232401971c062ff1e346e1d739cb437c69)

I also noticed, from looking at another publisher's POM, that there is a tag node in scm which allows us to specify accurately the tagged commit which built this release (added in https://github.com/ably/ably-asset-tracking-android/commit/16738436381c0424849d1e56b1666370df524295). Others appear to be doing this wrong, perhaps because the docs that I could find also specify HEAD as the value for this node. 🙄
The other publisher's POM, for comparison, how it appears on Maven Central:

Noting that they also have the same issue we had with their product/company (!?) name appearing twice under Developers. From inspecting other POMs, I could see that organization and organizationUrl appear to not be required for a developer block.

The failing check is caused by a known flakey test (#623).


Update the pydantic BaseModel dependency according to the new released pydantic v2

🚀 The feature, motivation and pitch
With the new pydantic version, there is a need to change a few things like renaming validate_all to validate_default and replacing json_encoders with the new custom serializer. Check for other migration changes required.
Alternatives
Or constrain pydantic version to 1.9.0
Additional context
Check the error message from the docs build https://readthedocs.org/projects/asgardpy/builds/21176158/ and https://docs.pydantic.dev/latest/migration/ for support in this matter.

Will keep this issue open for near future update of the dependencies.


fix: fix parameter inspection on ensure_thread decorators

fixes #182  ... and adds a test, but it sure isn't pretty at the moment :joy:
@Czaki, I'll keep playing with this (and digging into the qt source code) to see if I can come up with a more elegant way for Qt to be able to properly inspect the signature of a decorated wrapped function.  but if you have any other ideas i should try, feel free to propose!

the crux of the pyside code is here: https://github.com/pyside/pyside-setup/blob/10941bc37450f2fe99cd3afa4e2331df0439d162/sources/pyside6/libpyside/pysidesignal.cpp#L1209C2-L1213C20
basically, it looks at .__code__.co_argcount and other __code__ attributes. I tried patching those directly (without using compile and exec), but wasn't able to do so.  In any case, I'm not sure it would be any less black magic than the fix here.
I do think this is important functionality to retain though (the ability to add more signals later without breaking APIs is a very nice thing in Qt/psygnal, and this is currently breaking it)
thoughts?

linking https://github.com/pyapp-kit/psygnal/pull/228 here as well, since I suspect a similar phenomenon might be happening  in psygnal too.  basically, this will likely happen with any decorator that uses the pattern:
@wraps(func)
def inner(*args, **kwargs):
    func(*args, **kwargs)

since Qt doesn't know that inner has the same signature as func


Fix yew dependency typo

Thanks for catching this. I think this is not a typo per se, but an attempt to show a diff for highlighting.
There's an example of what it could look like in the "Prefer Comments" tip in the docusaurus docs - added lines have a green background and start with '+', removed lines start with '-' and have a red background.
Now, apparently the highlighting here acts different, and just highlights it with a grey line. I think the intention was to have a green highlight to show that this has been added to the file.

Ah thanks for the clarification. Closing.


Appium: Sendkeys - possible to enter keys only (w/o implicit 'Next')

Hi there,
it seems that 'SendKeys' is hitting the 'Next' button implicitly on iOS devices. (Opentest v1.1.10)
For my tests it would be nice if this 'last step' could be enabled/disabled on demand...
In my case, this would provide the chance to perform some more checks and hit the 'Login' button manually later on.
I'm wondering if anyone else is missing this possibility/feature as well?!
Not a big deal to adjust my tests, but might a be nice feature, though :-)
Thx for your feedback

I don't believe this is possible in Appium, short of automating the actions of pressing the actual keyboard buttons. The SendKeys keyword only calls element.sendKeys(text), so hitting the "Next" button is implicit, probably because that's what's required in order to finalize the action of entering text into a text box. I'm not sure what additional checks you could do while you're entering text, since the only things you can do, really, is to enter/delete letters or press next. I might be missing something - if so, please let me know.

Well, one thing that I could think of could be a check for a certain amount of characters for e.g. password fields...
In this specific case this is about reading from a password field before/after toggling the 'Unmask Password' button

If you want to validate the content of an input field, you can do that after the SendKeys action finished executing, using the AssertElementText keyword.

In general, yes.
But not in my current setup.
There are two input forms and one CTA button on this page,
the SendKeys action (for iOS) triggers the login button implicitly, so no more checks for elements on this login page are possible...
I can rather easy adapt the test logic/order for this, but,
nonetheless, an additional argument would have been the easiest way ;-)


bugfix: set GO111MODULE to on when use docker build

Signed-off-by: Starnop<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
We have updated the go version to 1.12.6 and use go mod to manage the dependency. So we should set the GO111MODULE env to on when building with docker. Otherwise we would get errors like this：
apis/types/df_get_task.go:11:2: cannot find package "github.com/go-openapi/errors" in any of:
	/usr/local/go/src/github.com/go-openapi/errors (from $GOROOT)
	/go/src/github.com/go-openapi/errors (from $GOPATH)
apis/types/df_get_task.go:12:2: cannot find package "github.com/go-openapi/strfmt" in any of:
	/usr/local/go/src/github.com/go-openapi/strfmt (from $GOROOT)
	/go/src/github.com/go-openapi/strfmt (from $GOPATH)
apis/types/df_get_task.go:13:2: cannot find package "github.com/go-openapi/swag" in any of:
	/usr/local/go/src/github.com/go-openapi/swag (from $GOROOT)
	/go/src/github.com/go-openapi/swag (from $GOPATH)
......

Ⅱ. Does this pull request fix one issue?

None.
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
None.
Ⅳ. Describe how to verify it
Use command docker build USE_DOCKER=1 and it can be executed successfully
Ⅴ. Special notes for reviews

lgtm

Codecov Report

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

@@           Coverage Diff           @@
##           master     #675   +/-   ##
=======================================
  Coverage   46.61%   46.61%
=======================================
  Files         106      106
  Lines        6196     6196
=======================================
  Hits         2888     2888
  Misses       3074     3074
  Partials      234      234

Impacted Files
Coverage Δ

cmd/supernode/app/root.go
58.49% <ø> (ø)
:arrow_up:

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 3ab5e9d...b164ddc. Read the comment docs.

lgtm


Kingston DataTraveler G4 64 GB

Controller: Phison PS2307
Possible Memory Chip(s): Not available
Flash ID: 983A98A3 7651
Chip F/W: 01.02.55
Firmware Date: 2015-09-03
ID_BLK Ver.: <IP_ADDRESS>
MP Ver.: MPALL v3.34.07
VID: 0951
PID: 1666
Manufacturer: Kingston
Product: DataTraveler 3.0
Query Vendor ID: Kingston
Query Product ID: DataTraveler 3.0
Query Product Revision: PMAP
Physical Disk Capacity:<PHONE_NUMBER>6 Bytes
Windows Disk Capacity:<PHONE_NUMBER>0 Bytes
Internal Tags: 2Q6P-8X74
File System: FAT32
Relative Offset: 4032 KB
USB Version: 3.00 in 2.00 port
Declared Power: 300 mA
ContMeas ID: 0620-06-00

it is 2251- 07 aka PS2307, it cannot work with these files

Any work around, suggested methods to make PS2307 device working as BadUSB?


Will not install on Android Fx55

Claims to work with Fx Android (v2.3.3). Will not install in Fx 55 Android. No messages.

Hi @revad
This add-on is not compatible with Firefox for Android now.

Then you need to change compatibility data on AMO. It says:
"Released September 16, 2017 19.8 KiB Works with Firefox for Android 51.0 - *, Firefox 51.0 and later "
BTW: an Android version is more required than a desktop version.


"pip install -r requirements.txt" failure

Hi,
Using the latest from git, "pip install -r requirements.txt" returns the following error.
Collecting bzr==2.6 (from -r requirements/pip.txt (line 24))
  Using cached bzr-2.6.0.tar.gz
    Complete output from command python setup.py egg_info:
    No Cython, trying Pyrex...

    The python package 'Pyrex' is not available. If the .c files are available,
    they will be built, but modifying the .pyx files will not rebuild them.

    running egg_info
    creating pip-egg-info/bzr.egg-info
    writing dependency_links to pip-egg-info/bzr.egg-info/dependency_links.txt
    writing pip-egg-info/bzr.egg-info/PKG-INFO
    Traceback (most recent call last):
      File "<string>", line 20, in <module>
      File "/tmp/pip-build-g1yt3g/bzr/setup.py", line 780, in <module>
        setup(**ARGS)
      File "/opt/rh/python33/root/usr/lib64/python3.3/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/opt/rh/python33/root/usr/lib64/python3.3/distutils/dist.py", line 929, in run_commands
        self.run_command(cmd)
      File "/opt/rh/python33/root/usr/lib64/python3.3/distutils/dist.py", line 948, in run_command
        cmd_obj.run()
      File "<string>", line 14, in replacement_run
      File "/users/lcrook/rtd/lib/python3.3/site-packages/setuptools/command/egg_info.py", line 415, in write_pkg_info
        metadata.write_pkg_info(cmd.egg_info)
      File "/opt/rh/python33/root/usr/lib64/python3.3/distutils/dist.py", line 1027, in write_pkg_info
        self.write_pkg_file(pkg_info)
      File "/opt/rh/python33/root/usr/lib64/python3.3/distutils/dist.py", line 1048, in write_pkg_file
        long_desc = rfc822_escape(self.get_long_description())
      File "/opt/rh/python33/root/usr/lib64/python3.3/distutils/util.py", line 490, in rfc822_escape
        lines = header.split('\n')
    TypeError: Type str doesn't support the buffer API

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-g1yt3g/bzr

It works for me in a new empty virtualenv. Do you have all the required dependencies installed listed here: http://docs.readthedocs.org/en/latest/install.html ?
For example, on Ubuntu you need:
sudo apt-get install build-essential
sudo apt-get install python-dev
sudo apt-get install libxml2-dev libxslt1-dev zlib1g-dev

"pip install -r requirements.txt" worked for me in an empty virtualenv up until very recently (about a week ago, I think).

This looks to be because you are using Python 3.3, which we do not support. We might aim for Python 3 support with 3.4 at some point, but the long tail of dependencies like the above bzr failure on Python 3 needs to be addressed.

Yes.  Me actually following the instructions helped enormously.


feat: table component for sessions

Related Issue
Closes: #808
Description of Changes

created a table component to handle session data for mentor dashboard
made it responsive

Checklist:

[x] My code adheres to the established style guidelines of this project.
[x] I have conducted a self-review of my code.
[x] I have included comments in areas that may be difficult to understand.
[x] I have made corresponding updates to the project documentation.
[x] My changes have not introduced any new warnings.

Screenshots

@rishuraj1 is that possible we can stick to Previous UI?? using table component

@anmode  Yes, okay I will do it now.

@anmode

@anmode  done,

last thing..these heading are in white bold.. please make it normal! as i show in previour UI

One more thing Queries page needs to align properly to use whole space: Need a little designing!

Rest whole dashboard is awesome now!

@anmode

looks cool but color kaise change hogyaa.. I mean theme color was good :)

@anmode  oops, my bad didn't notice 😅, fixed it now.

@anmode oops, my bad didn't notice 😅, fixed it now.

no worries i think now it is good to merge this PR! Yeah!!!


How to edit zones on multiple monitors?

Environment
Windows build number: 18362.449 - Win 10 Pro 1903
PowerToys version:  v0.12.0
PowerToy module for which you are reporting the bug (if applicable):  FancyZones

Steps to reproduce
  Open editor with Win + ~ and create custom zones.  Add new zone.  Try and Move zone to second monitor.  Or move editor to second monitor and create new zone on second monitor.
Expected behavior
Zone should move to second monitor or open on second monitor.

Actual behavior
Existing and new zone windows are confined to Primary Monitor only.

Screenshots

I had the same problem first, but you need to have the mouse cursor on that monitor where you want to add zones and than press the hotkey ( Win + ~ ).
So you can have separate configs for each monitor.
I think it needs some information about that usage, but it works fine if you know it.

I'm changing the title to better reflect the issue that is a lack of documentation/difficult to discover feature.

Duplicate of https://github.com/microsoft/PowerToys/issues/579

closed since being tracked in #579


Any way to check finger on camera ?

How i check that my finger is properly set on camera ?

@dharmik  if the app can detect something.. *(I guess) Lightly but not lose, place you finger on the camera

@cheecky27  : If you have some of code or any better way to more understandable ?


Fix event tracking to differentiate reading and writing

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.

cherry-picked and pushed to master


drivers: can: mcan: Fix DBTP sjw register writes

The data-sjw value was incorrectly written to the NBTP register when it
should be written to the DBTP register.
This fixes a regression introduced by
5e0ca9b41e5cd4d1d84ceef919510f3f2a22ecfe.
Signed-off-by: Christoph Steiger<EMAIL_ADDRESS>

@galak can this still be merged for 2.6?

@Urist-McGit can you open an issue (bug) for this pr pls.


YAML Tags - additional details

What is the purpose of YAML tags? When should or might users want to use it? What does it allow us to do? Does this provide any meaningful tagging ability or is this something different? Perhaps software engineers might understand the use case around this without explanation, but other types of users, such as myself, need more clarification. Thank you!

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

ID: 29f1e43f-a069-dd88-7fc7-9cc497fb94f0
Version Independent ID: c261afa7-6eb7-b3f0-9f92-6d2f3c5ac336
Content: Markdown syntax for wikis in Azure DevOps - Azure DevOps
Content Source: docs/project/wiki/wiki-markdown-guidance.md
Product: devops
Technology: devops-collab
GitHub Login: @chcomley
Microsoft Alias: chcomley

Hi @abby-d , Thanks so much for reaching out. I agree that this article needs an update! We'll be in touch!

Hi @abby-d , Thanks so much for reaching out. I agree that this article needs an update! We'll be in touch!

Adding @amitkumariiit for feedback/input. Thank you!

Adding @amitkumariiit for feedback/input. Thank you!

Reassigning to @amitkumariiit, thank you.

Hi,
Yaml tags are used for general search engine optimisation. Our plan was to add the basic support for it first and then ingest this in the azure devops wiki search for optimise search. However we could not prioritise the search side of work.

@abby-d, Please @mention us if you have any further questions, thank you!

Just FYI: StackOverflow: What is the value of YAML atop a page's markdown?

Hi @chcomley ,
Yaml tags are used for general search engine optimisation. Our plan was to add the basic support for it first and then ingest this in the azure devops wiki search for optimise search. However we could not prioritise the search side of work.

I'd like to see the YAML tags integrated into the wiki search at some point. I'm wondering why the YAML tag is being rendered in the web view? Typically YAML tags are treated as metadata in markdown files and should not be rendered.

Hi @goo32, Please go here and submit this as a feature request and include your question. Select Request a feature at the bottom of the left panel. Thanks so much.


Randomness in UUID generation is insufficient.

jdougan reported this on 2024-11-25T00:53:20Z
Transfered from https://issues.dlang.org/show_bug.cgi?id=24877
Description
UUIDs generated by randomUUID() use the random numbers from std.random, granted with an unpredictableSeed, but from a fundamentally insecure and low entropy source.

As per the latest UUID RFC, RFC-8562, Section 8 this should at least have the option of using an actual quality entropy source.

https://www.rfc-editor.org/rfc/rfc9562.html in section 8 says:

"Instead CSPRNG data SHOULD be selected from a source with sufficient entropy to ensure guaranteed uniqueness among UUID generation."

jdougan commented on 2024-11-26T04:32:30Z
and no cryptographic streng RNG to use with it.

https://breakpoint.purrfect.fr/article/cracking_phobos_uuid.html


Update aws-java-sdk-dynamodb to 1.12.512

About this PR
📦 Updates com.amazonaws:aws-java-sdk-dynamodb from 1.11.1034 to 1.12.512
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.amazonaws", artifactId = "aws-java-sdk-dynamodb" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.amazonaws", artifactId = "aws-java-sdk-dynamodb" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #475.


(role/logictimer) fwv

Per discussion via slack, the laserrpi role does not need gpshat support but a new role for the "logic timer" pis does.

The librarian-puppet failure is bogus. Merging.


Remove ARO reserved instance requirement

Reserved Instance requirement is going away. Please keep this pull request warm until this update is deployed.
/donotmerge

@sabbour : Thanks for your contribution! The author(s) have been notified to review your proposed change. @jimzim

@sabbour : Thanks for your contribution! The author(s) have been notified to review your proposed change. @jimzim

Hi @sabbour - Microsoft authors and contributors need to make content contributions through the private repository so the content can be staged and validated by the current validation rules.
After you review staging and fix all validation issues, you can add the sign-off comment to let PR reviewers know that the updates are ready to be merged.
For more information, see Should I work in a private or a public repo?
If you need help getting set up to work in the private repo, see Set up Git repository locally for documentation.
Would you create a pull request in the private repo to make these updates? We'll close this PR. Thank you.

@sabbour : Thanks for your contribution! The author(s) have been notified to review your proposed change. @jimzim


net-mgmt/telegraf: new plugin

Needs testing by some users using it in real world. For me it's fine/ok.

Never copy from the pkg sample :)
I setup a Grafana/Influx setup, it looks good.

Ok, it's now mergable.
If you check the volts .. I have enabled tabs but every menu has only one. With the next releases there will be a second tab in output for Graphite and I'm planning more than standard inputs in a second tab (like HAProxy graphing).

Thanks! :)
Sounds good, should be trivial to adapt the tabs/advanced view thingy.


Take back control of git-hooks (aka The Great Migration)

Gitea version (or commit ref): c8f300b
Git version: 2.10.2

This is in no way related to https://github.com/gogits/gogs/issues/1623 ...
Basically I wanna move most of the git-related callbacks into git-hooks, this would however break all existing support for custom git-hooks, but it will make it easier to implement features such as https://github.com/go-gitea/gitea/issues/302 https://github.com/go-gitea/gitea/issues/32 https://github.com/go-gitea/gitea/issues/8 and would fix https://github.com/go-gitea/gitea/issues/218 without actually having to fix it (since the bug is that Gitea have to duplicate the input-data to shove one down gits throat and the other into what is essentially .git/hooks/update 😒 )
thoughts?

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/39736071-take-back-control-of-git-hooks-aka-the-great-migration?utm_campaign=plugin&utm_content=tracker%2F47456670&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F47456670&utm_medium=issues&utm_source=github).

I would also take the control of the hooks but that doesn't directly solve the mentioned issues :)

Breaking existing deploys won't help adoption of Gitea, unless
automatic adaption of hooks is provided.

This is intended for 2.0.0 where breaking changes will be totally fine.

As this will introduce real breaking changes I have created and assigned the 2.x.x milestone.

@strk possible migrations involve calling user provided hooks at the end of giteas hooks, which should be fairly easy to make a migration for 🙂
@tboerger it says "make it easier to implement" not "fix" 😛 the only thing it will automagically fix is #218 which only exists as a bug since we're not using git-hooks for what git-hooks was created for 😆

what's the workaround for getting a custom update hook? Add this to the repos' update hooks?
bash update.custom
if [ ! $? -eq 0 ]; then exit $?; fi

I don't think this should be a v2.x.x issue. It should be fixed ASAP.

@lunny potential breakage, loads of migrations and backwards compatibility. In my book it belongs in a major-release :slightly_smiling_face:

Somebody can build a POC than we can see if it should work without breaking installations or not :)

I'll have a look at cherry-picking and correcting a few things from https://github.com/gogits/gogs/commit/039dc333670a7ece5b34a611b794d072b589ec65 during the weekend 🙂

resolved by #1006


Custom starting offset

Hi all,
Currently i do some event stream style processing using homebrew Go code passing messages using zmq. There is no resiliency/failover, and there is no partitioning of messages as provided by kafka.
I am looking into using Kafka + go_kafka_client and have some specific questions.
On startup (and when re-partition happens) I want to start at an offset that is x mins ago (approx - does not heve to be exact, I can deal with few extra messages) . It appears sarama can do this. How would I go about using the work distribution goodness of go_kafka_client and put in some custom starting offset logic? Ignoring the fact that ive already consumed a specific message, or that there are unconsumed messages from > x minutes ago.
-Sajal

We could probably start storing an offset for every minute or something so you can re-wind at any minute in the stream. We are working on some refactoring in that part of the code over the coming weeks. I think so maybe we can try to hook something up that would work best.

For my use case, I could manage the offset myself if there were a way to specify which starting offset to use when starting up (or re-balancing).
A logic like x offsets ago is also fine. Say when starting up or (rebalancing) the newest offset is x... it could process from offset x - n where n is something configured.

+1 a common usecase I have is priming a job with some historic data, but not the complete available dataset.

Only now do I see the problems here. With a single consumer pid it would work fine if we had something in config like ForceSetParitionStart = 1234.
Flow would then be:
-pid 333 (consumer.go) start
-set offsets to 1234
-start consuming
But... with multiple pids (chronos anyone):
-pid 333 (consumer.go) start
-(333)set offsets to 1234
-(333)start consuming
-pid 334 (consumer.go) start
-(334)set offsets to 1234
-(334)start consuming
-(333) -> reprocess messages
Also how would this be configured. Cant be single int, since there can be any topic/partitions in the conf's group.
For now I am just going to use a helper that can set a commit manually for me:
	zkconfig := go_kafka_client.NewZookeeperConfig()
	zkcoord := go_kafka_client.NewZookeeperCoordinator(zkconfig)

	err := zkcoord.Connect()
	if err != nil {
		fmt.Errorf(err.Error())
	}

	tp := go_kafka_client.TopicAndPartition{}
	tp.Topic = "some_topic_name"
	tp.Partition = 213
	err = zkcoord.CommitOffset("some_group_id", &tp, 123)
	if err != nil {
		fmt.Errorf(err.Error())
	}

Isint Offset tied to a partition and not at topic level? or do you mean to process single partition in multiple pids?
As long as each partition gets processed by single pid(my usecase), is there any issues in using x - n as starting offset?


Fixing parsing of version in deployment scripts.

The code has been tested with the following commands on Windows:
.\deploy.cmd -version "2.7.199"
.\deploy.cmd -version "2.7.199" -type all
.\deploy.cmd -type all -version "2.7.199"
.\deploy.cmd -version

The code has been tested with the following commands on Linux:
./deploy.sh -version "2.7.199"
./deploy.sh -version "2.7.199" -type all
./deploy.sh -type all -version "2.7.199"
./deploy.sh -version

Fixes: Unable to select version on deployment script #862

Please check these scenarios as well: PR #662 ... I think you will have to go back to findstr.

@karok2m did you also try the -alpha flag?

Please check these scenarios as well: PR #662

I've additionally tested the following cases:
For windows:
.\deploy.cmd -resourceGroupName rg-kakostan-test -version 2.7.183
.\deploy.cmd -resourceGroupName rg-kakostan-test

For Linux:
./deploy.sh -resourceGroupName rg-kakostan-test -version 2.7.183
./deploy.sh -resourceGroupName rg-kakostan-test

@karok2m did you also try the -alpha flag?

@mregen, I've checked that when the version is passed from command line as 2.8.103-alpha, then the image tag is detected as exactly that. I have not deployed that version though.
./deploy.sh -resourceGroupName rg-kakostan-test -version 2.8.103-alpha


Caller is not allowed to change permission model on Key Vault for Access Policies to RBAC with Bicep

Bicep version
Bicep CLI version 0.25.53
Describe the bug
When having existing Key Vault with Access Configuration set to Vault access policy and then rerun Azure DevOps pipeline to redeploy  with migration to 'Azure roles-base access control (recommended)' I am getting the following error:
Caller is not allowed to change permission model. For more information on how to change the permissions model follow this link: https://go.microsoft.com/fwlink/?linkid=2155160. Details: oid=GUID; action=Microsoft.Authorization/roleAssignments/write; resource=/subscriptions/GUID/resourcegroups/RESOURCEGROUP/providers/Microsoft.KeyVault/vaults/KEYVAULTRESOURCE; decision=NotAllowed;  (Code: InsufficientPermissions)
To Reproduce
Create a Keyvault with Bicep with Access Configuration set to 'Vault access policy' and then run again but change in Bicep the Access Configuration to 'Azure roles-base access control (recommended)'
Additional context
The Azure DevOps service connection (Entra ID Enterprise application) has User Access Administrator role on the subscription where the keyvault is deployed.
When changing the Access Configuration to the portal to 'Azure roles-base access control (recommended)' and then run the Azure DevOps pipeline deployment again everything goes well and also the Role assignments are going good.
I am using the AVM resource module to deploy the keyvault.

What is the status of this @RandalliLama, @schaabs, @jlichwa.

Same issue but my service connection has "Role Based Access Control Administrator" role which also has "Microsoft.Authorization/roleAssignments/write" permission.

Ran into this issue using terraform as well. KV can be created but any update after even something like a tag gives this error. Set the role as owner, same result. What is actually required that we can use IaC tools to update a keyvault?


[bug]  Function Window.set_size does nothing on Linux

Describe the bug
I am running a tauri 1.2.2 app on Pop!_OS 22.04 (Ubuntu derivative) and have the following tauri command in my rust code:
#[tauri::command]
fn set_window_size(apphandle: tauri::AppHandle<Wry>) {
    let mut window_opt = apphandle.get_window("main");
    match window_opt {
        Some(mut window)  => {
            println!("resizing window");
            window.set_resizable(true);
            window.set_size(Size::Physical(PhysicalSize{width: 1920, height: 1080})).expect("Could not resize!");
        }
        None => {

        }
    }
}

Calling the command with the following typescript code:
export let onResize = async () => {
    invoke("set_window_size") ;
}

Which is called by a button's onClick event.
The function   window.set_size(Size::Physical(PhysicalSize{width: 1920, height: 1080})).expect("Could not resize!"); does not do anything when called on this platform.
In my tauri.conf.json I have
    "windows": [
      {
        "fullscreen": false,
        "height": 720,
        "resizable": true,
        "title": "myapp",
        "width": 1280
      }
    ]

Other functions such as window.set_fullscreen(true); work as intended so the issue has something to do with the set_size function on Linux platforms.
Reproduction

Run the above code and settings in a tauri 1.2.2 app on Pop!_OS 22.04
Click a button with onClick set to onResize in order to attempt to resize the window from 1280x720 to 1920x1080
The window does not resize

Expected behavior
The window should resize itself from 1280x720 to 1920x1080.
Platform and versions
Note: Pop!_OS 22.04 comes with node 12 installed by default which does not appear to be able to run tauri. Node 19.3.0 was manually installed to
/run/user/1000/fnm_multishells/11583_1671428736077/bin/node
using fnm on the development machine.
https://github.com/Schniz/fnm
><EMAIL_ADDRESS>tauri
> tauri info

Environment
  › OS: Pop!_OS 22.04 X64
  › Node.js: 19.3.0
  › npm: 9.2.0
  › pnpm: Not installed!
  › yarn: Not installed!
  › rustup: 1.25.1
  › rustc: 1.66.0
  › cargo: 1.66.0
  › Rust toolchain: stable-x86_64-unknown-linux-gnu

Packages
  › @tauri-apps/cli [NPM]: 1.2.2
  › @tauri-apps/api [NPM]: 1.2.0
  › tauri [RUST]: 1.2.2,
  › tauri-build [RUST]: 1.2.1,
  › tao [RUST]: 0.15.7,
  › wry [RUST]: 0.23.3,

App
  › build-type: bundle
  › CSP: unset
  › distDir: ../dist
  › devPath: http://localhost:1420/
  › framework: React
  › bundler: Vite

App directory structure
  ├─ public
  ├─ dist
  ├─ src-tauri
  ├─ VM
  ├─ .vscode
  ├─ src
  ├─ .idea
  └─ node_modules

Stack trace
No response
Additional context
No response

this is an issue with set_resizable on Linux, not set_size, see https://github.com/tauri-apps/tao/issues/561


Resolve #152

Description

closes: #152
(Plus minor docs formatting.)

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[x] Targeted PR against correct branch (master)
[x] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
[ ] Wrote unit tests - na
[x] Updated relevant documentation in the code
[x] Added a relevant changelog entry to the Pending section in CHANGELOG.md
[x] Re-reviewed Files changed in the Github PR explorer

Could you please fix the failing CI? Then we can merge this PR!

I complied with a red lint, but it has nothing to do with the PR and issue; an absolutely unrelated thing out of the blue.
Feels like new lints were added in current Rust version and it fails due to these amendments in updated linter.


x/build/env/linux-ppc64/osuosl: go-be-5 is hanging up on us

1 of our 5 linux/ppc64 big endian VMs at the OSUOSL is hanging up on us a few seconds after connecting:
bradfitz@go:~/src/golang.org/x/build/env/linux-ppc64/osuosl$ time ssh -i ~/.ssh/id_ed25519_golang1<EMAIL_ADDRESS>packet_write_wait: Connection to <IP_ADDRESS> port 22: Broken pipe

real    0m0.589s
user    0m0.012s
sys     0m0.000s

bradfitz@go:~/src/golang.org/x/build/env/linux-ppc64/osuosl$ time ssh -i ~/.ssh/id_ed25519_golang1<EMAIL_ADDRESS>Authentication failed.

real    0m0.394s
user    0m0.012s
sys     0m0.000s

bradfitz@go:~/src/golang.org/x/build/env/linux-ppc64/osuosl$ time ssh -i ~/.ssh/id_ed25519_golang1<EMAIL_ADDRESS>
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
You have new mail.
Last login: Thu Jul 27 14:08:06 2017 from <IP_ADDRESS>
debian@go-be-5:~$ packet_write_wait: Connection to <IP_ADDRESS> port 22: Broken pipe

real    0m11.510s
user    0m0.012s
sys     0m0.000s

bradfitz@go:~/src/golang.org/x/build/env/linux-ppc64/osuosl$ time ssh -i ~/.ssh/id_ed25519_golang1<EMAIL_ADDRESS>
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
You have new mail.
Last login: Thu Jul 27 14:08:06 2017 from <IP_ADDRESS>
debian@go-be-5:~$
debian@go-be-5:~$
debian@go-be-5:~$
debian@go-be-5:~$
debian@go-be-5:~$
debian@go-be-5:~$ packet_write_wait: Connection to <IP_ADDRESS> port 22: Broken pipe
                                                                                real    0m6.697s
user    0m0.016s
sys     0m0.000s

File a ticket with them to fix.
/cc @dmitshur

When I tried it now, it wouldn't even let me connect initially, ssh was giving a ssh_exchange_identification: read: Connection reset by peer error right away. It does respond to pings, however.

File a ticket with them to fix.

I've filed a ticket and will update when we hear back.

We heard back, and this problem has been resolved. The go-be-5 machine is now reachable by SSH, and it has re-connected to the coordinator successfully.
The builder health at https://farmer.golang.org is all "ok" now!


Use --force-with-lease instead of --force for gpsf

This PR changes the gpsf abbreviation to use --force-with-lease instead of --force, since --force is considered harmful.

@bingocaller Thank you for every time!

@bingocaller Wow, you also didn't forget to fix all languages!  Thanks a lot.


"You are using Node.js v14.19.1, Requirement: Node.js >=16.14."

Describe the bug
Using Azure Static Web Apps and keep getting this error on the "Build and Deploy Job" in Github:
You are using Node.js v14.19.1, Requirement: Node.js >=16.14.
I've tried adding the following to package.json, but made no difference:
{
"platform": {
"apiRuntime": "node:16"
}
}
and:
"engines": {
"node": ">=16.0.0"
}
Is there a way to make sure Node.js 16.4 is used?
Thank you.

A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
I want Node.js 16.4 to be used.
Screenshots
If applicable, add screenshots to help explain your problem.

Device info (if applicable):

OS: [e.g. iOS]: Azure Static Web Apps
Browser [e.g. chrome, safari]: Chrome
Version [e.g. 22]: Versión 103.0.5060.114 (Build oficial) (64 bits)

Additional context
Add any other context about the problem here.

The problem was where the following went:
},
"engines": {
"node": ">=16.14"
}
It has to go at the end of the package.json files, just before the last closing parenthesis.


Support HOOMD 2.6.0

HOOMD 2.6.0 introduces confined MPCD streaming geometries, which leads to symbol collisions with BoundaryCondition.h and SlitGeometry.h. (These objects were copied from that implementation while it was being developed, and actually reside in the mpcd namespace.)
There are three options to fix this:

Easiest: bump the minimum version of HOOMD for azplugins to be 2.6.0 and always require an MPCD build. Then, remove BoundaryConditions.h and SlitGeometry.h from azplugins and use the mpcd headers from HOOMD.
Harder: change the namespace in BoundaryConditions.h and SlitGeometry.h to be azplugins rather than mpcd. This should avoid the naming collision in the binary, but you might need to also change the python export name (prepend "AZP" or something).
Hardest: keep the files as is, and conditionally include / compile them depending on the version of HOOMD that azplugins has been built against. At the python level, this means conditionally importing as well.

Option 1 is probably the most straightforward approach for now since azplugins does not promise backward compatibility with any given version of HOOMD (the minimum is stated in the release notes).
The reason to require an MPCD build now is that the SlitGeometry is used in the BounceBackNVE integrator, which is intended to be run with things like DPD, regular LJ particles, etc., and without the mpcd component of HOOMD, these will be missing. We should add an error like this to CMake for BUILD_MPCD:
https://github.com/mphoward/azplugins/blob/582513a0e36d8e5541290312268bdf4a1b524335/azplugins/CMakeLists.txt#L15-L17
That way, the conditional compilation of the MPCD component could possibly be enabled again at a later time.

[x] Build a new CI container testing HOOMD 2.6.0 in order to confirm these changes work.
[x] Update CMake to force MPCD build.
[x] Strip out azplugins versions of these MPCD files, and use the native HOOMD 2.6.0 ones.

The new test container has been built. As expected, builds fail for the develop branch when the python module is imported due to naming clashes. So, I merged it into this one, and tests are running now. py3-internal-nompcd should be the only failure for this build, and I will disable it after we confirm this working.

Resolved by #12


User-friendlier editors with fallback

There is currently and Advanced and Simple editor dichotomy:
https://github.com/RogueCollab/RogueEssence/blob/e473fd9df13cbdc944aed8017521662753bc1e3e/RogueEssence.Editor.Avalonia/DataEditor/Editors/Editor.cs#L39
Editors that have SimpleEditor turned on will behave like any other editor, unless the developer opens that editor window using CTRL+Click, at which point the editor will not be used and fall back on a backup editor.
CTRL+Click functionality is still pending.  Needs click modifiers to get involved. https://github.com/AvaloniaUI/Avalonia.Xaml.Behaviors/issues/73

Mockup

https://github.com/RogueCollab/RogueEssence/pull/123


Write spark StringType columns as Utf8 YTsaurus type

It is needed to support writing Spark dataframes with StringType columns to YTsaurus tables with Utf8 type columns. Two ways should be supported:

df.write.option("string_to_utf8", "true").yt("//path/to/table") to convert all string columns to Utf8 type on writing;
import yt.type_info as ti; df.write.schema_hint({"some_string_column": ti.Utf8}) to convert explicitly specified fields to utf8

@faucct I think we've implemented it. Please link appropriate commit to this Issue and close it.

https://github.com/ytsaurus/ytsaurus-spyt/pull/26


Alternate name for gradle/settings ?

Thoughts on these alternative locations for  gradle/settings ?

gradle/settings-plugins
gradle/settings/plugins
gradle/plugins/settings

These all contain plugins which and not just settings which seems clearer to me.
Also, maybe consider turning on the Github Discussions feature on this repo, for items like this. :)

In the "sister repository" gradle-project-setup-howto I now used this location: gradle/meta-plugins
And then I have:

gradle/meta-plugins/build-parameters-plugins
gradle/meta-plugins/plugin-analysis-plugins
gradle/meta-plugins/settings-plugins

I required something like this, because I had even more plugins that I want to apply to plugin development itself (hence "meta"). It's nice that you can do this, because it gives the possibility to write some custom logic to analyse the build configuration itself. (Like creating a graph of convention plugin application order, which is what  the code in 'plugin-analysis-plugins' is doing in the example.)
On the other hand this adds more complexity to the setup.
I think this is related to this if the question is: Where to put plugins that are used by "gralde/plugins" aka "build-logic" itself?


Upgrade packages to fix npm audit vulnerabilities

This is not associated with any JIRA. This PR will address the CVEs reported by npm audit.
Description
This is a fix for vulnerabiliites reported by npm audit.
Frontend:
before

after

Backend:
before

after: (The remaining ones are the CVEs related to kubernetes/client-node)

How Has This Been Tested?
npm install
npm audit in both frontend and backend folder.
Test Impact
N/A
Request review criteria:

Self checklist (all need to be checked):

[x] The developer has manually tested the changes and verified that the changes work
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has added tests or explained why testing cannot be added (unit or cypress tests for related changes)

If you have UI changes:

[ ] Included any necessary screenshots or gifs if it was a UI change.
[ ] Included tags to the UX team if it was a UI/UX change.

After the PR is posted & before it merges:

[ ] The developer has tested their solution on a cluster by using the image produced by the PR to main

/approve


registerSession throws "SyntaxError: The string did not match the expected pattern."

I'm trying to get the node example to work but registerSession() fails.
I got API key (tried wildcard too), generated random AES pass with create_encryption_key.ts and I made up a device name.
When I try to run it, registerSession() always throws SyntaxError: The string did not match the expected pattern.. I tried to debug this but tbh, I have no idea what could be wrong because by looking at requestConfig object sent everything looks fine.
I'm using the latest npm version.

Which version of NodeJS are you running currently? (node -v)

I was testing the examples and forgot to set the keysize back to a valid size for the examples/create_encryption_key.js file. So if your key is over 32 characters long that might be the cause of the error.
I'll commit the fix in a few minutes but simply setting KEY_SIZE to 32 on line 63 might fix the issue.

This is the contents of requestConfig. Removed sensitive stuff and replaced request-id but left character counts for keys.
{
  url: 'https://api.bunq.com/v1/session-server',
  method: 'POST',
  data:
    { secret:
      '...64 chars...' },
  headers:
    { 'Cache-Control': 'no-cache',
      'Content-Type': 'application/json',
      'X-Bunq-Language': 'en_US',
      'X-Bunq-Region': 'nl_NL',
      'X-Bunq-Geolocation': '0 0 0 0 000',
      'X-Bunq-Client-Request-Id':<PHONE_NUMBER>123.1234,
      'X-Bunq-Client-Signature': '...344 chars...'
    },
  transformResponse: undefined
}

It seems to have to do with axios or dependency of it. Could you try forking the bunqjsclient and running the tests with yarn run test or npm run test?

Did that and seems to be passing.
I also had the idea of trying to use cloned repo instead of npm but got stuck fighting with Babel version mismatch between bunq's 7 and ts-jest's 6 🙄

Oh I just realized, did you create the .env file and added the sandbox API key to it?

Yeah, I tried multiple ways to put in the config but nothing worked. I'm under a deadline and I only need to see the latest transactions so I did a quick script that uses Bunq's API directly to avoid further delays. Seems to work fine so at least right now I'm not using with this lib anymore.
But as always, thanks for your help :)


Question about max prefetch

I would like to know precisely how max_prefetch works. If I set workers = 6, for example, thus six worker processes, and I do not set max_prefetch, how will the task distribution among the 6 workers happen? Will a single worker retrieve all the tasks, or will the task distribution be balanced among the 6? For instance, if we have max_async_task set to 6, should max_prefetch also be set to 6 ?
Thanks

workers are spawned as child processes
max_async_task and max_prefetch are set for each worker
max_prefetch means how many messages (tasks) would be in queue awaiting for execution
max_async_task + max_prefetch - maximum number of tasks what are already running (max_async_task) or waiting to be executed (max_prefetch) on a single worker


Support ...$ in type arguments

It would be nice to be able to write val q"$fn[...$targs](...$argss) = ... to be able to use one quasiquote to match applications that contain or don't contain type arguments. If one writes,..$targs, then the match will crash on things likefoo(bar).

Discussion in #602

It'd be great to use a similar approach to get rid of other nels in quasiquote.md. See the commit linked above for more details.

Linking this project https://github.com/alexknvl/newts/blob/master/src/main/scala/newts/opaque.scala

I came across this 'issue' recently and the proposed solution sounds really nice.
Is there any progress in this area? If not, may I have a look at it?

I wasn't able to go back and implement the suggestion. I've got more shims than I'd like around this, so I'd be super grateful if you took over!

@olafurpg and I had a discussion, and we decided to pronounce quasiquotes feature-complete.
There are still some open issues (#46, #223, #251, #280 and others), but they all have two things in common: 1) they require non-trivial design work to be fixed, 2) they aren't popular at all. Given our recent decision to start avoiding unwarranted breaking changes in 2.0, we'll consider quasiquotes good enough at this point and will close all outstanding feature requests.
We will still be fixing bugs (in fact, I've fixed about a dozen of such bugs for 2.0), but without strong evidence our design efforts will be directed elsewhere.

Understood. Perhaps this can be revisited after 2.0 -- a stopgap I've been using is q"def foo".copy(tparms=Seq(...)), so I'm definitely not blocked. Thank you for all your work!


Build stats.ndjson

Pull stats from game files and put into ndjson format. Haven't looked at much compared to #18

Started looking at this. It seems to be more complex than items(at least the minimal implementation of items).
The scheme for the ndjson file is:
interface StatMatcher {
    string: string; // The string pattern that matches this stat
    negate?: boolean; // Whether to negate the match
}

export interface StatType {
    ref: string; // Trade site text
    better: number; // ??
    matchers: StatMatcher[]; // An array of matchers associated with this stat
    trade: {
        ids: {
            explicit?: string[];
            implicit?: string[];
            enchant?: string[];
            rune?: string[];
            sanctum?: string[];
            // skill?: string[]; and technically skill, but I'm probably ignoring it
        };
    };
}

Just for reference
{"ref":"#% increased Exsanguinate Duration","better":1,"matchers":[{"string":"#% increased Exsanguinate Duration"},{"string":"#% reduced Exsanguinate Duration","negate":true}],"trade":{"ids":{"enchant":["enchant.stat_292721070"]}}}
{"ref":"#% increased Eye of Winter Damage","better":1,"matchers":[{"string":"#% increased Eye of Winter Damage"},{"string":"#% reduced Eye of Winter Damage","negate":true}],"trade":{"ids":{"enchant":["enchant.stat_1015388938"]}}}
{"ref":"#% increased Eye of Winter Projectile Speed","better":1,"matchers":[{"string":"#% increased Eye of Winter Projectile Speed"},{"string":"#% reduced Eye of Winter Projectile Speed","negate":true}],"trade":{"ids":{"enchant":["enchant.stat_1739537617"]}}}
{"ref":"#% increased Fire Damage","better":1,"matchers":[{"string":"#% increased Fire Damage"},{"string":"#% reduced Fire Damage","negate":true}],"trade":{"ids":{"pseudo":["pseudo.pseudo_increased_fire_damage"],"explicit":["explicit.stat_3962278098"],"implicit":["implicit.stat_3962278098"],"fractured":["fractured.stat_3962278098"],"scourge":["scourge.stat_3962278098"],"crafted":["crafted.stat_3962278098"]}}}

Basic implementation is done for write to json, need to work on converting wierd text from api into a standard format

Hi, thanks for getting awakend-poe-trade back running, i gave it a shot myself and threw together a python script that parses the game files generated with poe-dat-viewer, it does a fairly good job at parsing the mods as well as the items.
Maybe this could be of use for you
NOTE: i dont know if this contains all mods and items, there are most likely going to be a few mods that arent properly parsed or recognized
parser
items.ndjson
stats.ndjson

Let's go this is huge!
I have one that kinda works for items, but not uniques and was trying to figure out how the heck to do the stats right now.
I'm going to quickly whip this into a pushable state, then you can make a PR or i can just copy the files over if that is easier for you

Feel free to copy the files over, pr wont work as my version is based on the latest version of awakened-poe-trade

This is so awesome! Thank you for making that script! I've gotten it in the repo, and now just fixing integration bugs.

I think this is technically done now, anything else will be opened as new issues


SFBO Plan 2 Requirement for Direct Routing - licensing guidance needs to be updated

SFBO Plan 2 has been eliminated from purchasing.  Guidance needs to be updated and be more clear

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

ID: e26faf8c-529e-b317-5934-cd41cfe8fa24
Version Independent ID: 3ddd5d0a-6dbb-4940-1814-8346e293701b
Content: Plan Direct Routing - Microsoft Teams
Content Source: Teams/direct-routing-plan.md
Service: msteams
GitHub Login: @CarolynRowe
Microsoft Alias: crowe

@3017mark Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@3017mark thank you for reaching out and helping improve MS Docs. I see the note stipulates "Skype for Business Plan should not be removed from any licensing agreement where it is included." What would you suggest changing in this article?

It should be providing further clarification for customers to acknowledge that SFB plan 2 is bundled with the E/G5 SKU's and standalone phone system.  The details are missing as to the specific reasons it is required which causes confusion for customers.
Mark A. Brownell
Teams Techical Specialist
Microsoft
US State & Local Government
Office: +1-425-538-2012
Mobile: +1-774-280-9182
mabrowne<EMAIL_ADDRESS><EMAIL_ADDRESS>From: Lindsay<EMAIL_ADDRESS>Sent: Friday, March 5, 2021 4:02 AM
To: MicrosoftDocs/OfficeDocs-SkypeForBusiness<EMAIL_ADDRESS>Cc: Mark Brownell<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/OfficeDocs-SkypeForBusiness] SFBO Plan 2 Requirement for Direct Routing - licensing guidance needs to be updated (#6719)
@3017markhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2F3017mark&data=04|01|Mark.Brownell%40microsoft.com|137b26dc9d5247f6b8eb08d8dfb564a2|72f988bf86f141af91ab2d7cd011db47|1|0|637505317473763972|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=j4I9u%2F9ubi48gxhf9XKyAl%2BBk%2Fmazxy3uB%2Bu0L5XbZo%3D&reserved=0 thank you for reaching out and helping improve MS Docs. I see the note stipulates "Skype for Business Plan should not be removed from any licensing agreement where it is included." What would you suggest changing in this article?

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2FOfficeDocs-SkypeForBusiness%2Fissues%2F6719%23issuecomment-791274641&data=04|01|Mark.Brownell%40microsoft.com|137b26dc9d5247f6b8eb08d8dfb564a2|72f988bf86f141af91ab2d7cd011db47|1|0|637505317473773962|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=20hEnNyzgcIS8xa9YVDULar4fEDKskPgDFM2taCPZgE%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FANFUKE6ONHX2EQKNG7IJFKTTCCMZ7ANCNFSM4YE5EVRA&data=04|01|Mark.Brownell%40microsoft.com|137b26dc9d5247f6b8eb08d8dfb564a2|72f988bf86f141af91ab2d7cd011db47|1|0|637505317473773962|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=7P689crTxZwoduXdWm2ZdU7hwjS02PACOj9iNDcOJGo%3D&reserved=0.

@lindspea

@3017mark I see the article has been updated and also mentions that SFB will retire in July 2021. Please have a look and let me know if there is anything else you recommend adding to the article.

Thank you for submitting feedback and contributing to the docs. We are currently investigating this.


Creating a unique exit point

Hi, thanks for developing this project =)
Why don't you have an index.js file to centralize all require statements? Is that a choice or is it OK if I PR this modification?

Hi @claudenirmf! thanks for your patience and kind words!
The data in this project is pretty big! 75kb minzipped. The reason for adding those other files was for folks to not have to load the whole file, but instead loading just the tiny part they need. Thus, adding them all together kinda defeats the purpose of them: it creates an even bigger file.
Now, if you have the whole, you could also the other indexes in your code? Like this?

Cool, I think I got it.
My use case is that I need to map language codes both ways between 639-3 and 639-1, so I already to that. But as my application is on the server, not the browser, size is not really a concern.
I see value on having this mapping feature in the package rather than writing it on my own project, but I understand if you are concerned with a different use case.

application is on the server, not the browser, size is not really a concern.

Not really, but it’s still 1mb to import the whole thing, which isn’t too bad but slows startup time a bit, and still adds some weight when expanded into memory. And it would be more if we’re adding all these indexes!

I see value on having this mapping feature in the package rather than writing it on my own project

Agreed, hence why these are available and published, but at separate paths.
Reading your last comment, is it correct that you’d need a 1 to 3 mapping too? Or is the current main file and some code internally enough for you?

Reading your last comment, is it correct that you’d need a 1 to 3 mapping too? Or is the current main file and some code internally enough for you?

I have to transform requests referring to 639-3 to 639-1 and transform field names on 639-1 to 639-3 on the way back (dataset and API using different standards). What I do is to build the "reverse map" for my project, consult the map during runtime, and cache the results (people only need 5 to 10 language codes at the end of the day).

Not really, but it’s still 1mb to import the whole thing, which isn’t too bad but slows startup time a bit, and still adds some weight when expanded into memory. And it would be more if we’re adding all these indexes!

I will reflect on your comments and check my code's efficiency. Thanks =)
Maybe we can close this issue.

Alright, I’ll close this. Do let me know if an index for 1 -> 3 should be added.


Specifies node version

Changes

Adds a .node-version file to ensure consistent node version among devs

Developer Experience
If you're using nvm, you can run:
nvm use $(cat .node-version)

This will set the node version to be used with this project.
If you do not have this version installed, you can run:
nvm install $(cat .node-version)

Not sure if this is the version of node we want to stabilize on - but thought I'd create a PR 😄

Thanks for the PR, @alvincrespo , it's probably a good idea! I agree about the latest stable version as opposed to just the latest version.
Also, just curious, but with a .node-version file present, isn't the command just nvm use? I've never seen the $(...) syntax before, so maybe I'm misreading something.

By latest stable version, I do mean an actual version number, not just a general 'LTS' command. Is that what you meant, @ethanbb ?

Yup.

We might consider using an .nvmrc file so that we don't have to cat files

That looks like an attractive option.

Can we close this due to #979 ?

Closed due to #979.