Hawkular 500

Add uglify and ng-annotate to plugins, enable minification in concat file. Add Injections in PersonaInterceptorService and to d3setup. Change controller to link in HkDataPagination and HkPagination.

Merged #639


1.18.2 - Twigs - Bamboo Leaves as Fuel

Oops - hopefully fixed error

Please add this :) the bamboo leaves are a big problem for me xD with my automaticaly bamboo farm


How to make RxList notify ReactiveViewModel?

I'm trying to hold a list of items and use it in multiple viewmodels. Currently, I could achieve this by manually notifying view models.

Currently I implement the method below to make the field notify viewmodels. A more correct solution would be implementing RxList version of ReactiveServiceMixin
  notifyChange() {     var value = _orders.value;     _orders.value = [];     _orders.value = value;   }

Oooooof, that's a big ask. But it'll probably be worth it. If I do that I will most likely get rid of the Observable-ish package and build it into stacked. When I get time I will check if I can do a quick implementation for it with the basic functionality

I will start looking at this in about 2 hours. If it's not built into Observable-ish I will the code for it and include it in stacked. Will probably fork Observable-Ish if it's open to use in that way and keep it locally as well.

I read this completely wrong haha. I see what you're asking now. There's no common interface for those classes so I'll definitely have to spend some more time on the implementation. I might get this into stacked and rebuild the functionality myself to match the requirements.

@ahmetcj4 Update to 1.5.0 and you should have the RxList functionality. To use RxList you change don't wrap your entire list like this.
RxList<List<int>>

Instead you use RxList as the list type
RxList<int>


plugins, tap: use correct plugin type

The tap plugin documentation mentioned the vlan plugin; this commit corrects the documentation to use the correct plugin type - tap.
Fixes: #114

LGTM


Add terraform support for Cloudwatch Events, SNS and MediaConvert Queue Management

Add terraform support for Cloudwatch Events, SNS and Queue Management
This terraform project will add :

MediaConvert Queue
CloudWatch Event associated with the job status changes
SNS topic associated with the above CW event to send notifications to subscribed endpoints

Any update on this ?
@vinayak25 @gauravgupta123


New release

Howdy! Thank you for the delightful library. Would it be possible to do a new stable release? We use flank through fladle which depends on stable versions. Specifically I am looking for the robot test support. Thank you and have a nice day.

Hey, thanks for the positive feedback! We are planning a stable release on May 15. This will also include a new release of Fladle. Flade is being updated with all the new flags.
Robinhood also uses Flank via Fladle and we're eager for a new stable release.

Would it help to release a version of Fladle to help with testing? I just need to check for backward compatibility if it helps.
Also is there a chance of a release candidate version of Flank before the final release?

Also is there a chance of a release candidate version of Flank before the final release?

That's an interesting idea. I think we could consider it for the future. I'm pretty confident the current state of flank isn't RC ready. We will be soon though.

https://github.com/Flank/flank/releases/tag/v20.05.0


0.7.0 release

Codecov Report
Patch coverage: 92.04% and project coverage change: -4.87 :warning:

Comparison is base (7e0001c) 100.00% compared to head (6ccc1c6) 95.13%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@              Coverage Diff              @@
##              master      #18      +/-   ##
=============================================
- Coverage     100.00%   95.13%   -4.87%
- Complexity        37       58      +21
=============================================
  Files              2        4       +2
  Lines            101      144      +43
=============================================
+ Hits             101      137      +36
- Misses             0        7       +7

Impacted Files
Coverage Δ

src/PositionLocker.php
76.92% <76.92%> (ø)

src/PositioningScope.php
90.69% <80.95%> (ø)

src/HasPosition.php
100.00% <100.00%> (ø)

src/PositionObserver.php
100.00% <100.00%> (ø)

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


fix(blocklist-loading-skeleton): fixed

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


Avoiding 0-byte files being created when encountering "No space left on device"

Any way of avoiding 0-byte files being created when encountering:
ERROR! [Errno 28] No space left on device
Originally posted by @tordenflesk in https://github.com/tfeldmann/organize/issues/191#issuecomment-1892720462

Which actions result in empty files? Moving / copying?

Moving
rules:
  - locations: \\Srv-omv01\data01\tdarr\output
    name: Tdarr
    subfolders: true
    filters:
      - extension: mkv
      - lastmodified:
          minutes : 10
    actions:
      - move:
          dest: G:\
          on_conflict: rename_new
          rename_template: "{name}-{counter}{extension}"

Thanks for the config!
I'm not sure what organize can so differently in this case. It's using the python stdlib file methods. Maybe it's a bug in upstream?
Can you expand on the environment?
Is the mounted share a samba share? Which host are you running organize on?

That's a UNC path, not mounted. \output contains thousands of files, and if i run this config i'm left with thousands of 0-byte files. This is also true if i move files with a similar config "the other way" and the remove hosts drive is full.


⚠ BCR Bot has degraded performance

In 443d5ef, BCR Bot (https://bcr.alternativasinteligentes.com/BCRApi/web/chatbot) experienced degraded performance:

HTTP code: 200
Response time: 1013 ms

Resolved: BCR Bot performance has improved in 9dd1f8b.


Twython now runs on python-requests

I have implemented twython api's using requests. I have added two new file
1.twythonrequests.py => twython implementation using requests, Twython class is re implemented and api names are maintained.
2.tests.py =>unit tests for twythonrequests

Hey!
First, I'd like to apologize for taking so long here... came down with a bad case of Mono that knocked me out for like two weeks. Far, far less than ideal.
I like the idea of swapping out httplib2 with requests, but I'm curious about a few things:

Why is this done in a separate file? Let's go ahead and bite the bullet and just modify the current twython.py file to be requests-based instead.
shortenURL is something I'd like to keep around for all people who've possibly used it in the past; it uses is.gd's API, so it's not like it's much overhead to keep around anyway.
This currently isn't a clean merge, and I wasn't able to actually run with it. Looking over it, I'm happy with the general approach, but can we get it a little more aligned with the current state of the library?
Minor note, but line 127 of twythonrequests.py has an incorrect spelling for a function call. How did this pass tests? XD

Definitely happy to work with you and get this done, but would like it done right. Let me know if there's anything I can help out with.

Hey
Its ok, no issue. Hope your health is right back to normal.
Why is this done in a separate file? Let's go ahead and bite the bullet and just modify the current twython.py file to be requests-based instead.
-> I felt this is experiment, so let me have it as separate once you are happy, I can modify in twython.py
shortenURL is something I'd like to keep around for all people who've possibly used it in the past; it uses is.gd's API, so it's not like it's much overhead to keep around anyway.
-> Yea sure, I can add this.
Minor note, but line 127 of twythonrequests.py has an incorrect spelling for a function call. How did this pass tests? XD
-> I have had mainly three tests in unittests, so it wasn't there in test, :)


vomitting / ipecac / soap is too detrimental.

Description

Vomiting (especially as induced by chemicals) is currently too strong of a detriment. It slows your character to a crawl, and make you start taking damage shortly after vomiting occurs.
This effects medication overdosing, as well as over-drinking and a few other ingested occurrences, but its especially bad that ipecac/soap can currently be used as a 1u poison that is more effective than any other chemical. While we could change it so that ipecac/soap simply need a higher threshold, I don't think that's the root issue and it would probably be better to make vomiting less bad on the whole.

Screenshots

Additional context

I nerfed it. [#21453]


Cleanup single computation

How can one cleanup a single computation (with or without a root)?

Oh cool I think I found it here in the code:
https://github.com/adamhaile/S/blob/master/src/S.ts#L209-L216


Update dependencies

Pull requests:

https://github.com/docktermj/fpm/pull/4
https://github.com/docktermj/fpm/pull/5


https protocol doesn't render ui

https protocol doesn't render ui
The ui is not rendered in https despite the protocols configuration on swagger:
protocols(Sets.newHashSet("https"));
I'm on 2.6.1 but also tried 2.5.0
I'd appreciate in advance any advice in that regard.

Not sure. Could be a problem with swagger-ui.


Support for renaming objects

I added support for renaming host-, group-, dnsdomain- and networkobjects by adding the new_name property to the modules.

Hi,
We don't support "new_name" because it is not idempotent.
Thanks
Shiran

Hmmm. I understand that this not idempotent, but renaming an object is a common task out in the field. So an alternative reference other than the object name is needed.
Creating a new object and deleting the old one is also not a good solution, as the new object will not be part of any groups the old object was in and cells, where the old object was in before, might be empty after deleting the old object.
I believe there are two options: Support for the UID field (which is a bit complicated, because one has to read it before) or a field like old_name, where one can reference to the old name of the object.
Then, the module has to handle renaming the object and first checks if an object with the old name exists. If yes, than rename it, if no, through an error or better, just ignore it (because nothing has to be changed).
In this way the playbook run is idempotent and that is, what in Ansible has to be idempotent.
Thank you!
Regards,
Thomas


Keybindings in quick open aren't vertically aligned

Keybindings need vertical alignment:

Now using vertical-align: text-bottom, let me know if that helps.

Still not ideal:

@joaomoreno help!

@bpasero If there's an easy way to keep it open so I can fiddle with it in devtools I can look into it.

@Tyriar "workbench.quickOpen.closeOnFocusLost": false

The reason this is off is because the size of .results-group-separator is 23px but its parent .monaco-tree-row is set to 22px, meaning the last pixel is being hidden via overflow:hidden.

Absolutely right @Tyriar, but I do have another proposal to solve it: simply height: 100% on quick-open-entry. That and flex the htmlkb, which will make it take the same height as its children. Pushed it to #30182, let me know what you think.

@joaomoreno wouldn't that make quick-open-entry 1px too short?

I thought they should all be 22px anyway.


Best practices for POST and related tests

Greetings:
A bit of a 2 part issue / question around the same topic...
1 - I may have missed documentation examples somewhere about this, but what I put together seems to be working.  For a POST endpoint I'm just doing this inside my Controller class to get at the data I'm receiving:
await request.decodeBody();
Map body = request.requestBodyObject;

First question is, all good here?
2 - The main reason I'm asking is because I get major failure when I run this through a test case, unless I comment out the first line completely (decodeBody()).  Here's the error:
Expected:
	Status Code: 200
	Body: 'OK'
  Actual: TestResponse:<
	Status Code: 500
	Headers: x-frame-options: SAMEORIGIN
			 content-type: application/json; charset=utf-8
			 x-xss-protection: 1; mode=block
			 x-content-type-options: nosniff
			 server: aqueduct/1
			 content-length: 0
	Body: null>
   Which: Status Code 200 != 500

package:test                                       expect
test/facebook_controller_test.dart 38:7            main.<async>.<fn>.<fn>.<async>
dart:async                                         _SyncCompleter.complete
package:aqueduct/utilities/test_client.dart 279:5  TestRequest._executeRequest.<async>
dart:async                                         _SyncCompleter.complete
package:aqueduct/utilities/test_client.dart 354:3  TestResponse._decodeBody.<async>
===== asynchronous gap ===========================
dart:async                                         _Completer.completeError
test/facebook_controller_test.dart 39:6            main.<async>.<fn>.<fn>.<async>
dart:async                                         _SyncCompleter.complete
package:aqueduct/utilities/test_client.dart 279:5  TestRequest._executeRequest.<async>
dart:async                                         _SyncCompleter.complete
package:aqueduct/utilities/test_client.dart 354:3  TestResponse._decodeBody.<async>

The code comments in request.dart indicate the need to call decodeBody() first and it does work just fine on a deployed server, but the test fail is a bit of a nuisance requiring manual edits before running the test.  Is this a bug or am I doing something wrong?
Also, I can't get any custom logging to work at all in my controller classes when running through a test case - everything from trying to log to a remote system like Rollbar through to just a standard print statement.  That also works fine when deployed but just not when running a test. Any recommendations on how to approach that?  The issue above was pretty tough to diagnose without having any logging capabilities in my Controller code during a test run.
Thanks in advance!

Are you using HTTPController? HTTPController decodes the body as part of its processing, so by the time you get your responder method invoked, requestBodyObject is already valid.

Are you testing in IntelliJ IDEA? It sometimes doesn't pick up standard output, which is really a pain. Running tests from the terminal (pub run test -j 1) is what I do when it fails to pick up stdout. It's really obnoxious when you want to see the stack trace of the server itself, which is often. There is a flag on RequestController for this purpose, includeErrorDetailsInServerErrorResponses, which if true, returns the stack trace of a 500 in the JSON body.

Okay awesome, thank you.  Re: item 1... Yes to HTTPController, and originally I had included the decode call as per the code comment and in the absence of other examples I could find:
 /// The request body object, as determined by how it was decoded.
 ///
 /// This value will be null until [decodeBody] is executed or if there is no request body.

But I see now that it is already called inside of your HTTPController code, cool - simplifies things nicely.
On item 2, command line does what I need, thank you.  I had seen this issue in browser-based projects before but not backend projects to this point, probably should have played around a bit more before flagging it - thanks for bearing with me.  And the flag on RequestController is super helpful - just tried it, works well.
All done here :)  Thanks again.

Btw, another reason HTTPController decodes the body for you (if and only if it plans to process the request) is because x-www-form-urlencoded data gets treated as query values for @HTTPQuery parameters, and so the body needs to be parsed prior to executing the responder method.
I also realized you just brought up an important point: we really need a forum for Aqueduct. We'll get working on that. Closing this issue.


Download meta data

Hi,
I am wondering if there is any way to only download the .json metadata for each frame?
Best,

Hi, we are currently in the process of the dataset update. Users will be able to download only json files by the end of next month.


TypeError: Cannot read property 'createElement' of undefined

This is an excellent project!! But I need some help, I followed the instructions and still have some errors.
When I use HMR the hot module replacement mode in nestjs this is the error:

But when I use the normal watch mode of nest this is the error:

This is the template:

And here is the code https://github.com/Dav3rs/nestjs-with-react-templates
What i can do?

Hi @Dav3rs ! Got your project working with this change:
diff --git a/tsconfig.json b/tsconfig.json
index 63869eb..3e93b15 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,5 +1,6 @@
 {
   "compilerOptions": {
+    "esModuleInterop": true,
     "module": "commonjs",
     "declaration": true,
     "removeComments": true,

I will note the esModuleInterop setting in the README.


Add API to open user profile programmatically

Is your feature request related to a problem? Please describe.
We couldn't figure out how to open a user profile programmatically. For instance by clicking on a button outside the Iframe.
Describe the solution you'd like
Implement API, that can solve the issue - maybe some callback or item that we can add to the react component.
Additional context
Add any other context or screenshots about the feature request here.

@wladikpasika Yeah, there is no way today. Will take a look.

@wladikpasika I've added an example in master: https://github.com/FastComments/fastcomments-react/commit/4ee4c47ff869bc86bb3081cc4ea46ad07eae4140#diff-5149ca27915951c718099311594f43508ce00a3e6dad9cfcc58a2c1faebcfa1dR17
But there are some bugs. Will have a follow update and new version soon.

@winrid Thanks for the example!

@wladikpasika 3.1.0 now has a functional example of this ask. Verified works as intended. Closing.


"Save" button in application edit does not work when no IP filter is given

I have set up an app in Steemconnect. The app is listed in Steemconnect. So all is fine.
But when I try to edit the settings for this app on the  https://v2.steemconnect.com/apps/@APPNAME/edit, Steemconnect does not allow to save my changes.
The save button does not work because I did not fill in the Allowed IPs section, although it should work without IP filtering.
It seems that this bug has been introduced by PR 270, but I am not sure.
When one is building a mobile app and there is no server what should one enter in the Allowed IPs section?

Duplicate of #278


fixed ghidra api usage

saw that you're using gidrathon so I guess it works differently than the regular python


SW-5621 Added application list view with mock data

#2843  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @tommylau523 and the rest of your teammates on  Graphite


Add in toString function for tags

Fixes #13

Looks good, thanks for contributing! I'm in the car driving home atm but I'll make a note to make a release when I get back


Set topmost result for query: Where to add?

I have set some applications as topmost for a certain query.

How can I undo that?
How can I manually set certain keywords to show topmost results for something?

You can undo it the same way you set it, shift + enter on the same query and result will show:
'Cancel topmost in this query'

Typing "code" and visual studio code is not showing is a known and raised issue here https://github.com/jjw24/Wox/issues/163. I will put out a fix soon.

haha, funny that this is exactly the problem I'm having. Sorry that I didnt searhc.


Error running vehicle_state.py sample against simulator: WPM: REJ. CMD: Req.  WP was unexpected

I am running a simulator in a docker image I produced by following instructions in the PX4 Dev Guide.  The vehicle_state.py example from dronekit-python appears to fail at the cmds.wait_ready() step on line 112.  The failure is:

Home position: 47.3977419, 8.5455934, 488.10
WPM: REJ. CMD: Req. WP was unexpected

After that, the wait_ready call times out.
I notice that the script has output the Firmware version which it thinks it has connected to as this:
Get all vehicle attribute values:
Autopilot Firmware version: PX4Copter-1.5.0-dev0
Major version number: 1
Minor version number: 5
Patch version number: 0
Release type: dev
Release version: 0
Stable release?: False
That looks quite different (in terms of version) from what I see on the current dronekit-python site here: http://python.dronekit.io/examples/vehicle_state.html .
Is the docker image I am running from hopelessly out of date?  I just downloaded and created it from what appeared to be current instructions from the PX4 Dev Guide ... but I had a problem with pymavlink also.
Should I not rely on that image, and instead try to install or build everything myself?  Or does the PX4 Dev Guide need to be updated so the instructions give a more up-to-date image?  Or have I likely done something else wrong entirely?

On Mon, 21 Nov 2016, duboisj wrote:

Autopilot Firmware version: PX4Copter-1.5.0-dev0
That looks quite different (in terms of version) from what I see on the
current dronekit-python site here:
http://python.dronekit.io/examples/vehicle_state.html .

The example output is from ArduPilot, not PX4Copter.

Is the docker image I am running from hopelessly out of date? I just

Possibly - but that's not the source of your confusion :-)
If you want to play with dronekit-python then you can follow the
quick-start guide (which uses ArduPilot, not PX4 Pro:
http://python.dronekit.io/guide/quick_start.html
As you've discovered, dronekit-python's support for PX4 Firmware is
not complete.

Oops!  Thank you.  All things drone are new to me and I'm still trying to figure out how the pieces fit together.  My hardware is 3DR (Solo) and it looked initially like dronekit-python would be a good choice (both for the simulator and talking to real hardware).  Obviously I'm still getting oriented, though :-)

Is the dronekit-python's support for PX4 Firmware still not complete?

On Mon, 17 Dec 2018, Nebula wrote:

Is the dronekit-python's support for PX4 Firmware still not complete?

Correct.  It's support for ArduPilot less so - but likewise!
Note that some recent updates to pymavlink might help things along a bit.
Missions are still likely to be a problem, 'though.


Reduce allocations by turning Request into array of struct stack

Given the successful example in FEC with BlockInfo stack, it is likely will work with Request.
Here we will get automatic pooling (or reusing) of Request objects. The phisical length of stack will be equal to the deepest branch.

Wrapping the stack of requests into separate single object will help to track
a shared context, e.g. for #153


Add an option for projectiles dealing AoE damage

Description
While making new weapons, I noticed there wasn't an option to create one that deals damage to all ships nearby when it hits one. So I added aoeRadius field to ProjectileConfig and changed the update method in Projectile to deal damage to all SolObjects within the radius if AoE is enabled(aoeRadius >= 0). I also added a couple of methods to SolMath and ObjectManager for this.
Outstanding Work

Maybe the Projectile itself, or the ships in the firing faction, should be excluded from the damage.
Maybe the distance shouldn't be squared.

Pre Pull Request Checklist:

[x] Code has been scanned with SonarLint
[ ] Methods have been annotated with @ Nullable and @ Nonnull - isn't this outdated? The link tells me not to use these
[x] There are no errors present in the project
[x] Code has been formatted and indented
[x] Methods have appropriate Javadoc (How to write Javadoc)

Can one of the admins please verify this patch?

@GooeyHub : ok to test

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Thank you for this. It tests out fine!


Let PartitionedDataSet lazily materialize data to save

Description
The PartititionedDataSet is great for very large data sets (i.e., ones that won't fit in RAM), but it's save function requires all data frames to be in memory. As discussed in https://github.com/quantumblacklabs/kedro/issues/499, it would be advantageous for the save function to support a dictionary of callables, much like the load function returns. This would enable an entire large dataset to be processed and moved down a pipeline without storing the whole thing in RAM.
Development notes

Added a check in PartititionedDataSet.save to see if the value of the dictionary is a callable. If it is, it calls it.
Add a unit test for PartititionedDataSet.save for this case
Updated the documentation page for this case.
As noted in the issue, this causes saves to occur after the node_run hook, which may cause unexpected behavior. I've noted this in the updated documentation.

Checklist

[x] Read the contributing guidelines
[x] Opened this PR as a 'Draft Pull Request' if it is work-in-progress
[x] Updated the documentation to reflect the code changes
[x] Added a description of this change and added my name to the list of supporting contributions in the RELEASE.md file
[x] Added tests to cover my changes

Notice

[x] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.

I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorised to submit this contribution on behalf of the original creator(s) or their licensees.

I certify that the use of this contribution as authorised by the Apache 2.0 license does not violate the intellectual property rights of anyone else.

This is an amazing addition!  I've run into this issue many times since I started using Kedro.

Accepted all of @deepyaman 's suggested and rebased/squashed.

Hi @lou-k ,
Super cool contribution! Just out of curiosity, from your experience in implementing this solution so far, do you think it would be quite easy or rather difficult to extend this property to IncrementalDataSet?

@lucasjamar since IncrementalDataSet inherits from PartitionedDataSet you'd get this for free there.

Thanks so much for the review @MerelTheisenQB !
I've:

Updated the documentation with your suggestions. Thanks for that!
Rebased against the latest master branch
Moved the contributions to 0.17.4
Squashed the commits for a clean merge.

🤞 the CI/CD passes again :D

Hmm I am unsure why the win_unit_tests_38  tests are failing. I ran make test on my macos machine. Can anyone share the circleci logs?

Just what I need but available only on 0.17.4 I guess 😢

Yes @banbiossa it's available from Kedro 0.17.4, which was released last week 🙂

Not totally related but lambda scopes bit me on using this 😿
https://stackoverflow.com/questions/938429/scope-of-lambda-functions-and-their-parameters

@banbiossa SAME. EVERY. TIME.

I am using this implementation for a image dataset that won't fit in my memory, yet I still am having memory issues when saving the dataset. Any tips on how can I debug this?


[SAGE-268] Color Token shim

Description
Temporarily adds charcoal color tokens for use with Sage bridge in kajabi-products. Sage documentation will not be updated, since charcoal will be deprecated.
Note that only values 100 through 500 have been converted in figma. The remainder are duplicates of grey values.
Testing in sage-lib
Verify that the docs site works as expected
Testing in kajabi-products
Run the Sage bridge to confirm that webpack is no longer throwing errors.

(HIGH) Adds temporary charcoal values to color tokens

Related

Corresponding issue to address once in-app patches are complete: https://kajabi.atlassian.net/browse/SAGE-271


Usability question?

Hey,
I had discovered your project a couple months prior and I planned on using it (or parts of it) in my project but now that I got to the stage where i must implement the AI i see that you marked is a non production... I do plan on using it for a game thats going to be released in a couple of months so could you tell what are the major reasons why this shouldn't be used in production?
Also how hard would it be to change the AI evaluation phase from a real-time one( idk if your system evaluation phase is real time i am just guessing sorry if it isn't true) to a one useful for a turn based game where the AI will do evaluations each turn?
Thank you and wish you good luck!

Ahoy,
that's nice :) I would love to get a notice when your game is done. Good luck! You are of course free to do whatever you like with it. With non-production ready I meant I'm not actively providing more features. In an actual game you might miss advanced features of other utility ai implementations (Apex comes to mind).
To use the ai in a turn based game just call AI.Process once per enemy turn. In the actions queue commands, animations, ... . When this queue is empty the enemy turn is done. Should be possible.
Cheers


Add type definitions

This adds type definitions to traph function.
It is possible to have type checking for the object passed to traph function by passing two types: the expected input object type and the expected output object type.
type In = { values: number[] }
type Out = { count: number , mean: number }

traph<In,Out>({
	count: (i, o) => i.values.length
	mean: (i, o) => i.values.reduce(sum) / o.count
})

In each callback i type is In and o type is Out.
Also, the argument passed to traph must have all and only the keys of Out, where every key must have proper return type:
traph<In,Out>({
	square: (i, o) => ... // Error: square in not assignable
	count: (i, o) => String(i.values) // Error: count type must be 'number'
})

This PR adds tsd test too.

Wow thanks!!!
Is it impossible to infer output types though?
We would lose the o typing, right?

I'm afraid so. I think that circular reference is an unavoidable. I've tried to infer Output type from traph argument, but as you say we loose o typing.
With these types, the output is inferred when getters use only i parameter. For instance, if you look at the first test:
const transform = traph({
	fullName: i => `${i.first} ${i.last}`,
    initials: (i) => `${i.first[0].toUpperCase()}.${i.last[0].toUpperCase()}.`,
})

const output = transform({ first: 'Richard', last: 'Feynman' })

output is inferred to be { fullName: string, initials: string }. But as soon as you add o to one getter, even if it is not used, typescript fallbacks to Record<string,any>.


fix: expo_id

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


Generate valid Byron blocks

Related: #888.
See https://github.com/input-output-hk/ouroboros-network/pull/1320#discussion_r358774453. We have a property test that checks that verifyBlockIntegrity detects bitflips in ByronBlock. We should also have a test in the other direction: verifyBlockIntegrity should return True for all uncorrupted ByronBlocks. However, the block generator we have doesn't even generate valid blocks, so checking the signature always fails. This means that the test in the original direction is also not so useful at the moment: the original blocks are already "corrupt".
Note that I have tested verifyBlockIntegrity with https://github.com/input-output-hk/cardano-mainnet-mirror/tree/master/epochs already, confirming that it most likely works fine.
To properly solve this, we need a generator that can generate valid Byron blocks.

Note that this is not directly related to testing the Byron integration with non-empty blocks; see #1194.


Add dockerhub build

I finally got around to trying to port the build for the docker containers. The environment variables should already have been setup.
However, only for rtrmon and rtrdump the repositories do not exist.
If everything works out, this should create three images for every commit on master.
To do:
[ ] Validate environment variables have been setup
[ ] https://hub.docker.com/r/rpki/rtrmon repository
[ ] https://hub.docker.com/r/rpki/rtrdump repository

I guess this could go into main instead if the repos exist :)

Cherry-picked https://github.com/bgp/stayrtr/commit/f856087100b693cbed37e59c735d114540e40131

Thanks @ties - seems to work! https://hub.docker.com/u/rpki


Replace canvas-browserify with canvas

canvas-browserify has dependency<EMAIL_ADDRESS>which resolves to<EMAIL_ADDRESS>now and have different exposes. The top level Canvas is not available any more, see https://github.com/Automattic/node-canvas/issues/997.
I change it to support<EMAIL_ADDRESS>include types file and it works in my node environment.
The built in test is passing as well.

Hello @uicestone , any chance to create this pull request into my repo first?
Would be great if this fixes the issue with npm install error.

Hi, you can just use my re-posted version on npm:
https://www.npmjs.com/package/esc-pos-encoder-canvas
Anson Tio<EMAIL_ADDRESS>于2020年2月18日周二 下午8:51写道：

Hello @uicestone https://github.com/uicestone , any chance to create
this pull request into my repo first?
Would be great if this fixes the issue with npm install error.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NielsLeenheer/EscPosEncoder/pull/17?email_source=notifications&email_token=AAQUT24CQSOKF5ZSQW2LMZDRDPKWNA5CNFSM4IVJY53KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMB3FQI#issuecomment-587444929,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQUT234N4KNP6R4FB36W5TRDPKWNANCNFSM4IVJY53A
.

--
陆秋石 Uice Lu, Web Developer
Github https://github.com/uicestone Blog https://cecilia.uice.lu
CODE IS POETRY

The canvas dependency has been updated to 2.6.1. Thanks.


Script location customization

uBlock Privacy recently got a new rule that blocks Offen script on .com and .de domains:
/^https?:\/\/[-.0-9a-z]+\.(?:com|de)\/script\.js$/$script,1p,strict3p,match-case,domain=com|de

Apparently some not-so-nice analytics service uses /script.js.
It would be nice to be able to rename this script to avoid getting blocked.

I added
  location /newscriptname.js {
     proxy_pass http://offen/script.js;
  }

  location /script.js {
    internal;
  }

to my Nginx configuration, changed script's url on my website and it seems to be working properly.

Yeah, did the same after noticing this.


Relevant EMNLP 2024 paper

Our paper An Unsupervised Approach to Achieve Supervised-Level Explainability in Healthcare Records was accepted to EMNLP 2024 main. The paper is focused on the automated medical coding task. We demonstrate that we can produce similar faithfulness and plausibility explanations as the state-of-the-art supervised method but without training on rationales/evidence spans. We achieve this feat with two approaches:

We propose a new explanation method: AttInGrad
We train our model to be adversarial robust.

We released a repository for someone to get started on explainable medical coding
I have also written a blog post about the paper

@JoakimEdin Congratulations on your EMNLP work!
I have put your work in this git repo.  Without any clear definition of XAI, in recent years, many many papers about XAI have been proposed. It becomes more difficult for me to cover the latest research in this repo.  More pull requests related to XAI are highly encouraged if you are interested. Thanks.


Datepickr does not work and only shows undefined

Attached 2 screenshots, one showing the field the other with the errors on console

Fixed in #27


Convert virtcontainers tests to testify/assert

Use github.com/stretchr/testify/assert to make the virtcontainers unit tests more readable.

This still needs to be carried out.  Good low hanging fruit for someone who wants to start editing code/reviewing the tests.

This issue was moved to kata-containers/runtime#156


[iOS] Error: Assertion failed: Failed to find an image named icon_x

When I am calling the await presentPaymentSheet({clientSecret}) on my client side I am getting an error
Assertion failed: Failed to find an image named icon_x

I am trying to make the presentPaymentSheet visible on the screen and the app crashes.
Probably related to the https://github.com/stripe/stripe-ios/issues/1722 & https://github.com/stripe/stripe-react-native/issues/290
Desktop (please complete the following information):

OS: iOS
Version latest

Smartphone (please complete the following information):

Device: iPhone12
Versions:
Stripe (21.6.0)
stripe-react-native (0.1.4)

@yuki-stripe @davidme-stripe any ideas on this?

any update to this? facing the same issue.

I'm facing this same issue, added Stripe tru package manager and it gives the same error :C

Fix will be available within the next release


Fix a bug that causes Ajax Form could not access its "enctype" attribute

Fix Issue #454

I will merge it, and add additional check for attribute. But man, you are the first with such issue for a long time, and i can't replicate it in any way. That is something wrong with browser

Thanks for your response! It happened on the lastest Mac Chrome.


It's impossible to tell how to download this

Yeah, there is a download link, but it only downloads some zip file and the minfied version is 52 kb there, not 16kb as claimed. It's impossible to know what version to install if you want only a certain gallery. What's "jssor.player.ytiframe" or what's the difference between "jssor.slider.mini.js" and "jssor.slider.min.js"?
One file is 90 kb big, none is actually 16kb. I'm interested in the Image Gallery With Vertical Thumbnail, by the way.

The jssor.compress.exe is a smart js compressor especially for jssor javascript library.
Open example-no-jquery, you will see simple-slider.compress.bat, which demonstrates the typical usage of the compressor. After you run the bat, you will get simple-slider.html, the final javascript code is 19.7KB.
The 16kb you saw is in a document which hasn't been updated for a long time.
Reference: http://www.jssor.com/development/tool-jssor-compress-exe.html
Thanks for your interest!
Kind Regards

I don't care about "simple slider". The file gets 41 kb when compressed.

jssor.slider.mini.js is jquery version, jssor.slider.min.js is no jquery version. Both work the same, you can determine which one to include. You'd include jssor.player.ytiframe.js if you want to embed youtube video. See `examples-jquery\video-gallery.source.html'

Re: Literally no such thing as simple-slider.html, and I don't know what it is. Since when did I want an html file anyway?
No worry, you can use jssor.slider.mini.j or jssor.slider.min.js to use it simply. But if you want to reduce js code to minimum size, you can compress it in the manner that I stated in the previous answer.
Btw, the compression is not only for simple.slider.source.html, but also for any other html files. And also, you can compress single/multiple js file(s) as well.

One more thing, if you want to embed slider in ebay listing, you'd get it (deep) compressed first.


fix(profile): address issues from group test

What this PR does 📖

simple fixes for the below tickets

Which issue(s) this PR fixes 🔨

Resolve

#423

#420

#418

Special notes for reviewers 🗒
Additional comments 🎤
I had trouble with the context menu for the banner. If someone can fix it here, that would be great. oOherwise perhaps it could go in another PR so that I can complete some other tickets first.

This works extremely well, awesome PR Stu thanks for all the fixes!


Suspect types in the api module

The following are types in the api module which I'm not sure should be part of the public API:

FilterAndInvoker
FilterInvoker
FilterInvokers

AFAICS how filter get invoked should not be part of the api, but part of the runtime.

Triaged 1 Nov 2023 - nice to have, not a priority.


Fixup Goal's docstring

I noticed a couple words seemed to be missing. I hope this is the right correction.

Ha! That's embarrassing. Thanks. ☺


[Refine] New robust downloading mechanism for otaclient

Introduction
This PR introduces a much robust time-based downloading mechanism for otaclient downloading anything from remote servers.
Comparing to the previous implementation that fails on single failed download task, the new strategy now changes to keep retrying forever, unless the downloading keeps failing(no new succeeded task) longer than the configured timeout.
The behavior is as follow:
If the downloading failures occurs but there are still tasks succeed, like the network environment is unstable but still connected, the otaclient will keep retrying until all the downloading tasks succeed.
But if downloading keeps failing, like the user disconnects the Internet to the device, otaclient will keep retrying until timeout reached.
Comparing to the previous implementation that fails on single download task, the new downloading mechanism introduces the concept of downloading tasks group, manage all downloading tasks together, and retry based on tasks group scope.  New downloading retry strategy is implemented with the use of downloading tasks group.
Major changes

new RetryTaskMap class: works like built-in map, take a func and an iterable as input, and it will try its best to finish all the tasks. This class is used in downloading remote OTA files and downloading OTA image meta files to implement the new robust downloading mechanism. Also the create_standby.rebuild_mode module uses this class too.
create_standby module interface is updated, now it will no-longer be in charge of downloading anything from remote, but only focus on calculating delta and apply update to standby slot.
otaclient now pre-calculates and prepare the delta before downloading and applying update. With this change, otaclient can report the amount and the size of files needed to be downloaded before downloading starts.
OTAClient now takes charge of processing metadata.jwt, downloading OTA image meta files and downloading needed OTA image files. A new DOWNLOADING phase is implemented and the OTA image files downloading will be done during this phase, this phase occurs before update to standby slot, after the meta files processing and delta calculation.
new downloading retry strategy is implemented with using RetryTaskMap. The retry strategy now changes to keep retrying forever, unless the downloading keep failing(no new succeeded task) longer than the DOWNLOAD_GROUP_NO_SUCCESS_RETRY_TIMEOUT. This allow the user to manually interrupt the downloading by disconnect the network.
create_standby: deprecate LEGACY mode. Now only REBUILD mode is available.

Other changes

configs: refine and re-organize, split the internal used config fields(which users should not change) into _InternalSettings class, and users should only change the fields in BasiceConfig class.
configs: add new config fields for new downloading mechanism, especially the DOWNLOAD_GROUP_NO_SUCCESS_RETRY_TIMEOUT = 5 * 60, the otaclient will give up retrying if keep failing longer than 5 mins without any new task succeeded.
configs: reduce single download task retry to 3 as we now mainly relies on the downloading tasks group scope retry.
common: deprecate SimpleTaskTracker class, used RetryTaskMap instead.
create_standby: fully implement DeltaGenerator, resolve the leftover work. Now it will create a full DeltaBundle after delta calculation is finished.
create_standby: update interface definition, add a new calculate_and_prepare_delta API method. Deprecate is_standby_as_ref method.
ota_client: no-longer reused _OTAUpdater instance, instead always using new inst for handling new update request.
update_stats: define new OP_DOWNLOAD_FAILED_REPORT for reporting failed single downloading task.
re-implement all related test files.

Bug fixed

ota_client: fix update_lock being released unexpectedly when multiple update requests received

Potential future works

report the download size before starting download.
. refinement over the definition of StatusProgressPhase.
. in-place update mode now can be implemented as the DeltaGenerator is fully implemented.

Tests

[x] test files
[x] test on VM(with otaproxy enabled)
[x] test on VM(with otaproxy enabled, 5mins network disconnect test)
[x] test on VM(with otaproxy enabled, long time disconnect and resume test)

Ticket
T4PB-24839 Introducing a new robust retry strategy
(partially related) T4PB-24097 multiple ECUs OTA update failure handling

@obi-t4 This PR is again relatively large(sorry for that), so I recommend to first run the test files and test with VM on your side, and then start the review along with reading the PR introduction. Thank you!

I think _delta_src_path_hash_dict feature is not related retry strategy, so I'll disable this feature at least from this PR. What do you think. Any comment appreciate!

I agree with you. I will strip away this part of implementation of DeltaGenerator for now and re-introduce it in the future PR.

Long run testing result:
[2023-01-26 15:24:18,747][ERROR]-otaclient.app.common:_task_dispatcher:493,downloading_ota_files failed to finished, len(self._failed_tasks)=5974, self._last_failed_count=0, _total_retry_count=0
[2023-01-26 15:27:46,291][ERROR]-otaclient.app.common:_task_dispatcher:493,downloading_ota_files failed to finished, len(self._failed_tasks)=2026, self._last_failed_count=5974, _total_retry_count=1
[2023-01-26 15:28:36,791][ERROR]-otaclient.app.common:_task_dispatcher:493,downloading_ota_files failed to finished, len(self._failed_tasks)=442, self._last_failed_count=2026, _total_retry_count=2
[2023-01-26 15:28:58,593][ERROR]-otaclient.app.common:_task_dispatcher:493,downloading_ota_files failed to finished, len(self._failed_tasks)=150, self._last_failed_count=442, _total_retry_count=3
[2023-01-26 15:29:12,301][ERROR]-otaclient.app.common:_task_dispatcher:493,downloading_ota_files failed to finished, len(self._failed_tasks)=141, self._last_failed_count=150, _total_retry_count=4
[2023-01-26 15:29:27,236][ERROR]-otaclient.app.common:_task_dispatcher:493,downloading_ota_files failed to finished, len(self._failed_tasks)=141, self._last_failed_count=141, _total_retry_count=5
[2023-01-26 15:29:37,570][ERROR]-otaclient.app.common:_task_dispatcher:493,downloading_ota_files failed to finished, len(self._failed_tasks)=105, self._last_failed_count=141, _total_retry_count=6

And finally I resume the Internet connection and downloading finished as expected.

@obi-t4 Finally the long running test with the latest changes is finished without problem, the PR is ready for review now.

@obi-t4 I confirmed that the bug I found is not related with this PR, and it is fixed by #195 , so I will not address the bug in this PR. Please continue the review, thank you!


Incorrect parameter naming in worker.js

I encountered an issue with the solveChallengeWorkers function while using the altcha-lib library. The algorithm parameter passed to the worker gets lost due to a mismatch in parameter naming. Specifically, in worker.js, the variable alg is used instead of algorithm.
This causes the solveChallenge function to receive undefined as the algorithm, leading to the worker always returning null.
Steps to Reproduce:

Call solveChallengeWorkers with valid challenge, salt, and algorithm parameters.
Result of the undefined task check

My code:
import axios from 'axios';
import { solveChallengeWorkers } from 'altcha-lib';
import workerUrl from 'altcha-lib/worker?worker';

const response = await axios.post('/backend/api/altcha-generate');
console.log('Challenge data:', {
    challenge: response.data.challenge,
    salt: response.data.salt,
    algorithm: response.data.algorithm,
});
const solution = await solveChallengeWorkers(
    workerUrl,
    8,
    response.data.challenge,
    response.data.salt,
    response.data.algorithm
);
console.log('Solving:', solution);

Proposed Solution: Change alg to algorithm in worker.js:
const { algorithm, challenge, max, salt, start } = payload || {};
const result = solveChallenge(challenge, salt, algorithm, max, start);

Environment:
altcha-lib version: 1.1.1
Environment: NodeJS, Vite v6.0.3, Vue3 v3.5.13, Inertiajs v2.0.0
Thank you for your work on this library!

Hi, thank you for reporting this issues. Fixed in v1.2.0.


Changed get_file method to receive a resource as parameter.

This change returns settings for passed in resource region/zone/server.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1536524
@Fryguy @gtanzillo please review.

@fryguy made requested changes

@h-kataria I think you missed my changes as requested in https://github.com/ManageIQ/manageiq/pull/17406#pullrequestreview-119260395 .  The code is still using stub_settings which is not testing this properly.

@Fryguy updated once again!

@h-kataria

Fix the trailing whitespace issue from the bot
Please don't put the assertions in an after block.  after blocks are meant for cleanup, and should rarely be used.  Instead prefer a regular method like assert_setttings_values or something if you're trying to DRY it up.


Facewarehouse expression

wonderful project! I am amazed about the result. Thanks for your work.
I have a question. In the original paper, the expression is 29 dimention used facewarehouse, but I think your project just used BFM 10 dimension expression, right? so some facial expression can not be reconstructed such as left mouth up. Do you think use facewarehouse will improve the result?

You can give it a try. Besides, you can also try a 29-dimension version of expression parameters.


TypeError: Cannot read property 'active' of undefined

https://sentry.comunes.org/democracy-earth/vote-democracy-earth/issues/957/
TypeError: Cannot read property 'active' of undefined
  at _validateEmail (/app.js:21697:54)
  at Signup.handleBlur (/app.js:9390:30)
  at Object.invokeGuardedCallback (/packages/modules.js:118397:5)
  at executeDispatch (/packages/modules.js:118223:21)
  at Object.executeDispatchesInOrder (/packages/modules.js:118246:5)
...
(13 additional frame(s) were not displayed)

Resolved with 9fbaba361745b34723d54102e5419e88066a8a20


Tests are failing in Windows

Description:
A couple of tests are failing as they are written to UNIX systems. In Windows environment, they fail as they are giving different error messages.
Steps to reproduce:
Add the && exit %%ERRORLEVEL%% here and build. Tests will fail in github workflow.
Need to check the OS before asserting the messages.

Add function to check OS.
public static boolean testOs() {
 return org.apache.commons.lang3.SystemUtils.IS_OS_UNIX;
}


Templatize the ACME provider in certmanager helm template

Describe the feature request
Currently enabling certmanager via helm assumes an http01 ACME provider.  There are other providers beyond http01 and it would be nice if these could be specified through values.
Describe alternatives you've considered
NA
Additional context
NA

I think a better option is to stop bundling certmanager, and user certmanager own installer.
Aligned with the 'a-la-carte' model, and the plans to use prometheus operator, etc.


Problem with Wiki

This is just a suggestion for the Wiki:
https://github.com/adobe/brackets/wiki/How-to-Hack-on-Brackets
I tried to follow all the steps until:

Add an "upstream" remote: git remote add upstream https://github.com/adobe/brackets.git

Run setup_for_hacking script:

Mac:	tools/setup_for_hacking.sh "/Applications/Brackets.app"
Windows:	tools\setup_for_hacking.bat "C:\Program Files (x86)\Brackets"
(MUST be run in a Command Prompt started with "Run as Administrator")
Linux:	sudo tools/setup_for_hacking.sh "/opt/brackets"
Now, I must be really stupid, because I went into command prompt as administrator and tried running the line of code right away. It would be better to to leave a note saying to go into Command Prompt and find your repo inside command prompt and do all this!) Wasted an hour of my life.

@Blackweda Thanks a lot for letting us know about this ambiguity in the setup for hacking steps. We will update the wiki with more specific info for this step.

Thanks @Blackweda, addressed the issue by modifying the step to:

tools\setup_for_hacking.bat "C:\Program Files (x86)\Brackets"
(MUST be run in a Command Prompt started with "Run as Administrator". If you opened a new Command Prompt you might need to navigate back to the repository folder you cloned in step 3 with eg. cd C:/path/to/brackets`) .

thanks a lot guys!! :)


Attack buttons sometimes don't load

Will sometimes happen when repeatedly switching between tabs. Hard to reproduce.

I've also seen this with proficiencies. It seems to have something to do with tables.

Seems to only happen when switching tabs backwards (to the right)


Running on Noetic

I got it working on noetic but when I run
roslaunch full_coverage_path_planner test_full_coverage_path_planner.launch
I get the following error from dynamic reconfigure

and while the robot moves on the path, the transform from the robot to the map seems to be missing.

Is this just an issue of publishing a transform myself and if so where can I get the transform info?

@ElClopitan I had similar issue, and found the solution at magazino/move_base_flex#224

Excuse my inexperience but how would you recommend going about using noetic-devel? I have tried building from source but there seems to be catkin_make error and I am not sure I should be messing/what to mess around with in /opt/ros/noetic/lib/mbf_costmap_nav.

I tried the following suggestion after replacing move_base_legacy_relay.py with the one in noetic-devel but now move_base_legacy_relay dies when I roslaunch.
https://github.com/magazino/move_base_flex/issues/224#issuecomment-715209271

I realized the problem of it dying was error on my part but upon fixing it, the original issue of the maps being misaligned remains. Any help is appreciated thank you!

@amyjohansson1994 I followed your advice and replaced move_base_legacy_relay.py with the one from noetic-devel branch and did the other fix on there so it runs again. The original issue remains and I think I have narrowed it down to mobile_robot_simulator publishing the robot's base_link to be at (0,0) on the map which is not correct. Manually publishing a tf messes up the path so is there another way I can fix this? Thank you!

So mobile_robot_simulator is broken on Noetic?

It seems to be running fine, just that it places the robot at (0,0) on the map. If that counts as broken then yeah, it's broken. Hopefully there is a fix. It may just be that there is no source for localization on this map.

Even if I give it a correct initial position, the path does not move with it so it seems to start at the point closest to the new position.

Looking at a kinetic version of the code that works, I think it is safe to say that mobile robot simulator is the issue. I'll close this for now but if someone has any potential solutions I would be grateful.

Feel free to open an issue on robot_mobile_simulator for this :)


[Bug] Mechanical Arms cannot target custom depots.

Describe the bug
When attempting to setup a Mechanical arm, you cannot use a custom depot for either taking or placing items.
To Reproduce
Steps to reproduce the behaviour:

Launch Minecraft
Join a World
Place down a custom depot.
Obtain a Mechanical Arm and attempt to shift click on a depot.
Observe no highlight or targeting status is set.
Place your Mechanical Arm.
Observe the arm has no targets.

Expected behaviour
Mechanical Arm is able to target custom depots as if they are the same as base Create.
Desktop (please complete the following information):

OS: Windows
Minecraft Version: 1.19.2
Forge Version: 40.3.0
Mod Version 1.5.0-ht1
Other Mods: create-1.19.2-0.5.1.c

Fixed


Sticky navbar

Please add the option to make the navbar sticky, or make it default.
Thanks!

Not something I will be adding. happy for the community to make a PR to add this. It should be configurable in the config.toml if its sticky or not.


How to finetune with my own dataset?

Hi!!!
This is the task I am working on. The picture is of a flawed panel, and I hope to detect the flawed area through RegionCLIP. How should I proceed with fine-tuning?
Additionally, does the format of the JSON file for the dataset need to fully follow the format of the COCO dataset? I am not very clear about the requirements for the format.
Could you provide a clear explanation of the process and data preparation needed for fine-tuning?

Hi!!! This is the task I am working on. The picture is of a flawed panel, and I hope to detect the flawed area through RegionCLIP. How should I proceed with fine-tuning?
Additionally, does the format of the JSON file for the dataset need to fully follow the format of the COCO dataset? I am not very clear about the requirements for the format.
Could you provide a clear explanation of the process and data preparation needed for fine-tuning?

May I ask if you have succeeded


Add npm to deb package dependencies

npm is used in debian/postinst script.

thanks for the contribution!


backend-storage: add missing check for persistent EFI

What this PR does
Before this PR:
VMs requesting persistent EFI may get non-persistent EFI instead
After this PR:
Persistent EFI is fixed

Fixes #
Why we need it and why it was done in this way
The following tradeoffs were made:
The following alternatives were considered:
Links to places where the discussion took place:
Special notes for your reviewer

Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note

Fixed bug where VMs may not get the persistent EFI they requested

@jean-edouard How far do we need the backport?

/lgtm

/priority critical-urgent

/cherry-pick release-1.4
/cherry-pick release-1.3
/cherry-pick release-1.2
/cherry-pick release-1.1

@jean-edouard Can we get a test for this as well?

@jean-edouard Can we get a test for this as well?

https://github.com/kubevirt/kubevirt/pull/13560


COMMON: We need automated changelog

Maybe https://github.com/twisted/towncrier/?

seems to be fixed.  see https://github.com/intershop/helm-charts/releases

No, it's not automated. Better could be maybe: https://github.com/peter-evans/create-pull-request/blob/main/docs/examples.md#update-changelog


"Supporter" not showing up on the public page even when selected

Prerequisites

[x] I've searched for existing issues

Describe the bug
Even when I select "supporter" as a group I can connect to on the edit public page, it doesn't show up on the public page itself.

Expected behavior
If someone selects both "people with disabilities and/or Deaf people" and "Supporters", have them both show up as a tag on the public page

@cherylhjli where should the "Supporters" tag show up?

Can it appear like this? https://www.figma.com/file/AXufBnFAVHvGdsxnQMVhNF/The-Accessibility-Exchange-Wireframes?node-id=1540%3A36401&t=xbkMOEvGLxXJZ2Ot-1


Unable to build docs with nightly flag

When building with no-default-feautures, u64_backend std and nightly
    Checking x25519-dalek v0.5.2
error[E0432]: unresolved import `packed_simd`
  --> /Users/dignifiedquire/.cargo/registry/src/github.com-1ecc6299db9ec823/curve25519-dalek-1.1.4/src/backend/vector/avx2/field.rs:43:5
   |
43 | use packed_simd::{i32x8, u32x8, u64x4, IntoBits};
   |     ^^^^^^^^^^^ maybe a missing `extern crate packed_simd;`?

removing the nightly flags makes it work

This is a bug in curve25519-dalek; the problem is that the curve25519-dalek docs use doc_cfg to build the documentation for all possible backends (including the vector backend), but the optional vector backend has a dependency on packed_simd.  So Rustdoc tries to build the documentation for the vector backend with a note that "this is only available with target feature blah" but fails on the missing crate, because the vector backend wasn't enabled and so its dependency wasn't pulled in.

@QuietMisdreavus suggests adding a doc feature to curve25519-dalek that enables packed_simd

Closing this issue in favor of the curve25519-dalek issue linked above.


Support non-Latin characters

If a verse is copied/linked from a book with non-Latin characters, the characters before and the non-Latin character are cut off in the naming of the link.
Example:
Input: Matthäus 1.1
Output: [[Matthäus-01#v1|us 1.1]]
Expected Output: [[Matthäus-01#v1|Matthäus 1.1]]

A sufficient fix is to adjust the following regex in regexes.ts  to:
// Can be used to determine whether given name of file is from OBSK (for example Gen-01)
export const isOBSKFile = /([A-zÀ-ž0-9 ]+)-(\d{2,3})/

JavaScript doesn't support unicode character classes (\p{L} doesn't work). But using À-ž seems a good workaround.

Should be fixed now (version 1.4.5)


feat: DimensionParser.buildValue supports int type

Description
This pull request adds support for the int type to the DimensionParser.buildValue method.
Related issues & PRs
Fixes #7
Checklist

[x] I added a PR description.
[x] I linked all related issues and PRs I could find (no links if there are none).
[x] If there is new functionality in code, I added tests covering all my additions.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (8304c62) 80.28% compared to head (b636273) 80.28%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main       #8   +/-   ##
=======================================
  Coverage   80.28%   80.28%
=======================================
  Files          23       23
  Lines         497      497
=======================================
  Hits          399      399
  Misses         98       98

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

LGTM from my side. @tomkuschka please have a look also.
@Kahoulam I would love to see a unit test added/adjusted for the change you've introduced please!

I've added a unit test for the change. Please let me know if you have any other questions.

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


[postgres] Panic after first database ping

Description: Panic occurs when creating a db for sessions - it occurs when trying to ping the db.
https://github.com/gofiber/storage/blob/2e02bda8a118f2e6d17292bd58a3246f7ba28249/postgres/postgres.go#L72-L75
Error: panic: pq: database "fiber" does not exist
Example
package main

import (
	"github.com/gofiber/fiber/v2/middleware/session"
	"github.com/gofiber/storage/postgres"
)

var GlobalSessionStore *session.Store

func NewSession() {
	// Initialize default config
	store := postgres.New()
	GlobalSessionStore = session.New(session.Config{Storage: store})
}

func main() {
	NewSession()
}

Oh sorry I'm kinda stupid.
You need to specify database like this: postgres.New(postgres.Config{Database: "postgres"})

Yeah, Database defaults to fiber so unless you have a database named fiber you have to provide your own config 👍


Case-insensitive filtering on non-lazy-loading scenario.

Hi, is there a way to do case-insensitive filtering without having to use the lazy-loading options?

Hello @MAndrade1980
I need check this out because, if you use TableDataSet with filters, the filter expression is created from value which you put into filtering field.

Hi @Mewriick was just seeing if this was something that might be pushed in a near release? Also, would there be a section of the code I could peek at to see where this is going on? I would imagine this is some LINQ being used when filtering the DTO list.

Hi @MAndrade1980, new version is released. This should now work aslo with TableDataSet without LazyTableDataSet need.
In configuration method for column IsFilterable you can choose how text column will be matched during filtering part. Default value is StringComparison.InvariantCultureIgnoreCase

Looks great, many thanks!


dangling dir in vfs

[//]: # kind bug
I've got unknown 706M of image/container data.
➜  podman git:(master) ✗ podman images -a
➜  podman git:(master) ✗ podman ps -a
➜  podman git:(master) ✗ ls -l ~/.local/share/containers/storage/vfs/dir
total 4
drwxr-xr-x. 21 anatoli anatoli 4096 Dec  2 10:50 97ba8f52abc877f267dce6b6767a63a5fe549ab6b7b49cfac219a94631ca357a
➜  podman git:(master) ✗ du -hs ~/.local/share/containers/storage/vfs/dir
706M	/home/anatoli/.local/share/containers/storage/vfs/dir

What is that and how to clean it?
Output of podman version:
Version:       <IP_ADDRESS>
Go Version:    go1.10.4
OS/Arch:       linux/amd64

Output of podman info:
host:
  BuildahVersion: 1.5-dev
  Conmon:
    package: podman-<IP_ADDRESS>-1.gitdb08685.fc28.x86_64
    path: /usr/libexec/podman/conmon
    version: 'conmon version 1.12.0-dev, commit: 4a03e555ee4105308fa4d814d4ce02a059af0b7f-dirty'
  Distribution:
    distribution: fedora
    version: "28"
  MemFree:<PHONE_NUMBER>
  MemTotal:<PHONE_NUMBER>
  OCIRuntime:
    package: runc-1.0.0-57.dev.git9e5aa74.fc28.x86_64
    path: /usr/bin/runc
    version: 'runc version spec: 1.0.1-dev'
  SwapFree:<PHONE_NUMBER>
  SwapTotal:<PHONE_NUMBER>
  arch: amd64
  cpus: 4
  hostname: localhost
  kernel: 4.19.4-200.fc28.x86_64
  os: linux
  uptime: 27h 59m 18.37s (Approximately 1.12 days)
insecure registries:
  registries: []
registries:
  registries:
  - docker.io
  - registry.fedoraproject.org
  - quay.io
  - registry.access.redhat.com
  - registry.centos.org
store:
  ContainerStore:
    number: 0
  GraphDriverName: vfs
  GraphOptions: []
  GraphRoot: /home/anatoli/.local/share/containers/storage
  GraphStatus: {}
  ImageStore:
    number: 0
  RunRoot: /run/user/1000/run

It is standard dnf install podman on Fedora 28. Maybe I should create an issue to make it the default?

On Fedora, it should actually be installed by default, so you can swap without compiling it.
We should be swapping it to the default driver next release, but this will not take effect for existing Podman users unless you deliberately delete your Podman storage directory - it's not possible to upgrade without deleting all your containers/images locally and starting from scratch, and we don't want to do that to people without warning.

I can remove images no problem. What should I remove to clean up from the previous storage type, and what to change in config for fuse-overlayfs?
fuse-overlayfs was not installed with podman.
✗ sudo dnf info fuse-overlayfs
Last metadata expiration check: 1:55:01 ago on Mon 03 Dec 2018 06:04:34 AM +03.
Available Packages
Name         : fuse-overlayfs
Version      : 0.1

@abitrolly we made fuse-overlayfs the new default if it is found the first time podman runs.
What operations have you done to get that dangling dir?  I've pulled a bunch of images, created some containers but once I rmi all the images the ~/.local/share/containers/storage/ directory size goes down to almost 0.

I don't know what caused it. I noticed that podman doesn't detect containers created by buildah, so maybe some other tool created it. How to check?
 But then I should install it manually.

Yes could you try that.

I cleaned up everything with buildah and podman and there are again dangling dirs in vfs. Most of them are layers, but not all.
➜  containers tree -L 4 --du -h -F
.
└── [ 2.4M]  storage/
    ├── [ 540K]  libpod/
    │   └── [ 536K]  bolt_state.db
    ├── [ 4.0K]  mounts/
    ├── [   64]  storage.lock
    ├── [ 4.0K]  tmp/
    ├── [  48K]  vfs/
    │   └── [  44K]  dir/
    │       ├── [ 4.0K]  41c002c8a6fd36397892dc6dc36813aaa1be3298be4de93e4fe1f40b9c358d99/
    │       ├── [ 4.0K]<PHONE_NUMBER>2bb666b539c0bb112b3343855afce42963b31dfaa0b3b53750201d/
    │       ├── [ 4.0K]  6f819b502fc5ae3d6b5a4a9e375498bc3260eb9495d7809435690eb75b2ab0df/
    │       ├── [ 4.0K]  7bf218aaed23be7efa2e7596c9dcd907e303f3ad34bb920bad9766d50e475dc4/
    │       ├── [ 4.0K]  97ba8f52abc877f267dce6b6767a63a5fe549ab6b7b49cfac219a94631ca357a/
    │       ├── [ 4.0K]  a28f17d44f1af5b31b1a2a1f916e09b8d54a6ec2e1d86998090040d5cbc52f6c/
    │       ├── [ 4.0K]  ed6e6988d1b88f0d9e2227b9302bd635e1ae157baa8a528343dd7c1c3b9ae89e/
    │       └── [ 4.0K]  ee3e1cf5907451bbbd77349279e7794aa1ca29859a06bfbf37d1dcca4a25b34d/
    ├── [ 4.1K]  vfs-containers/
    │   ├── [    2]  containers.json
    │   └── [   64]  containers.lock
    ├── [ 4.1K]  vfs-images/
    │   ├── [    2]  images.json
    │   └── [   64]  images.lock
    └── [ 1.8M]  vfs-layers/
        ├── [ 368K]  41c002c8a6fd36397892dc6dc36813aaa1be3298be4de93e4fe1f40b9c358d99.tar-split.gz
        ├── [  363]<PHONE_NUMBER>2bb666b539c0bb112b3343855afce42963b31dfaa0b3b53750201d.tar-split.gz
        ├── [  348]  7bf218aaed23be7efa2e7596c9dcd907e303f3ad34bb920bad9766d50e475dc4.tar-split.gz
        ├── [ 1.4M]  a28f17d44f1af5b31b1a2a1f916e09b8d54a6ec2e1d86998090040d5cbc52f6c.tar-split.gz
        ├── [ 1.6K]  ed6e6988d1b88f0d9e2227b9302bd635e1ae157baa8a528343dd7c1c3b9ae89e.tar-split.gz
        ├── [ 1.6K]  ee3e1cf5907451bbbd77349279e7794aa1ca29859a06bfbf37d1dcca4a25b34d.tar-split.gz
        ├── [ 2.5K]  layers.json
        └── [   64]  layers.lock

  2.4M used in 17 directories, 14 files

I don't know the command to clean up those layers, so I now clean and remove them manually. That was podman <IP_ADDRESS>.
Interesting, I can not remove them.
...
rm: cannot remove 'storage/vfs/dir/ed6e6988d1b88f0d9e2227b9302bd635e1ae157baa8a528343dd7c1c3b9ae89e/run/systemd/netif/links': Permission denied
rm: cannot remove 'storage/vfs/dir/ee3e1cf5907451bbbd77349279e7794aa1ca29859a06bfbf37d1dcca4a25b34d/run/systemd/netif/leases': Permission denied
rm: cannot remove 'storage/vfs/dir/ee3e1cf5907451bbbd77349279e7794aa1ca29859a06bfbf37d1dcca4a25b34d/run/systemd/netif/links': Permission denied

$ ls -la storage/vfs/dir/ee3e1cf5907451bbbd77349279e7794aa1ca29859a06bfbf37d1dcca4a25b34d/run/systemd/netif/links
total 8
drwxr-xr-x. 2<PHONE_NUMBER>02 4096 Nov 13 17:04 .
drwxr-xr-x. 4<PHONE_NUMBER>02 4096 Nov 13 17:04 ..

storage.zip

I am just going to close this, since the recommended way is to now use fuse-overlay.

@rhatdan reinstalled podman with clean config and it still uses vfs.
$ dnf remove podman
$ rm -rf $HOME/.local/share/containers
$ rm -rf $HOME/.config/containers
$ dnf install podman
...
 podman                                            x86_64                       1:1.1.2-1.git0ad9b6b.fc29                             updates                       9.6 M
Installing dependencies:
 containernetworking-plugins                       x86_64                       0.7.4-2.fc29                                          updates                        13 M
 runc                                              x86_64                       2:1.0.0-68.dev.git6635b4f.fc29                        updates                       2.3 M
Installing weak dependencies:
 fuse-overlayfs                                    x86_64                       0.3-4.dev.gitea72572.fc29                             updates                        47 k
 slirp4netns                                       x86_64                       0.3-0.alpha.2.git30883b5.fc29                         updates                        71 k
...
$ podman info
store:
  ConfigFile: /home/anatoli/.config/containers/storage.conf
  ContainerStore:
    number: 0
  GraphDriverName: vfs
  GraphOptions:
  - overlay.mount_program=/usr/bin/fuse-overlayfs
  GraphRoot: /home/anatoli/.local/share/containers/storage
  GraphStatus: {}
  ImageStore:
    number: 0
  RunRoot: /run/user/1000
  VolumePath: /home/anatoli/.local/share/containers/storage/volumes

@giuseppe Ideas?

not really, there should not be anything under /run that could cause the wrong driver.
@abitrolly how does /home/anatoli/.config/containers/storage.conf look like once it is created?

[storage]
  driver = "overlay"
  runroot = "/run/user/1000"
  graphroot = "/home/anatoli/.local/share/containers/storage"
  [storage.options]
    mount_program = "/usr/bin/fuse-overlayfs"

But..
$ podman run --rm -d -p 10000:10000 envoyproxy/envoy:latest
ERRO[0000] User-selected graph driver "overlay" overwritten by graph driver "vfs" from database - delete libpod local files to resolve
ERRO[0000] User-selected graph driver "overlay" overwritten by graph driver "vfs" from database - delete libpod local files to resolve
Error: error from slirp4netns while setting up port redirection: map[desc:bad request: add_hostfwd: slirp_add_hostfwd failed]

there are two different issues here, one with slirp4netns that cannot bind the specified port on the host.  Is that port already used?
Also, from your comments seem like $HOME/.local/share/containers was deleted just before info, although vfs is still stored in the database.
Can you also share your libpod.conf and try to rm -rf the static_dir specified there?

Just to comment or confirm, rm'ing or mv'ing the bolt_state.db in the static_dir solve the issue as cleverly reported by:
ERRO[0000] User-selected graph driver "overlay" overwritten by graph driver "vfs" from database - delete libpod local files to resolve
delete libpod local files to resolve

delete libpod local files to resolve

which podman files should be deleted?

Generally speaking, the entirety of containers/storage's root directory (GraphRoot in podman info, defaults to $HOME/.local/share/containers/storage)

It would be more cleverer to provide a command to handle this forced cleanup process, which can be mentioned in the error message, since this would avoid ambiguity and guesswork from the user's end.

podman not uses fuse-overlay, and the original issue is fixed. I don't see any dangling dirs anymore.
$ podman info
...
  GraphDriverName: overlay


Fixed pre-commit hook issues

Pull Request Checklist

[X] Make sure to read the contributor guide here.
[X] Make sure you are making a pull request against the staging branch.
[X] Make sure your pull request title matches the requested format.
[X] Make sure to lint, type-check, and run unit and API tests.

Description
Fixed a couple pre-commit issues

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


Help me building for XP

Even after setting toolset for xp, i get an error when running on XP (sucess build) because some depedency or required file is not for XP. I need to figure out what is.

I think we use a few APIs that are not available on XP - and also the libraries that are pulled in from NuGet (wxWidgets, libtorrent, etc) are not compiled with the XP toolset.
If you're up for it you should start with building the libraries targeting the XP toolset and then build PicoTorrent against those.

Closing this as XP is not a target we will support.


How can I run a script in terminal with a  shortkey?

Hi, I want to run a script in terminal with a  shortkey, but I have no idea how to set the parameters, for example ,when editing a python script, when ctrl+alt+t pressed, the script runs in gnome-terminal, I have rewrote another command class in Terminal.py to achieve that, but I hate the modification, Is there any better way?

@Tian-Changsong I don't full understand your context. Can you provide an example of the changes you made?

Well @Tian-Changsong this package isn't designed to run a command in the terminal, just open a terminal. I think there are some other packages you can look through at https://packagecontrol.io/search/exec that may do what you want.

It has been 1 month since we replied on this issue but with no updates from the commenters. Closing this issue for now.


Add note about Vary: Cookie header and caching

If someone is using nginx for caching with wagtail.contrib.wagtailfrontendcache.backends.HTTPBackend then it won't work by default because django always seems to send a Vary: Cookie header, even if the session is not accessed. Adding uwsgi_ignore_headers Vary; in the nginx config gets around this, and allows nginx to cache the response.
Working on this
Anyone can contribute to this. View our contributing guidelines, add a comment to the issue once you’re ready to start.

I turns out {% wagtailuserbar %} was adding Vary: Cookie because it's checking if a user is logged in or not. And request.user.is_authenticated() sets request.session.accessed = True which in turn adds the Vary: cookie header.

Reviewed today – likely something worth adding to the deployment documentation we now have? If anyone wants to take it on please go for it.
Related example of another caching configuration gotcha we decided to cover with docs: #12455.

Actually, there's a lot more to this. Perhaps it would be more helpful to point to https://github.com/torchbox/cloudflare-recipes/ instead?
I haven't tested how that handles csrf cookies currently: https://github.com/torchbox/cloudflare-recipes/pull/13#issuecomment-2345831562 but that's something to watch out for too when configuring caching.


Unable to navigate remote host

Lapce Version
Nightly
System information
Linux Mint 21.1 (local)
Ubuntu 20.04 (remote)
Describe the bug
I am able to connect to the remote host using SSH, but am unable to open a directory.
When I attempt to open a folder, none of the directories in my home directory are visible. Any attempt to change directory results in the SSH status icon dropping from green to orange.
Additional information
No additional information. There are no error messages. Navigation works fine on the local machine, but selecting any folder using the Open Folder Dialogue on the remote machine results in the Open Folder dialogue closing and the remote connection getting reset. Happy to post logs if someone tells me where they might be found.

This is expected due to #2417


feat: configure database slave_connection param

The mariadb-galera-primary VIP only sends traffic to the primary node in the cluster whereas mariadb-galera-secondary VIP load-balances the secondary nodes (good for read-only ops).
Ideally we would enable this in the helm chart, but the existing charts do not seem to know about this parameter. If the hostname can be constructed from what we have in kubectl, that would be better.

This looks to be duplicated in #259

Looks good to me.


Support serde flatten for Typescript

This PR concretizes #114.
I haven't added tests, yet.

So, before I figure out how tests are setup,
here's what it does:
#[derive(Debug, Deserialize, Serialize)]
#[typeshare]
pub struct Foo {
    pub value: String,
}

#[derive(Debug, Deserialize, Serialize)]
#[typeshare]
pub struct Bar {
    pub value: String,
}

#[derive(Debug, Deserialize, Serialize)]
#[typeshare]
pub struct Dummy {
    /// generates a normal nested definition
    pub foo: Foo,
    #[serde(flatten)]
    /// generates a flattened definition
    pub bar: Bar,
}

then
typeshare . --lang=typescript --output-file=definitions.ts`

becomes
export interface Foo {
	value: string;
}

export interface Bar {
	value: string;
}

export interface Dummy extends Bar {
	/** generates a normal nested definition */
	foo: Foo;
}

It also does not affect the other languages' implementations for Language,
but the presence of #[serde(flatten)] does produce an expected panic! on e.g.
typeshare . --lang=swift --output-file=definitions.swift

A workaround could be to allow the consumer to define a blank feature flag,
and maybe #[cfg_attr] can be parsed to allow basically to ignore it on languages which does not (yet or never) support it, e.g.:
#[derive(Debug, Deserialize, Serialize)]
#[typeshare]
pub struct Dummy {
    /// generates a normal nested definition
    pub foo: Foo,
    #[cfg_attr(feature = "typescript", serde(flatten)])] // <--- this line
    /// generates a flattened definition
    pub bar: Bar,
}

But yes ultimately it's not super ergonomic, so looking for your feedback :)

Thanks for the PR! I'll give it a review next week

Sorry for the delay, reviewing now. really like the idea of using inheritance to solve this, but I'm concerned that this solution won't have an equivalent in languages that don't have inheritance (like Go), or that do but for which it's an unusual pattern (like Swift). I'll give it a review as written but I'll also do some discussion with the typeshare team at our next team meeting.

Alright! I understand your concern, please keep me posted in case I miss the discussion ! 👌

Hey, is there any update on this feature, any specifics that are blocking it? I'd be willing to help.


AA4 aliens D-K

With much help from Mindeblown on discord. He parsed them, I scrubbed them and submitted them

Great work guys! 👍

Great work guys! 👍


A comfy and secure way to store Mi Cloud settings

Regarding the authentication, I have a few questions - something is bothering me.
I've noticed it after adding a few devices to this plugin.
Is the way login-password pairs have been stored up to this moment a necessity?
We, users, have to duplicate the same data for each of our devices (login, password, server, isForced flag), while the passwords are not protected at all, they're completely open.
I have a feeling that it would be better to store credentials (password) at Keychain (macOS), for example (so only the key is listed in the config file). With a choice for the user, to store it securely or openly, ofc.
And it would be nice to have one place to define "default" login-password and server for all devices, with an option to override these params for each device.
For example, I have all my devices at the DE server, and only one of my devices at the CN server, but all of them are bonded to the same account.

Unfortunately as far as i know the login credentials cannot be stored in the Keychain (macOS) or any other secure storage, but storing the login credentials in the config.json is generally secure, given that you properly secured your device running homerbidge and your network.
MiCloud should normally only be used as a gateway to control older devices, of course you also can control newer devices over MiCloud using the forceMiCloud, but that usually does not give you any benefit over local control and sometimes can increase the latency.
In general i was thinking to have a global setting for MiCloud credentials but given that most devices can be controlled using the local commands and that sometimes users not only have devices on different servers but also different accounts, i decided to leave it as a per device setting.
Yeah it can be annoying when someone has multiple devices that require MiCloud, but in the end it reduces complexity adn gives the user a better overview on which devices uses MiCloud and which not.

Regarding the "default" micloud credentials for all devices, in the next update there will be a possibility to set global micloud settings which will be used by all devices! When a device requires a micloud connection then it will use the global ones, devices which does not need a micloud connection will ignore that.
You will also be still able to set per device micloud settings, so you can force single devices to use micloud or specify the country per device. That way you will not need to specify the login details multiply times!
That should improve the config file and there will be no need to specify that multiply times!

Global MiCloud credentials is now added in version 1.0.0


forge(doc): @inheritdoc does not pickup description

Component
Forge
Describe the feature you would like
@inheritdoc should pickup the parameters description even if the parameters name differ.
Additional context
I have the following Natspec doc in my interface:
    /**
     * @notice Mints `amount` token to `recipient`.
     * @param  recipient The address of the account receiving minted token.
     * @param  amount    The amount of token to mint.
     */
    function mint(address recipient, uint256 amount) external;

In my contract, I inherit from the Natspec doc the following way:
    /// @inheritdoc IZeroToken
    function mint(address recipient_, uint256 amount_) external onlyStandardGovernor {
        _mint(recipient_, amount_);
    }

As you can see, the parameters are suffixed by _ and in consequence, forge doc does not pickup the parameters description:

I think the try_match_inheritdoc function can be improved to match parameters that are prefixed or suffixed by _:
https://github.com/foundry-rs/foundry/blob/b6e7c8b50a351ec5779c8cf4790854cc0b23ce8c/crates/doc/src/preprocessor/inheritdoc.rs#L81

Component
Forge
Describe the feature you would like
@inheritdoc should pickup the parameters description even if the parameters name differ.
Additional context
I have the following Natspec doc in my interface:
    /**
     * @notice Mints `amount` token to `recipient`.
     * @param  recipient The address of the account receiving minted token.
     * @param  amount    The amount of token to mint.
     */
    function mint(address recipient, uint256 amount) external;

In my contract, I inherit from the Natspec doc the following way:
    /// @inheritdoc IZeroToken
    function mint(address recipient_, uint256 amount_) external onlyStandardGovernor {
        _mint(recipient_, amount_);
    }

As you can see, the parameters are suffixed by _ and in consequence, forge doc does not pickup the parameters description:

I think the try_match_inheritdoc function can be improved to match parameters that are prefixed or suffixed by _:
https://github.com/foundry-rs/foundry/blob/b6e7c8b50a351ec5779c8cf4790854cc0b23ce8c/crates/doc/src/preprocessor/inheritdoc.rs#L81

Does the foundry team want the feature? If yes, can I work on this issue? Thanks.

I'm not sure if the right approach to this is making the matching more lenient considering the lack of a code style standard for prefixing / postfixing function arguments. In my opinion your interface should just match your implementation.

@kamuik16 I think checking for trailing _ would make sense here, but to @zerosnacks point ideally the args match the interface

@kamuik16 I think checking for trailing _ would make sense here, but to @zerosnacks point ideally the args match the interface

Can I work on the trailing case?

@kamuik16 I think checking for trailing _ would make sense here, but to @zerosnacks point ideally the args match the interface

Can I work on the trailing _ case?

that'd be great, yes!

@kamuik16 I think checking for trailing _ would make sense here, but to @zerosnacks point ideally the args match the interface

Can I work on the trailing _ case?

that'd be great, yes!

Hey @mattsse, I compiled the doc crate and have made changes, but I am struggling with how to test it. Could you help me with how can I test my changes? Thanks.

 I couldn't solve this.

no worries, thanks for trying 🙏 I'll try looking into this

Hey @mattsse, while I couldn't solve this, I found out another issue and made a PR https://github.com/foundry-rs/foundry/pull/7369 on it. Waiting for your feedback.


Examine CI Total Load

Development on tt-metal has been ongoing for a while.
Should examine CI tests being executed and see if there are any tests which are deprecated/unused or moved to correct workflows to streamline post-commit runs.
Action items
Can start with:

[ ] metrics to identify long-running tests.
[ ] looking at old tests like tt-eager

@tt-rkim @rayraykay


CORS

Hey,
I'm trying to connect from another host and it's failing because of CORS. Can I do something about it from the command which is being executed?

What browser do you use?   Do you have CORS rejection before upgrading to websocket?
You probably need to add headers to your websocketd  --header="..."
Otherwise I'd love to see more info from your browser somehow... What requests it makes and what answers it receives from websocketd


Numbers should not be converted to strings

In several places of the protocol specification, the parameters contain a number in binary format, but then it is converted to decimal strings when used as a name component.
This increases complexity of the protocol and its implementations, and wastes bytes in low MTU links such as Bluetooth Low Energy.
It's better to define these as opaque byte buffers, and use them directly as name components.
One example is:

In insert/notify packet AppParameters, the Nonce field is a binary number, such as 80 04 00010000.
The corresponding msg packet is named as 8=msg/8=65536.

This could be changed to:

In insert/notify packet AppParameters, the Nonce field can contain between 2 and 16 bytes, such as 80 03 A0A1A2
The corresponding msg packet will have the same bytes as a GenericNameComponent after msg, such as 8=msg/8=%A0%A1%A2.

Another instance of this problem is between ProcessId field and the check topic name.

In insert/notify packet AppParameters, the Nonce field can contain between 2 and 16 bytes, such as 80 03 A0A1A2

Where does 2-16 comes from? How is this significantly different from NDN TLV non negative integer encoding?
I agree with the second point of using bytes within a generic name component in the name.

Allowing a range of Nonce lengths enables the client a trade-off between saving bytes for lower MTU and using more bytes for higher amount of traffic.
There’s no reason to restrict to only 1,2,4,8 octets. 3 octets, for example, is a totally valid choice.

Allowing a range of Nonce lengths enables the client a trade-off between saving bytes for lower MTU and using more bytes for higher amount of traffic.
There’s no reason to restrict to only 1,2,4,8 octets. 3 octets, for example, is a totally valid choice.

It seems too much effort for the benefit it brings?
If the repo uses a custom encoding to represent uint, clients need to construct this field by themselves. Instead, if we use the standard way NDN encodes uint, clients can construct this field by calling the library.

If the repo uses a custom encoding to represent uint

This field is not uint, but simply a sequence of binary bytes. Thus, there's no "custom encoding of uint" involved.

Fixed with https://github.com/JonnyKong/ndn-python-repo/commit/e323f8b49003737eec726de02ba047320cdd132c.


[chore] add multi platform build support

Changes
Adds 4 new make targets to support building multiplatform images (arm64 & amd64): create-multiplatform-builder, removed-multiplatform-builders, build-multiplatform, and build-multiplatform-and-push.
Dockerfile for nearly all services were updated to correct for warnings emitted by buildx, and to add appropriate build logic for multiple platforms.
Merge Requirements
For new features contributions, please make sure you have completed the following
essential items:

[x] CHANGELOG.md updated to document new feature additions
[ ] Appropriate documentation updates in the docs
[ ] Appropriate Helm chart updates in the helm-charts

Maintainers will not merge until the above have been completed. If you're unsure
which docs need to be changed ping the
@open-telemetry/demo-approvers.

Hey @puckpuck the build builds now, but when I run make start with those images, the currency service is unreachable.
I ran the PR with a pruned system.
Then, after building and the failures in the currency service, I've pruned again and built from main.
Everything worked fine.
Not sure if we need to specify anything else on the make start when the images are built with the buildx, but as of it is not, it is sadly not working :/

@julianocosta89 The currency service had an issue in the Dockerfile. I pushed a fix for it.
I started from a clean and pruned system and did the following:
make create-multiplatform-builder
make build-muiltiplatform
make start

All services started as expected, and I verified the traces in Jaeger.


library updates!

if const's have underlines, they wont be exposed outside the library, which i think makes sense for all the consts right? so instead of
TSL2561_DEFAULT_ADDRESS     = const(0x39)
do
_TSL2561_DEFAULT_ADDRESS     = const(0x39)

init should check the id and raise an RuntimeError if the chip is not found, the id() function can be inlined if you like - see https://github.com/adafruit/Adafruit_CircuitPython_BMP280/blob/master/adafruit_bmp280.py#L67

i know @tannewt mentioned changing lux to light but i actually just changed it back again (lux is a formal SI spec, light is just monotonic light measurements) so please make the property back to 'lux' (sorry!)

My understanding is this is only a convention:
https://docs.python.org/3/tutorial/classes.html#private-variables
If we are going to do this, maybe it should be added to the style guide?

OK

Ha! It would appear we agree on this:
https://github.com/adafruit/circuitpython/issues/314#issuecomment-339717740

In MicroPython/CircuitPython, adding the underscore actually prevents the name from going in the module dictionary. This is documented, but somewhat obscurely:
http://circuitpython.readthedocs.io/en/2.x/docs/reference/constrained.html?highlight=underscore

This RAM can be saved by prepending the name with an underscore as in _COLS: this symbol is not visible outside the module so will not occupy RAM.

http://circuitpython.readthedocs.io/en/2.x/docs/library/micropython.html?highlight=underscore

... if a constant begins with an underscore then it is hidden, it is not available as a global variable, and does not take up any memory during execution.

just tried. same behavior.

Sorry, I was half-wrong. It's when you use const() and there's an underscore. It's true for both .py and .mpy (just tested):
from micropython import const
PUBLIC = const(2)
_PRIVATE = const(3)

const() can only be an integer - nothing else

yep. that's it.
foo.py
from micropython import const
SOME_CONST = const(23)
_SOME_CONST = const(42)

def foo():
    print("{0} {1}".format(SOME_CONST, _SOME_CONST))

REPL:
>>> import foo
>>> dir(foo)
['const', 'SOME_CONST', 'foo', '__file__', '__name__']
>>> foo.foo()
23 42

How do we deal with non-integers?
https://github.com/adafruit/Adafruit_CircuitPython_TSL2561/blob/master/adafruit_tsl2561.py#L45

Use an underscore for consistency and as notice that it's meant to be private. Maybe someday const will work on other than integers.

Is that the answer, or a suggestion? Sounds like we should add this to the design guide.

i think both? :) we're updating the design guide ASAP, i just learned about this const stuff yesterday :D

I think all three points in original post have been fixed, so closing.


Native macOS support (arm64/Apple Silicon, without Rosetta).

OpenRefine v3.7.5 won't run natively/without Rosetta on M1 / M2 / M3 -powered Macs.  It's compiled for Intel.  It seems like some subparts are being compiled into Universal apps, but not the main app.  I haven't installed Rosetta for security reasons. I'd like to use OpenRefine relatively safely and run it natively.

We probably need two MacOS packages: one for x64, one for aarch64.
The build times will be quite long because notarizing two DMGs will take a really long time.
At the moment, all packages are generated by the same job, sequentially. Perhaps it is time to reconsider that and generate them on different jobs. We'd be running two MacOS jobs generating one DMG each. The downside of that is that all jobs will probably have to download dependencies and compile the app independently, unless we figure out a sensible way to share the intermediate compilation state.

This describes how to build a homegrown universal JRE: https://incenp.org/notes/2023/universal-java-app-on-macos.html
but this should really be solved by the Java platform folks, so I think it's blocked by https://bugs.openjdk.org/browse/JDK-8310589
I'm not sure it makes a ton of sense to invest lots of time/effort in workarounds like multiple builds (which the user then needs to choose correctly) rather than just waiting for the ecosystem to mature.

Thanks. Re. avoiding duplicate effort:fair enough.  I do note that [JDK-8310589] has Priority: P4: minor loss of function where easy workaround is present, however.
I see Oracle offers, for macOS, arm64:
JDK 20 binaries are free to use in production and free to redistribute, at no cost, under the Oracle No-Fee Terms and Conditions.
https://download.oracle.com/java/20/latest/jdk-20_macos-aarch64_bin.dmg
Separately, https://jdk.java.net/20/ ALSO offers a macOS / AArch64 (AKA macOS / arm64) binary.
Maybe I'm clueless, but it seems like one or both of these would be usable?   The incenp note seems out of date in this respect.

Yes JDKs are available for both architectures - the problem is that there is not a single JDK which works for both of them, so we'd have to publish two separate packages for both architectures.

Any update on this. It would be nice to have this work natively on newer Macs.

As you can see by following the links, nothing has changed upstream, so no changes here either.


Add docs for per key inference

This should not be merged until release 2.51 is finalized.
✨ RENDERED
Part of #27628

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.