[v1.9] Backport nix derivation for static builds

Also see #6402
nix-based static binary could be found from:

https://github.com/alvistack/libpod/releases/tag/v1.9.3
https://github.com/alvistack/libpod/releases/tag/v2.0.0-rc2

You need to add a Signed-off-by line to your commit - git commit --amend -s --no-edit should work

LGTM

@baude @mheon @giuseppe @vrothberg @TomSweeneyRedHat @jwhonce @QiWang19 PTAL

I have no expertise in Nix and cannot review.

I have no expertise in Nix and cannot review.

Could simply try with this:
curl -L https://nixos.org/nix/install | sh
git clone https://github.com/alvistack/libpod.git
cd libpod
git checkout v1.9-linux-amd64
nix build -f nix/
./result-bin/bin/podman --version
ls -lah ./result-bin/bin/podman
ldd ./result-bin/bin/podman
file ./result-bin/bin/podman

Example result:
$ ./result-bin/bin/podman --version
podman version 1.9.4-dev

$ ls -lah ./result-bin/bin/podman
-r-xr-xr-x 1 hswong3i hswong3i 50M Jan  1  1970 ./result-bin/bin/podman

$ ldd ./result-bin/bin/podman
    not a dynamic executable

$ file ./result-bin/bin/podman
./result-bin/bin/podman: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.32, Go BuildID=pVTlxXbP3zJwnIv270_g/n4422kj1lRjvCMVkckKC/h9rdwRGSToOL2cYUz5T-/hJIP5OfmT5Or4zlx42Y6, not stripped

@saschagrunert PTAL

Compile now successful: https://github.com/alvistack/libpod/releases/download/v1.9.3/podman-v1.9.3-linux-amd64
$ ls -lah ./podman-v1.9.3-linux-amd64
-r-xr-xr-x 1 hswong3i hswong3i 44M May 31 11:38 ./podman-v1.9.3-linux-amd64

$ ldd ./podman-v1.9.3-linux-amd64
    not a dynamic executable

$ file ./podman-v1.9.3-linux-amd64
./podman-v1.9.3-linux-amd64: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.32, Go BuildID=8aoQlir-hnIlUFgPjNpP/HSxtS1j80TAJXsk5b3Ly/BQf_LNRIsfb5jKfcQMNO/YygPNHhAHpdqlPmgvpOs, stripped

$ sudo ./podman-v1.9.3-linux-amd64 --version
podman-v1.9.3-linux-amd64 version 1.9.3

Therefore could focus on CI/CD fixes ;-)

/ok-to-test

Can you rebase the commits?

Can you rebase the commits?

Checked and already rebased and updated with v1.9

Let's focus on master ;-)


Country is not properly set if input has value when loaded.

In instances where the form input already has a value, for example when editing a previously created contact, the country dropdown is not properly selected.

Hi Matt, what number are you using, what do you expect to happen and what is actually happening?

hi, I second this and can give some more details:
say a contact form pulls in db values, e.g.<PHONE_NUMBER>03, the plugin doesnt recognise that it's UK and tries to format it US (or i assume first preferred country) and fails, formatting it like<PHONE_NUMBER> and then, on a click and keyup, it then re-formats as +44 7852 3141.
I would expect it to recognise the "44" at least and try formatting as en-GB.
we're using .net here and the textboxes are populated on load, then in docready we initialise the plugin on the input. so, previously saved, valid MSISDNs e.g the one above get shown as invalid and numbers are dropped/truncated. i just pulled the latest version and still occurs.
if however i clear out the invalid number and paste in the same<PHONE_NUMBER>03, the plugin recognises it as en-GB. Same issue for other number formats too incl. US
If the db stores the number as +44 7852 314 103 (spaces + plus sign) then the plugin recognises and works.
thanks.

Thanks for providing more information. The issue is that the number you provided ("447852314103") is not a valid international number - it would need the plus to know that +44 is the country code, otherwise the default country is US, and so it would interpret the first 3 digits (447) as a US local area code for Illinois - see List of North American Numbering Plan area codes.
Does that make sense?

Hi, I thought about that as being logical, however I am able to paste "447852314103" into the textbox and it picks it up as UK fine, even if another country flag is selected first. setting it via jquery val doesnt work however, only if i paste directly in.

I cannot reproduce that on the demo site. What version of the plugin are you using? And what initialisation options?

yes, the demo site only works as I described if you pre-select UK for instance.
latest version 5.8.2 and the following, nothing special?
var mobilePhoneInput = $("#mobile"),
mobileErrorMsg = $("#mobileError-msg"),
mobileValidMsg = $("#mobileValid-msg");
    mobilePhoneInput.intlTelInput({
        preferredCountries: ["us"],
        utilsScript: "/scripts/libphonenumber/utils.js"
    });

see a screencast here.
http://screencast-o-matic.com/watch/coeYbeesN7
on start i refresh and you'll see the format to 447  US, i then proceed to paste in the UK number above multiple times.
cheers

Ok first of all, when I test this: when I first load the page and init the plugin, it doesn't format the number because it has too many digits. Perhaps you need to update your utils.js?
Let me know if that fixes the problem.

Closing due to lack of activity.


Extension doing nothing

Are there any specific steps you need to follow in order to make the extension work? I downloaded the chrome extension, unzipped the file, and then installed it as specified in the instructions but after installation not change has occurred when attempting to access quizlet explanations.

Can you provide me with additional details? Like if the extension is loaded correctly or some errors shows up?

"browser_specific_settings": {
"gecko": {
"id"<EMAIL_ADDRESS>"strict_min_version": "48.0",
"update_url": "https://github.com/rospino74/Quizlet-Bypass/raw/master/public/updates.json"
}
},

Chrome Error reads, "Unrecognized manifest key 'browser_specific_settings'.

That are just warnings. Is the issue still reproducible on this version?


HelmRelease file not updated

@stefanprodan As you know, I have been using your tools for a long time. My general experience is that the tools are rock solid.
Today a colleague reported that an image was not being updated. I inspected our cluster.  The Image Automation controller had been running for 4 days.  It had made updates as recently as last night.  There were no error messages in the logs.  In other words, from the perspective of the Image Automation controller, everything was running fine.
I looked for an ImagePolicy for the image in question. I found one.  The policy had been updated to the new image hours earlier. The annotation to instruct the Image Automation controller was attached to a HelmRelease.  That file had not been modified with the new image tag.  However, that file had been updated by the image automation controller in the last 4 days.
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
  name: mock-metadata-service
spec:
  interval: 5m
  chart:
    spec:
      chart: .
      version: "0.0.4"
      sourceRef:
        kind: GitRepository
        name: mock-metadata-service
        namespace: shared
      interval: 1m
  values:
    name: mock-metadata-service
    imagePullSecrets:
      - name: ecr-credentials-sync
    images:
      tag: 21.0811.1547.38-70e9909c-master # {"$imagepolicy": "shared:mock-metadata-service:tag"}

I restarted the Image Automation controller and it quickly updated the Gitlab repo to reflect the proper version of the Image tag.
So, I am left to conclude that either an error occurred that was not properly logged or there is another bug.

@stephanprodan I think that this just happened again.  What data can I collect for you before I restart the controller?

I see no timeout
image-automation-log.txt
date.txt
imagepolicy.txt

mock-metadata-service.txt

helmrelease.txt

Here is the image automation pod:
image-automation-pod.txt

What would happen if the controller ran on a pod that was very low of memory?  Could it cause this failure?

:wave: @derrickburns
If you set --log-level=debug on the controller deployment, the controller (in recent versions) will record much more about why it does or doesn't make any update. That might reveal if there's some subtle, or mistaken, reason it declines to commit the change you expected.

Hi,
We are experiencing similar problems.
After quite some time working seamlessly, applications stop being updated automatically by flux.
New image is detected, but no changes are commited to workload repo and application is not updated on cluster.
After forced image-automation-controller restart changes are commited and pushed to repo and application is updated.
We've found no information in logs that could tell us anything about the cause and about the problem itself.

The image-automation controller version v0.21.0 introduces an experimental transport that fixes the issue in which the controller stops working in some specific scenarios.
The experimental transport needs to be opted-in by setting the environment variable EXPERIMENTAL_GIT_TRANSPORT to true in the controller's Deployment.
This will require a redeploy of all components so I would recommend doing so via flux bootstrap using the flux cli version v0.28.0 which will be released tomorrow.
Can you test it again with the experimental transport enabled and let us know how you get on please?

Closing this issue due to inactivity, but happy to reopen in case of reincidence whilst using the latest versions of the image automation controller.


Make it possible to join nodes via non-default interace

I have a need to join nodes on internal network <IP_ADDRESS>/16. This PR adds regex to filter microk8s add-node output to select to which interface to join nodes.

Great job thanks


WLAN card

WLAN card is working on my computer.
with this "https://github.com/athlonreg/Enable-AR956X-AR946X-AR9485-in-your-hacintosh#enable-ar956x-ar946x-ar9485-in-your-hacintosh"

Please tell me how to fix this step by step.

Unzip suitable package into /System/Library/Extensions/IO80211Family.kext/Contents/Pluglns and replace the AirPortAtheros40.kext accoding to your wireless model and the version you are usings.


Implement ratio breakpoints

Problem / Current Limitation:
Currently, the breakpoints param only supports absolute unit values, e.g. the width of the window in pixels. For some applications, e.g. on mobile devices, this turns out to be a limitation, preventing an easy way to implement certain logic like portrait / landscape switches.
Use Cases:

Implementing a breakpoint switch between portrait and landscape by using @1.00 (width/height ratio above 1.00 / square).
More granular control of slide layout, by tuning the ratio values to guarantee a certain width / height ratio of visible slides.

Example:
Located in demos/381-ratio-breakpoints.html
The parameter works in the following way:

The breakpoints array parameter allows keys in string notation<EMAIL_ADDRESS>{ ... }, where X.XX represents the minimum aspect ratio (width / height) to trigger the breakpoint.
Provides compatibility and mixing with integer keys (current behaviour).

Merged, thanks!


Adding more animations

Animations can be added as soon as the website is opened, present is good but its simple.

@KavyaBS123 sure work on it score will be given as per work


ci: Disable android UI tests due to timeouts / flakiness

See https://github.com/firezone/firezone/pull/4178#issuecomment-2094815889

Need to merge this to unblock the pipeline


parser: implement parsing of embedded types

Fixes neugram/ng#148.

Codecov Report

Merging #168 into master will increase coverage by 0.03%.
The diff coverage is 90%.

@@            Coverage Diff             @@
##           master     #168      +/-   ##
==========================================
+ Coverage   50.34%   50.37%   +0.03%
==========================================
  Files          22       22
  Lines        9833     9840       +7
==========================================
+ Hits         4950     4957       +7
  Misses       4388     4388
  Partials      495      495

Impacted Files
Coverage Δ

parser/parser.go
69.97% <90%> (+0.15%)
:arrow_up:

Continue to review full report at Codecov.

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


insert tool-tips in the UI

Tooltips should improve the usability and provide a meaning to the UI filelds

added in 8515c76556f9d91167a89db3857a380365aeb4f3 in devel branch


Style/InitialIndentation doesn't error out when line starts with integer literal

Code looks good, but the branch has to be rebased on top of the current master.

master is a quick moving target! Rebased.

Yeah, it's been pretty crazy lately. PRs are coming in faster than I can review them. :-) (which is great)


[question] Add extra fields to response

I see, by design strictly only code and message are being passed to http response body.
https://github.com/restify/errors/blob/master/lib/baseClasses/HttpError.js#L92
https://github.com/restify/errors/blob/master/lib/baseClasses/HttpError.js#L147
Imagine a scenario when you want to pass down some extra metadata in the error response. For example validation details:
{
    "code": "BadRequest",
    "message": "",
    "validation": { ... }
}

How do you guys pass extra error metadata in http response?

If you are sending the response as JSON, the easiest way is to simply override the toJSON method with your own custom method after you create the error. It might not be a bad idea to accept an option at instance creation time to specify how you want this formatted, though!

I have the following custom error:
errors.makeConstructor('ValidationError', {
  restCode: 'BadRequest',
  statusCode: 400,
});

// eslint-disable-next-line func-names
errors.ValidationError.prototype.toJSON = function () {
  const parent = HttpError.prototype.toJSON.apply(this);
  parent.details = this.errorDetail;

  return parent;
};

Which is called like this:
new ValidationError({ message: 'Body is invalid', errorDetail: errors }

However, from my toJSON override, I'm not able to retrieve the errorDetail field passed at construction. However, the extra properties seems to not be available on the Error object.
So, I've used HttpError.context field instead to carry around the details.
// Error definition
parent.details = this.context;

// Usage
new ValidationError({ message: 'Body is invalid', context: errors }

I was just wondering if it's the right way to go or if I'm hijacking the HttpError.context property?

@tsm91 I think you settled on not exposing it by default. Since you were about to expose it, can I assume it's ok for my to use context for such use case?

@maoueh i would say yes, anything goes
but i believe the usage for context property would be for internal logging mechanism, so one who reads the logs can understand a bit more about the error itself
also, why would you want to send back validation data to client? Client should handle validation errors before form is submitted.

The client should indeed, and it will, but backend could do some validations the client won't do (checking for a duplicated or something more fancy).
And I would like to send this validation. Also, for those use the API more in cURL/Postman way, not having the actual messages is a pain. So I always prefer to send validation errors back to client so it is able to display them to user.

the client won't do (checking for a duplicated or something more fancy).

why not? I usually got async validators when the situation requires it. For signup you implement an endpoint to check if the email address provided is taken or not. Based on that u return a http 400 which the client intercepts as email addr is taken.

And I would like to send this validation. Also, for those use the API more in cURL/Postman way, not having the actual messages is a pain.

I use postman as well. I usually log the extra information to console. You dont have to send it back in the response. Also with Bunyan u could log these infos in production as well.
What i plan on doing is investigate https://github.com/restify/errors#bunyan-support and https://github.com/trentm/node-bunyan. To implement a proper logging system that works in dev and prod as well.

Hey @maoueh, the example you have is the right way to do it:
new ValidationError({ message: 'Body is invalid', context: errors }

The API is covered over here in the README. If this doesn't work for you feel free to open a new ticket!

@maoueh what i did is implemented a loggerService, which can properly write errors to process.stdout on serverside
this way when you test api-s you can read the logs in the console instead of sending validation errors to client. Link to example usage, serializer implementation
it looks like this


upgrade hive to mce-2.2 branch

Signed-off-by: ldpliu<EMAIL_ADDRESS>https://github.com/stolostron/backlog/issues/26722

/hold wait mce pipeline updated

/assign @elgnay @zhiweiyin318

/lgtm


#312 Update PR guidelines in PULL_REQUEST_TEMPLATE

#312

updated the PULL_REQUEST_TEMPLATE

Following new rules  are added

You made changes related to only one bug (create separate PRs for separate problems, or leave puzzles)
You ran the build locally and it passed
Title begins with the issue's number, then a short title
Description begins with the issue's number, then enumerates the changes - summarized - in bulletpoints
Description does not contain GitHub keywords (https://help.github.com/articles/closing-issues-using-keywords/).

@mohamednizar/z this pull request is too small, just 5 lines changed (less than 10), there will be no formal code review, see §53 and §28; in the future, try to make sure your pull requests are not too small; @paulodamaso/z please review this and merge or reject

Codecov Report

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

@@            Coverage Diff            @@
##             master     #350   +/-   ##
=========================================
  Coverage     76.94%   76.94%
  Complexity      193      193
=========================================
  Files            34       34
  Lines          1106     1106
  Branches         85       85
=========================================
  Hits            851      851
  Misses          228      228
  Partials         27       27

Continue to review full report at Codecov.

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

@rultor merge

@rultor merge

@mohamednizar Thanks for your request. @paulodamaso Please confirm this.

@mohamednizar Thanks

@rultor merge

@rultor merge

@paulodamaso OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@paulodamaso Done! FYI, the full log is here (took me 14min)

Job gh:yegor256/jpeek#350 is not assigned, can't get performer

This job is not in scope


Aria2 jsonrpc support

Motivation for changes:

Add support  for JSON-RPC

Detailed changes:

Add configs:

scheme: http(default)/https
rpc_mode: xml(default)/json
rpc_path: rpc(default)

JSON-RPC client

Addressed issues:

Fixes #3460 .

Implemented feature requests:

N/A

Config usage if relevant (new plugin or updated schema):
web_server:
  bind: <IP_ADDRESS>
  port: 5050
  web_ui: yes

tasks:
  SPYxFAMILY:
    rss: https://******
    accept_all: yes
    aria2:
        server: ******
        port: ******
        scheme: https
        secret: ******
        rpc_mode: json
        rpc_path: jsonrpc
        path: /downloads/Flexget
schedules:
  - tasks: '*'
    interval:
      minutes: 10

Log and/or tests output (preferably both):
flexget:
2022-07-31 03:46:43 INFO     web_server_daemon                 Running web server at IP <IP_ADDRESS>:5050
2022-07-31 03:46:43 INFO     web_server_daemon                 Initiating API
2022-07-31 03:46:43 INFO     web_server_daemon                 Registering WebUI v2
2022-07-31 03:46:43 INFO     web_server                    Web server started at http://<IP_ADDRESS>:5050
2022-07-31 03:46:43 INFO     web_server                    API available at http://<IP_ADDRESS>:5050/api
2022-07-31 03:46:43 INFO     scheduler                     Starting scheduler
2022-07-31 03:46:43 INFO     web_server                    WebUI (v2) available at http://<IP_ADDRESS>:5050/
2022-07-31 03:46:49 INFO     aria2         SPYxFAMILY      Connecting to daemon at https://******:******/jsonrpc
2022-07-31 03:49:05 INFO     aria2         SPYxFAMILY      Connecting to daemon at https://******:******/jsonrpc
2022-07-31 03:59:10 INFO     aria2         SPYxFAMILY      Connecting to daemon at https://******:******/jsonrpc

aria2:
07/31 03:46:51 [NOTICE] Serialized session to '/config/aria2.session' successfully.

07/31 03:46:51 [NOTICE] Download complete: /downloads/Flexget/[诸神字幕组][间谍过家家][Spy x Family][12][简繁日语字幕][1080P][MKV HEVC].torrent

07/31 03:46:51 [NOTICE] Download complete: /downloads/Flexget/[诸神字幕组][间谍过家家][Spy x Family][10][简繁日语字幕][1080P][MKV HEVC].torrent
07/31 03:46:51 [WARRING] Skip delete. Task status invalid: complete
07/31 03:46:51 [WARRING] Skip delete. Task status invalid: complete
07/31 03:46:51 [INFO] General download task, skipped delete .torrent file.
07/31 03:46:51 [INFO] Deleting empty directory ...
07/31 03:46:51 [INFO] General download task, skipped delete .torrent file.
07/31 03:46:51 [INFO] Deleting empty directory ...

07/31 03:46:51 [NOTICE] Download complete: /downloads/Flexget/[诸神字幕组][间谍过家家][Spy x Family][09][简繁日语字幕][1080P][MKV HEVC].torrent
07/31 03:46:51 [WARRING] Skip delete. Task status invalid: complete
07/31 03:46:51 [INFO] General download task, skipped delete .torrent file.
07/31 03:46:51 [INFO] Deleting empty directory ...

To Do:

[x] Testing requirements: XML-RPC client (I am using a custom version of Aria2, which prevents me from testing the XML-RPC client) Tested
[ ] WS(and WSS) protocol support

Thanks for taking time to do this! Much appreciated


Update software page

relentless, flyft, lammpsio, Smolyak surrogate (with Dr. K), gsd-vmd plug-in
Include link to GitHub repository, link to documentation, short description, logo.

@mphoward which software do you want included and what is the preferred ordering?

Let’s start with:
relentless
flyft
azplugins
gsd-vmd
lammpsio


OpenSource Maintenance: Flow JS Testing

Flow JS Testing
Grant category

Open source maintenance

Description
Flow JS Testing - https://github.com/onflow/flow-js-testing - is a set of utility functions, which allows developers to write tests using Javascript and Jest. It allows you to easily deploy contracts, execut scripts, sign and send transactions.
Target audience

New developers who learn their way around Cadence
Cadence developers who wants to use Javascript to write tests for a production grade project

Evidence for the need

⭐ 46 stars, 30 forks
Official Kitty Items is using it - 215 forks
20+ known projects using
23 open issues in repository, some are breaking the pipelines for active projects 🤷♂
Active Discord channel flow-js-testing with multiple questions and challenges solved 😤

Proposed solution
I want to provide continuing support for this library and it's dependencies 😁
Impact
Javascript is still in Top-5 Programming languges used for web and blockchain development. Providing first-class support for Cadence testing with it will benefit those who will choose it and open possibilities for newcomers.
It's also much easier to teach someone how to test Cadence code if they are already using Javascript or Typescript to build their front-end part.
Milestones and funding

Milestone
Deliverables
Timeline
Risks
USD proposal

1 -  New stable release
New release supporing latest CLI, FCL-JS and emulator. Dependency testing suit to ensure stability
~4 weeks
Current release is not stable enough to be used with latest CLI release
5,000

2 - Add Storage Query
New methods and documentations how to query storage using latest changes in Cadence and emulator
~4 weeks
No risk, but it's a really nice-to-have feature, which will enhance testing experience 🏄♂
5,000

3 - Setup CI/CD pipeline
Set of Github Actions, which will track latest releases for all dependencies, run tests and raise an issue if some of them are failing and needs attention
~4 weeks
Dependency release may easily break working pipeline
5,000

4 - Dev.to Articles
4 articles
4 weeks
As I witnessed, documentation is often not enough to be able to use tools effectively
1000 per article

Maintenance
Resolving issuing and fixing bugs
Every month for 3 months
-
7,500

Community Assistance
Helping users resolve their issues and challenges via Discord and Github
Every month for 3 months
Developers who wouldn't get swift response might swap chains to get better support
2,500

Team

Name
Role
Bio
Contact

Max
DevEx Engineer
...
@MaxStalker

My first choice testing library🎉🎉🎉

Testing is important

We need this!

+1 on everything!! :)

I really look forward to having a stable flow testing JS framework.
All are struggling with testing and most of them use JS.
And current version has some issues when it comes to different versions of FCL, CLI (especially, the latest version)
What's more? We don't have enough materials / documents / articles / samples related to Cadence and Flow out there, thus, appreciate the idea about writing articles 👍
Can't wait !!!!

The more testing options the better.

If you can’t test it, I usually don’t bother to write it.  This is a must have.

One last piece to complete the puzzle, is adding code coverage. A hint left from bluesign here: https://github.com/onflow/developer-grants/issues/113#issuecomment-1381793687, for another grant that is in review https://github.com/onflow/developer-grants/issues/132. It would be really awesome seeing the deliverable of one proposal, to empower another :pray:

Great idea, @m-Peter ! 💯

I think it could help a lot of people if it were made more robust, especially those who want to keep JS as their core tool for both their app and testing.

We use flow-js-testing at The Fabricant, and one of the most frustrating parts of development for me at the moment is testing. fjs in its current state is incredibly temperamental, hinders our development process and erodes some of the incredible DevEx that Flow has worked so hard on.
A well maintained, active testing library that is kept up to date with CLI/Cadence releases is essential to seamless development. As Bjarte said, a variety of testing options is important for developers. I believe that many people in the community would agree that the product of this grant proposal would be hugely beneficial! Thanks @MaxStalker for putting this together!

Can only second 💯 what was said before, would love to see Max being able to continue maintaining the great testing library which is much needed! 👍

Jumping in here to support this proposal and Max's continued work maintaining Flow JS Testing library

Let's go! We will kickstart the process this week @MaxStalker. I'll reach out to you with details 🙌

Thank you everyone for your support! 🙇♂
Looking forward to it. @fotescodev !

Also voicing my support for @MaxStalker's proposal!
Max, I have some feedback that I'll put into some issues, but in general I think it'd be great if there was a way to access a lower-level API in flow-js-testing that makes it easier to use inside an existing testing library like Jest or Mocha.

I would love to see Max taking care of the js testing!! Probably he's one, if not the one, who better knows how it works, and always have been kindly enough to answer any question I may have about it.

Awesome! Could we add either jsdoc annotations or typescript conversation as part of this as well?

I annotated all of the exposed functionality with jsdoc format - here's example of sendTransaction function:
https://github.com/onflow/flow-js-testing/blob/master/src/interaction.js#L112
But it's not preserved during bundling and package building. Maybe I am just "cooking" it wrong - would appreciate any help on that front 🙇♂
Typescript types are available here:
https://www.npmjs.com/package/@types/onflow__flow-js-testing
Though should be part of the whole package - totally agree on that!

You got all the support from me Max! :D

Full support from here 👍 This would really JS devs to start building on Flow 🚀

Congratulations in getting the grant accepted @MaxStalker! Now let's get to work 🚀

Congrats, @MaxStalker


fix materialize with AMD (Require.js)

look at the commits to see what changed, and if there is any problem contact me
here is what your js file (require.js) should look like
requirejs.config({
  paths: {
    'materialize': '../../bower_components/materialize/dist/js/materialize',
    'jquery': '../../bower_components/jquery/dist/jquery',
    'velocity': '../../bower_components/materialize/js/velocity.min',
    'hammerjs': '../../bower_components/materialize/js/hammer.min'
  },
  shim: {
    'materialize': {
      deps: ['jquery', 'hammerjs', 'velocity']
    }
  }
});

// Require both jquery and materialize (materialize will load other stuff that is needed)
require(['jquery', 'materialize'], function($) {

  $(function() {
    // Dom is ready
    // this is very important for some components like material_select

    // initialize some components (this is what i need, it can be anything)
    $('select').material_select();
    $(".button-collapse").sideNav();
    $('ul.tabs').tabs();

    // display the waves effect
    // waves is already loaded by materialize
    // just initialize it to make it work (if you don't it won't work)

  });

  // the dropdown is the first thing we need (and it doesn't load right away)
  // so we initialize it as soon as possible
  // if this causes an issue
  // move it to the "documnent ready" function
  $(".dropdown-button").dropdown();
});

this was only temporal solution, all the package should change to have a permanent solution

I also have this issue for a week now. I can't get it to work with my application. I am using AMD to load materialize but none of the controls work inside my views.
Here is my main.js file:
requirejs.config({
paths: {
'text': '../lib/require/text',
'durandal':'../lib/durandal/js',
'plugins' : '../lib/durandal/js/plugins',
'transitions' : '../lib/durandal/js/transitions',
'knockout': '../lib/knockout/knockout-3.1.0',
'jquery': '../lib/jquery/jquery-1.9.1',
'materialize': '../lib/materialize/js/materialize'ty,
'hammerjs': '../lib/materialize/js/hammer.min',
'velocity': '../lib/materialize/js/velocity.min'
},
shim: {
'materialize': {
deps: ['jquery','hammerjs','velocity']
}
}
});
define([
'durandal/system',
'durandal/app',
'durandal/viewLocator',
'jquery',
'bindings',
'materialize'
],  function (system, app, viewLocator,  $, bindings,materialize) {
//>>excludeStart("build", true);
system.debug(true);
//>>excludeEnd("build");
app.title = 'Durandal Samples';

//specify which plugins to install and their configuration
app.configurePlugins({
    router:true,
    dialog: true,
    widget: {
        kinds: ['expander']
    }
});

$('select').material_select();
$(".button-collapse").sideNav();
$('ul.tabs').tabs();

app.start().then(function () {
    bindings.init();
    viewLocator.useConvention();
    app.setRoot('shell');
});

});
In my browser I get the following:
Uncaught Error: Mismatched anonymous define() module: function (){return ea}
Please help.
Hamisi

try to use my repo: materialize-AMD


Workspace build

Update project file and shared schemes to allow both a Carthage build and Xcode workspace build.

The example app and reset transmitter schemes have been removed.

@ps2 I removed the example application and reset transmitter schemes because Carthage automatically builds all shared schemes and so it slows down the build. To add them back locally, open the project, go to Product > Scheme > Manage Schemes..., and click "Autocreate Schemes Now". This will recreate the missing schemes (example applications and tests). To ensure they are not accidentally re-committed, uncheck the Shared checkbox to the right of each new scheme.
Let me know if you want me to add them back as shared schemes for everyone (even considering the Carthage slowdown).


ephemeral keys should support CAS operations

Issue Description
CAS on keys are nice since we can have an expiring key that we can have exclusive access to. This is necessary for dhcp provider so we can do ekeys that will expire when lease time is up.

Unnecessary now.

@mmlb why was this deemed unnecessary but still open?


Compiler Error: Declaration is only valid at file scope

Hi, I just upgraded to Xcode 6.3 and swift 1.2, and am in the process of converting my code to the latest swift syntax. Since my project need to support iOS7, earlier I wrapped the source file of Alamofire.swift in a public struct as some people suggested, which works out fine. However, this approach doesn't apply to the latest version anymore, with lots of extension and public protocol declarations used, the compiler shoots out error "Declaration is only valid at file scope".
Any suggestion about how to use the copy-and-paste source files in XCode 6.3?

Don't wrap anything in a top-level struct. There is no need to change anything in the original source code. You'll just have to refer to things in the global module scope (e.g. Request instead of Alamofire.Request)

@mattt Thank you very much :)


Improve implementation of NSAffineTransform.transform{Point,Size}

Hi,
The changes in this PR improve the implementation of the transformation methods. The new implementation makes use of the fact that a 2D affine transformation matrix is not an arbitrary 3x3 matrix (see code comments), and is both simpler and more efficient by skipping unnecessary computation steps.
Also included is:

Implementation of NSAffineTransformStruct.init() which initializes all entries to zeros.
Implementation of NSAffineTransform.init(transform:)
Implementation of NSCopying methods for NSAffineTransform

PS: I've almost finished implementing the remaining methods of NSAffineTransform. Would you like me to append those changes to this PR or open a separate PR? The reason I'm asking is that they depend on this PR.

Thank you, @jessesquires!
I've incorporated your feedback and updated the PR.

I've updated the PR to include the following changes:

Implementation of translation, scaling and rotation methods with tests
Implementation for prependTransform and appendTransform methods

Tests for composed transformations are missing - working on it!
Implementation for invert is still in progress, I'm not happy with it yet.

I've updated the PR to include the following changes:

Implementation for invert
Added arithmetic operators for CGFloat which were needed for the matrix inversion.

Notes:

The original implementation throws an exception. My implementation uses preconditionFailure in this case.

Be sure to update the Status doc when we finish a new feature!
https://github.com/apple/swift-corelibs-foundation/blob/master/Docs/Status.md

@parkera Sorry, I didn't know about that doc. I updated it in #117.


[Feature Request] Support for PyPI Mirrors

Description
In order to improve download speeds and reliability, it would be beneficial to support configurable PyPI mirrors within the uv.toml configuration file. This feature would allow users to specify alternative mirrors for PyPI packages and files, while still retaining the default PyPI link in the uv.lock file.
Proposed Solution
Inspired by the configuration options in pixi, I propose adding a [mirrors] section to the uv.toml file. This section would allow users to redirect requests for specific PyPI endpoints to alternative mirrors.
Example configuration:
[mirrors]
# Redirect all requests for PyPI to the mirror
"https://pypi.org/simple" = [
    "https://mirrors.cernet.edu.cn/pypi/web/simple"
]

# Redirect all requests for files to one of the listed mirrors
"https://files.pythonhosted.org/packages" = [
    "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages",
    "https://mirrors.cernet.edu.cn/pypi/web/packages",
]

Benefits

Improved Download Speeds: Users can leverage faster mirrors located closer to their geographical region.
Reliability: Redundancy in mirror options can help mitigate issues with a single mirror being down.
Consistency: The default PyPI link remains in the uv.lock file, ensuring compatibility and clarity.

Additional Considerations

Fallback Mechanism: If a specified mirror is unavailable, uv could automatically fall back to the next listed mirror or the default PyPI endpoint.

Related Issue

Original Issue #9053

Conclusion
Supporting configurable PyPI mirrors in uv.toml would enhance the user experience by providing faster and more reliable package downloads. I kindly request the implementation of this feature or further discussion on alternative solutions.

@charliermarsh Thanks! I didn't notice that issue before.
I think URL redirecting is more flexible than setting proxy URL for index, as URL redirecting can handle cases when sdist and wheels URL differ from registry URL (e.g. https://pypi.org and https://files.pythonhosted.org).
Closing in favor of #6349.


Can't setup Github for Pipeline in more than 1 cluster

Rancher versions: 2.0 master 2/26
Steps to Reproduce:

Create two clusters
Try to setup Github for Pipeline in both using same credentials

Results: "tfiduccia" already exist error.

Version - 2.0 master 2/27
Verified fixed


Add a page for participating user groups

@ramsey, @heiglandreas, et al - had this idea, so let me know what you think. I felt like including the year would be helpful to delineate future years vs. archived. I went ahead and put my email address with the contact, but we could make that optional if people really wanted to, as it would be tough to protect from spam. Happy to consider other formats as well.

Done - thanks, guys!


Bump identity-apps-core version to 2.0.78

Purpose
$subject

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/7082648702

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/7082648702
Status: failure


Fix file name typos in include copyright headers

Fixes wrong paths/file names in some of nanobind's include copyright headers.

Thanks!


Issue 10 expose list of artificats

Fix #10

Overall this looks really good, I'm going to go ahead and merge it and perhaps a follow up commit could include the tags requested in the commit comments


[FORMS - TEXTAREA] IMPLEMENT WYSYWYG

SETUP CKEDITOR as frontend solution
Extended PDF generation Textarea library to support WYSYWYG content

TRELLO STORY

@dreamfall thanks bro for review :+1: Will fix issues you noted :success:

Will create new one PR


ci: fix macOS bazelisk installation

Signed-off-by: Keith Smiley<EMAIL_ADDRESS>

Closing in favor of https://github.com/envoyproxy/envoy/pull/11444


Add link to iCal for fixtures

https://www.imore.com/how-subscribe-calendars-your-iphone-or-ipad

https://support.google.com/calendar/answer/37100?hl=en&co=GENIE.Platform%3DAndroid&oco=2


elastalert and search guard

In the elasticsearh, i had installed the search guard which realized the access control of the elasticsearch. Now I want to make use of the elastalert for the alert.
Is the elastalert compatible with the search guard？
I think it is wonderful that elasticsearch run well with the elastalert and the search guard!
Thanks!

ElastAlert supports HTTPS and basic auth (username + password). I'm not sure if that's all that's necessary to use it with search guard, as I've never used search guard. I would like to hear from someone if that does work or not.

How do you solve the problem of access control in the elasticsearch as you are not using the search guard? Is there good way?

@Qmando I've been working on and off for a few weeks on Elastalert to Elasticsearch w/ Search Guard installed.
No joy as yet - but getting very close.
I've forked this repo and have been trying with minor edits to create_index.py and elastalert.py.
For example:
    es = Elasticsearch(
        host=host,
        port=port,
        use_ssl=use_ssl,
        connection_class=RequestsHttpConnection,
        http_auth=http_auth,
        url_prefix=url_prefix,
        send_get_body_as=send_get_body_as,
        # ca_certs='/opt/secrets/ea.ca',
        # verify_certs=True,
        client_cert='/opt/secrets/ea.crt',
        client_key='/opt/secrets/ea.key',
        ssl_version='TLSv1',
        )

Get python working with Search Guard


Make warning text readable.

Modify css such that this warning pill:

Becomes more readable:

Thank you for this PR!
We're a little low on man-power during July (vacations), but @jstarpl, if you have no objections, feel free to merge this.

No objections at all!


Fix CMake failing with Android NDK 27+

I'm not well versed with the project so I'm not sure how to describe this any further, but we've encountered this error in one of our tools which relies on this repo:
CMake Warning (dev) at C:/Android/android-sdk/ndk/27.0.12077973/build/cmake/flags.cmake:46 (if):
  Policy CMP0057 is not set: Support new IN_LIST if() operator.  Run "cmake
  --help-policy CMP0057" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  IN_LIST will be interpreted as an operator when the policy is set to NEW.
  Since the policy is not set the OLD behavior will be used.
Call Stack (most recent call first):
  C:/Program Files/CMake/share/cmake-3.30/Modules/Platform/Android-Clang.cmake:23 (include)
  C:/Program Files/CMake/share/cmake-3.30/Modules/Platform/Android-Clang-CXX.cmake:1 (include)
  C:/Program Files/CMake/share/cmake-3.30/Modules/CMakeCXXInformation.cmake:48 (include)
  ext/SPIRV-Cross/CMakeLists.txt:31 (project)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Error at C:/Android/android-sdk/ndk/27.0.12077973/build/cmake/flags.cmake:46 (if):
  if given arguments:

    "hwaddress" "IN_LIST" "ANDROID_SANITIZE"

  Unknown arguments specified
Call Stack (most recent call first):
  C:/Program Files/CMake/share/cmake-3.30/Modules/Platform/Android-Clang.cmake:23 (include)
  C:/Program Files/CMake/share/cmake-3.30/Modules/Platform/Android-Clang-CXX.cmake:1 (include)
  C:/Program Files/CMake/share/cmake-3.30/Modules/CMakeCXXInformation.cmake:48 (include)
  ext/SPIRV-Cross/CMakeLists.txt:31 (project)

It appears that since Android NDK 27, the cmake files in there require the CMP0057 policy to be set at this repo's CMakeLists file.

 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.


Telegraf data through UDP fail to parse

We've got a bunch of nodes configured with Telegraf, shipping metrics off to InfluxDB through UDP. We have noticed that they're not being parsed correctly, even though the contents look find when inspected with tcpdump/wireshark. This works fine with TCP, but we see significant performance improvements when using UDP, so we'd like to stick to this if possible.
Eamples:
Failed to parse points: unable to parse 'system,role=platform_api,***=devops,cluster=devops,***=***,name=***,host=***,***=platform_api  10:25"<PHONE_NUMBER>000000000': invalid field format service=udp
Failed to parse points: unable to parse 'system,host=***,name=***,***=***,cluster=devops,role=platform_api,***=***,***=platform_api uptime_format="21 days<PHONE_NUMBER>000000000': unbalanced quotes service=udp
Is I look in the actual packet being submitted, it looks kind of like this (not exactly the same data, but close):
system,***=go_server,***=***,name=***,host=***,role=go_server,cluster=gocd,***=gocd uptime=1852144i,uptime_format="21 days, 10:29"<PHONE_NUMBER>000000000
Obviously there is some faulty chopping up and gluing together going on here ;-)
Versions:
telegraf-1.3.5-1.x86_64 (also tested 1.2.0, 1.3.0 and nightly (20170905) - same result)
influxdb-1.3.5-1.x86_64
Red Hat Enterprise Linux Server release 7.2 (Maipo)

This was caused by a bug in Telegraf and was fixed in 1.4.0.


[Service Provider] The button name does not meet the requirements on the "Заявки" page.

Environment: Windows 10, 64-bit, Google Chrome 107.0.5304.107.
Reproducible: always.
Preconditions

Go to https://oos.dmytrominochkin.cloud/#
Log in as Service Provider.
SP has workshop with a competitive set.
The Parent applied for this workshop.

Steps to reproduce

Go to "Заявки" on the top right corner drop down list.
Pay attention to the column with the name of the buttons.

Actual result
The buttons on the "Заявки" page for acceptance to the workshop are called "Прийняти".

Expected result
The button for acceptance to the workshop that has a competitive selection is called "Прийняти до відбору".

Labels to be added
"Bug", Priority ("pri: low"), Severity ("severity: low"), Type ("UI").

Fixed


Debian 10 Buster missing from install.sh

There are less than 4 weeks to Debian 10 Buster release. Yes, the date has already been set.
Please update the convenience script to ease the final testing of Debian 10 Buster release.
install-sh.txt

With the launch of the Raspberry Pi 4 and therefore Buster already available for download/install, I am also not able to install Docker properly on my Pi.

#126 fixes it, please merge

Btw until the fix is merged, one can simply manually install Docker after the installer broke:
sed -i 's/10/buster/' /etc/apt/sources.list.d/docker.list
apt update
apt install docker-ce docker-ce-cli

Thank you for your quick action i can go back and play with my buster host deployments :)

I had to use
sed -i 's/10/stretch/' /etc/apt/sources.list.d/docker.list
apt update
apt install docker-ce docker-ce-cli

instead of what was in @MichaIng's comment for raspbian

@j616
Jep, I didn't think about that even that it got merged, the change has not yet been uploaded to: https://get.docker.com/

Debian Buster has been released on 2019-07-06, the change has not yet been uploaded to https://get.docker.com/  😊

Not sure if still relevant, but the script (as of today), generates the apt sources line with "10" instead of "buster". This causes failure to install, and I had to change it manually, repeat the "apt update" and the "apt install docker-ce".
Should be interesting to put a link "10 -> buster" in the apt server https://download.docker.com/linux/debian/dists/ or fix the script.
Thanks

@Sirtea

Not sure if still relevant

This is what the whole topic + solution is about 😄. The master branch already contains the fix: https://github.com/docker/docker-install/blob/master/install.sh#L297-L299
But https://get.docker.com/ still ships the old version...
Not sure if there were other relevant changes that need to be tested first but IMO things should be tested BEFORE merging into the main branch (master), so they can be uploaded immediately. But that's a question of individual schedules.

Great!
Master branch release worked for me; this should count as another test on debian 10, amd64. I did:
wget -qO- https://raw.githubusercontent.com/docker/docker-install/master/install.sh | bash

Regards

I tried on a fresh Raspbian on Raspberry Pi 3B.
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.19.57-v7+ #1244 SMP Thu Jul 4 18:45:25 BST 2019 armv7l GNU/Linux
It failed for my setup with the following command and output:
pi@raspberrypi:~ $ wget -qO- https://raw.githubusercontent.com/docker/docker-install/master/install.sh | bash
Executing docker install script, commit: UNKNOWN

sudo -E sh -c 'apt-get update -qq >/dev/null'
sudo -E sh -c 'apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null'
sudo -E sh -c 'curl -fsSL "https://download.docker.com/linux/raspbian/gpg" | apt-key add -qq - >/dev/null'
Warning: apt-key output should not be parsed (stdout is not a terminal)
sudo -E sh -c 'echo "deb [arch=armhf] https://download.docker.com/linux/raspbian buster stable" > /etc/apt/sources.list.d/docker.list'
sudo -E sh -c 'apt-get update -qq >/dev/null'
'[' -n '' ']'
sudo -E sh -c 'apt-get install -y -qq --no-install-recommends docker-ce >/dev/null'
E: Package 'docker-ce' has no installation candidate

@JesperG
The Raspbian Buster branch is now available, but does not yet contain a stable component: https://download.docker.com/linux/raspbian/dists/buster/
So for now you need to go with "nightly":
sed -i 's/stable/nightly/' /etc/apt/sources.list.d/docker.list
apt update
apt install docker-ce

Or you go with stable Stretch (which at least works on Buster according to my tests): https://github.com/docker/docker-install/issues/125#issuecomment-507301690

@MichaIng
getting the following error when I try to install "nightly" for raspbian buster:
`sudo apt install docker-ce docker-ce-cli
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 docker-ce : Depends: containerd.io (>= 1.2.2-3) but it is not installable
             Recommends: aufs-tools but it is not going to be installed
             Recommends: cgroupfs-mount but it is not going to be installed or
                         cgroup-lite but it is not installable
             Recommends: git but it is not going to be installed
             Recommends: pigz but it is not going to be installed
             Recommends: libltdl7 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
```

@JanneSiren
Fist of all I forgot to add --no-install-recommends to avoid installing recommendations. It's default on my systems, on yours obviously not, so better: apt install --no-install-recommends docker-ce docker-ce-cli
But containerd.io is a dependency, so the above does not solve the error.
Indeed the nightly branch does not have this package, seems to be not yet ready for use.
See Buster nightly: https://download.docker.com/linux/raspbian/dists/buster/pool/nightly/armhf/
Compare Stretch stable: https://download.docker.com/linux/raspbian/dists/stretch/pool/stable/armhf/

containerd.io (>= 1.2.2-3)

So it would actually work with the containered.io package from Stretch stable, so:
cat << _EOF_ > /etc/apt/sources.list.d/docker.list
deb [arch=armhf] https://download.docker.com/linux/raspbian buster nightly
deb [arch=armhf] https://download.docker.com/linux/raspbian stretch stable
_EOF_
apt update
apt install --no-install-recommends docker-ce docker-ce-cli

Setting up aufs-dkms (4.19+20190211-1) ...
Loading new aufs-4.19+20190211 DKMS files...
It is likely that 4.19.57-v7+ belongs to a chroot's host
Building for 4.19.57+, 4.19.57-v7+ and 4.19.57-v7l+
Building initial module for 4.19.57+
Error! Bad return status for module build on kernel: 4.19.57+ (armv7l)
Consult /var/lib/dkms/aufs/4.19+20190211/build/make.log for more information.
dpkg: error processing package aufs-dkms (--configure):

Puhh not sure if this is related to Stretch Docker vs Buster RPi firmware repo. But actually AFAIK the firmware/kernel packages are identical it it should not matter from which distro branch they are... And it worked for me some weeks ago, but this was before RPi4 compatible Raspbian Buster (+related firmware updates) were released.
Which RPi do you use? You could try to remove non-matching kernel from /boot and /lib/modules. 4.19.57+ is RPi1+Zero, 4.19.57-v7+ is RPi2+3 and 4.19.57-v7l+ is RPi4. uname -a to be 100% sure which kernel is in use. However I would go with the above solution first, to grab containerd.io from Stretch + Docker from Buster nightly.

cat << _EOF_ > /etc/apt/sources.list.d/docker.list
deb [arch=armhf] https://download.docker.com/linux/raspbian buster nightly
deb [arch=armhf] https://download.docker.com/linux/raspbian stretch stable
_EOF_
apt update
apt install --no-install-recommends docker-ce docker-ce-cli

@MichaIng I did this now, purged my installed docker-ce and docker-ce-cli and tried again with
apt install --no-install-recommends docker-ce docker-ce-cli
Now I get this error here:

It is likely that 4.19.57-v7+ belongs to a chroot's host
Building for 4.19.57+, 4.19.57-v7+ and 4.19.57-v7l+
Building initial module for 4.19.57+
Error! Bad return status for module build on kernel: 4.19.57+ (armv7l)
Consult /var/lib/dkms/aufs/4.19+20190211/build/make.log for more information.
dpkg: error processing package aufs-dkms (--configure):
installed aufs-dkms package post-installation script subprocess returned error exit status 10
Setting up docker-ce (5:18.09.0~3-0~raspbian-stretch) ...
update-alternatives: using /usr/bin/dockerd-ce to provide /usr/bin/dockerd (dockerd) in auto mode
Processing triggers for man-db (2.8.5-2) ...
Errors were encountered while processing:
aufs-dkms
E: Sub-process /usr/bin/dpkg returned an error code (1)

I use a raspberry 3 (4.19.57-v7+)

cat /var/lib/dkms/aufs/4.19+20190211/build/make.log
DKMS make.log for aufs-4.19+20190211 for kernel 4.19.57+ (armv7l)
Sun Jul 14 15:35:54 CEST 2019
make: Entering directory '/var/lib/dkms/aufs/4.19+20190211/build'
-I/var/lib/dkms/aufs/4.19+20190211/build/include -DCONFIG_AUFS_FS_MODULE -UCONFIG_AUFS -DCONFIG_AUFS_BRANCH_MAX_127 -DCONFIG_AUFS_SBILIST
make -C /lib/modules/4.19.57+/build M=/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs EXTRA_CFLAGS="-I/var/lib/dkms/aufs/4.19+20190211/build/include -DCONFIG_AUFS_FS_MODULE -UCONFIG_AUFS -DCONFIG_AUFS_BRANCH_MAX_127 -DCONFIG_AUFS_SBILIST" modules
make[1]: Entering directory '/usr/src/linux-headers-4.19.57+'
  CC [M]  /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/module.o
  CC [M]  /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/sbinfo.o
  CC [M]  /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/super.o
  CC [M]  /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/branch.o
In file included from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/branch.h:33,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/aufs.h:38,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/sbinfo.c:23:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/super.h:134:2: error: unknown type name ‘vfs_readf_t’
  vfs_readf_t  si_xread;
  ^~~~~~~~~~~
In file included from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/branch.h:33,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/aufs.h:38,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/module.c:25:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/super.h:134:2: error: unknown type name ‘vfs_readf_t’
  vfs_readf_t  si_xread;
  ^~~~~~~~~~~
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/super.h:135:2: error: unknown type name ‘vfs_writef_t’
  vfs_writef_t  si_xwrite;
  ^~~~~~~~~~~~
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/super.h:135:2: error: unknown type name ‘vfs_writef_t’
  vfs_writef_t  si_xwrite;
  ^~~~~~~~~~~~
In file included from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/branch.h:33,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/aufs.h:38,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/branch.c:25:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/super.h:134:2: error: unknown type name ‘vfs_readf_t’
  vfs_readf_t  si_xread;
  ^~~~~~~~~~~
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/super.h:135:2: error: unknown type name ‘vfs_writef_t’
  vfs_writef_t  si_xwrite;
  ^~~~~~~~~~~~
In file included from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/aufs.h:38,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/module.c:25:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/branch.h:243:20: error: unknown type name ‘vfs_readf_t’; did you mean ‘key_ref_t’?
 ssize_t xino_fread(vfs_readf_t func, struct file *file, void *buf, size_t size,
                    ^~~~~~~~~~~
                    key_ref_t
In file included from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/aufs.h:38,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/sbinfo.c:23:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/branch.h:243:20: error: unknown type name ‘vfs_readf_t’
 ssize_t xino_fread(vfs_readf_t func, struct file *file, void *buf, size_t size,
                    ^~~~~~~~~~~
In file included from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/branch.h:33,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/aufs.h:38,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/super.c:27:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/super.h:134:2: error: unknown type name ‘vfs_readf_t’
  vfs_readf_t  si_xread;
  ^~~~~~~~~~~
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/super.h:135:2: error: unknown type name ‘vfs_writef_t’
  vfs_writef_t  si_xwrite;
  ^~~~~~~~~~~~
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/branch.h:245:21: error: unknown type name ‘vfs_writef_t’; did you mean ‘key_ref_t’?
 ssize_t xino_fwrite(vfs_writef_t func, struct file *file, void *buf,
                     ^~~~~~~~~~~~
                     key_ref_t
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/branch.h:245:21: error: unknown type name ‘vfs_writef_t’; did you mean ‘pte_write’?
 ssize_t xino_fwrite(vfs_writef_t func, struct file *file, void *buf,
                     ^~~~~~~~~~~~
                     pte_write
In file included from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/aufs.h:38,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/branch.c:25:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/branch.h:243:20: error: unknown type name ‘vfs_readf_t’
 ssize_t xino_fread(vfs_readf_t func, struct file *file, void *buf, size_t size,
                    ^~~~~~~~~~~
In file included from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/aufs.h:38,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/super.c:27:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/branch.h:243:20: error: unknown type name ‘vfs_readf_t’; did you mean ‘key_ref_t’?
 ssize_t xino_fread(vfs_readf_t func, struct file *file, void *buf, size_t size,
                    ^~~~~~~~~~~
                    key_ref_t
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/branch.h:245:21: error: unknown type name ‘vfs_writef_t’; did you mean ‘pte_write’?
 ssize_t xino_fwrite(vfs_writef_t func, struct file *file, void *buf,
                     ^~~~~~~~~~~~
                     pte_write
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/branch.h:245:21: error: unknown type name ‘vfs_writef_t’; did you mean ‘key_ref_t’?
 ssize_t xino_fwrite(vfs_writef_t func, struct file *file, void *buf,
                     ^~~~~~~~~~~~
                     key_ref_t
In file included from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/aufs.h:46,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/module.c:25:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/file.h: In function ‘au_vm_prfile_set’:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/file.h:334:7: error: ‘struct vm_area_struct’ has no member named ‘vm_prfile’; did you mean ‘vm_file’?
  vma->vm_prfile = file;
       ^~~~~~~~~
       vm_file
In file included from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/aufs.h:46,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/sbinfo.c:23:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/file.h: In function ‘au_vm_prfile_set’:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/file.h:334:7: error: ‘struct vm_area_struct’ has no member named ‘vm_prfile’; did you mean ‘vm_file’?
  vma->vm_prfile = file;
       ^~~~~~~~~
       vm_file
In file included from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/aufs.h:46,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/branch.c:25:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/file.h: In function ‘au_vm_prfile_set’:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/file.h:334:7: error: ‘struct vm_area_struct’ has no member named ‘vm_prfile’; did you mean ‘vm_file’?
  vma->vm_prfile = file;
       ^~~~~~~~~
       vm_file
In file included from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/aufs.h:46,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/super.c:27:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/file.h: In function ‘au_vm_prfile_set’:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/file.h:334:7: error: ‘struct vm_area_struct’ has no member named ‘vm_prfile’; did you mean ‘vm_file’?
  vma->vm_prfile = file;
       ^~~~~~~~~
       vm_file
In file included from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/aufs.h:57,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/sbinfo.c:23:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/vfsub.h: In function ‘vfsub_update_time’:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/vfsub.h:233:9: error: implicit declaration of function ‘update_time’; did you mean ‘file_update_time’? [-Werror=implicit-function-declaration]
  return update_time(h_inode, ts, flags);
         ^~~~~~~~~~~
         file_update_time
In file included from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/aufs.h:57,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/module.c:25:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/vfsub.h: In function ‘vfsub_update_time’:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/vfsub.h:233:9: error: implicit declaration of function ‘update_time’; did you mean ‘pte_same’? [-Werror=implicit-function-declaration]
  return update_time(h_inode, ts, flags);
         ^~~~~~~~~~~
         pte_same
In file included from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/aufs.h:57,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/branch.c:25:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/vfsub.h: In function ‘vfsub_update_time’:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/vfsub.h:233:9: error: implicit declaration of function ‘update_time’; did you mean ‘pte_same’? [-Werror=implicit-function-declaration]
  return update_time(h_inode, ts, flags);
         ^~~~~~~~~~~
         pte_same
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:303: /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/sbinfo.o] Error 1
make[2]: *** Waiting for unfinished jobs....
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:303: /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/module.o] Error 1
In file included from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/aufs.h:57,
                 from /var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/super.c:27:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/vfsub.h: In function ‘vfsub_update_time’:
/var/lib/dkms/aufs/4.19+20190211/build/fs/aufs/vfsub.h:233:9: error: implicit declaration of function ‘update_time’; did you mean ‘file_update_time’?

So purging + autoremoving + installing finally pulls the correct packages from Buster. If you find any issue with the setup you might want to report to the actual Docker Linux repo. E.g. I found an ongoing issue about Docker on Raspbian Buster where you could contribute in case: https://github.com/docker/for-linux/issues/709

I don't know why but now my docker setup (hassio) install fails with:
[Info] Install supervisor Docker container
could not get decompression stream: fork/exec /usr/bin/unpigz: no such file or directory

with raspbian stretch this (curl -sL "https://raw.githubusercontent.com/home-assistant/hassio-installer/master/hassio_install.sh" | bash -s -- -m raspberrypi3) works without errors.

@rradar

/usr/bin/unpigz: no such file or directory

https://packages.debian.org/buster/pigz: apt install pigz?
I would have expected Docker resolving such dependencies on it's own, however at least worth to give it a try.

@MichaIng

apt install pigz?
I would have expected Docker resolving such dependencies internally, however at least worth to give it a try.

This did actually help... Running the install script again and this time it succeeded!
Thank's!

@rradar
Great. Looks like docker itself uses unpigz when pulling containers: https://github.com/home-assistant/hassio-installer/blob/master/hassio_install.sh#L140-L143
AFAIK this is only another gzip implementation, so strange it does not use gzip..
pigz allows to use multiple cores/threads, but it should be only used, when available, else revert to use gzip. Will check bug reports...
But gzip is available on your system, right? dpkg -l gzip

The script from get.docker.com fails on Debian 10 Buster:
$ sudo sh get-docker.sh
[sudo] senha para <username>:
# Executing docker install script, commit: 36b78b2

Either your platform is not easily detectable or is not supported by this
installer script.
Please visit the following URL for more detailed installation instructions:

https://docs.docker.com/engine/installation/

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 10 (buster)
Release:	10
Codename:	buster

Today, it worked for debian buster amd64, so the issue is fixed for me without modifications nor hacks.
Thank you all
gerard@debian:~$ wget -qO- get.docker.com | bash
# Executing docker install script, commit: 6bf300318ebaab958c4adc341a8c7bb9f3a54a1a
+ sudo -E sh -c 'apt-get update -qq >/dev/null'
+ sudo -E sh -c 'apt-get install -y -qq apt-transport-https ca-certificates curl gnupg >/dev/null'
+ sudo -E sh -c 'curl -fsSL "https://download.docker.com/linux/debian/gpg" | apt-key add -qq - >/dev/null'
Warning: apt-key output should not be parsed (stdout is not a terminal)
+ sudo -E sh -c 'echo "deb [arch=amd64] https://download.docker.com/linux/debian buster stable" > /etc/apt/sources.list.d/docker.list'
+ sudo -E sh -c 'apt-get update -qq >/dev/null'
+ '[' -n '' ']'
+ sudo -E sh -c 'apt-get install -y -qq --no-install-recommends docker-ce >/dev/null'
+ sudo -E sh -c 'docker version'
Client:
 Version:           18.09.7
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        2d0083d
 Built:             Thu Jun 27 17:56:40 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.7
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       2d0083d
  Built:            Thu Jun 27 17:23:02 2019
  OS/Arch:          linux/amd64
  Experimental:     false
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:

  sudo usermod -aG docker gerard

Remember that you will have to log out and back in for this to take effect!

WARNING: Adding a user to the "docker" group will grant the ability to run
         containers which can be used to obtain root privileges on the
         docker host.
         Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
         for more information.
gerard@debian:~$

It didn't work with raspberry pi 4 using "get.docker.com":
# Executing docker install script, commit: 6bf300318ebaab958c4adc341a8c7bb9f3a54a1a
+ sudo -E sh -c apt-get update -qq >/dev/null
+ sudo -E sh -c apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sudo -E sh -c curl -fsSL "https://download.docker.com/linux/raspbian/gpg" | apt-key add -qq - >/dev/null
Warning: apt-key output should not be parsed (stdout is not a terminal)
+ sudo -E sh -c echo "deb [arch=armhf] https://download.docker.com/linux/raspbian buster stable" > /etc/apt/sources.l                                ist.d/docker.list
+ sudo -E sh -c apt-get update -qq >/dev/null
+ [ -n  ]
+ sudo -E sh -c apt-get install -y -qq --no-install-recommends docker-ce >/dev/null
E: Package 'docker-ce' has no installation candidate
pi@raspberrypi:~ $

@Ciantic
Please check the posts above:
curl -sSL get.docker.com | CHANNEL='nightly' bash

@MichaIng I got it working, thanks. It however gave me aufs-dkms problems afterwards. I then used this sudo apt-get --purge remove aufs-dkms and it seems to throw that either.

@Ciantic
I guess aufs-dkms came from an earlier attempt to install Docker without --no-install-recommends.

aufs-tools are a recommendation for docker-ce, but no dependency: https://download.docker.com/linux/raspbian/dists/buster/nightly/binary-armhf/Packages
aufs-dkms again is a recommendation for aufs-tools, but no dependency. But DKMS in general requires the kernel headers to be available, which is not default on RPi, thus it fails to configure.

For this reason I tend to disable recommends install by default on all systems, e.g.
cat << _EOF_ >> /etc/apt/apt.conf.d/99norecommends
APT::Install-Recommends "false";
APT::Install-Suggests "false";
APT::AutoRemove::RecommendsImportant "false";
APT::AutoRemove::SuggestsImportant "false";
_EOF_

This prevent install of recommends by default.
And it allows to autoremove them: apt autoremove --purge

Of course be careful with this, check if there is anything contained that you actually want. But in this case it should be marked as manual installed: apt-mark manual package_i_need

Is this issue related with: "Debian bionic Release' does not have a Release file" when using Docker script to install on Ubuntu18 ?

closing, as debian 10 "buster" came and went


Enable test for interactive window starting with active interpreter

This requires changes to the Python API. For example if we want to test that the interactive window picks up the current active interpreter if it's changed without needing to reload VS Code, we need to add the ability to invoke the Python extension's python.setInterpreter command from the Jupyter extension (i.e. make the command handler accept an optional URI or PythonEnvironment).

Started on this here:
https://github.com/microsoft/vscode-jupyter/tree/rchiodo/interactive_test
Might need a command in VS code to focus an interactive window.


Update how-to-prepare-app-deployment.md

Need to update Horton.SR Train to be Horton.SR8+

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

Note that publishing in this repository is suspended until Tuesday, May 25. Merging will resume Tuesday. Authors can still review and sign off on PRs in the interim. Thanks.

@yucwan - Yuchen would you please validate this update and we can merge? Thanks.
cc @MikeDodaro


Add section to contributor guide about good README content

A good README consists of the following information:

Brief description of the repository
A few screenshot of the product/plugin
Setup instructions
Contributing and licensing info links

add this info to the contributor guide

@SBI- @MartinBenninger
Any input from your side?


Password for admin?

Hi, congratulations for this very interesting admin panel for Laravel 5, I just installed it but I don't know the password for default admin user, I try to change it but Laravel display this error: "TokenMismatchException in VerifyCsrfToken.php line 67:", then, Is an existing error or only works with default admin password?

Hello! Install laralum with composer create-project, then cisit your project url and click on the install laralum button or visit the /install location. Yo will then be able to create the admin user and some preferences!

Thanks, I didn't have seen the Install button.


exploitdb: 2022-01-29 -> 2022-02-03

Motivation for this change
Update to latest upstream release 2022-02-03
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 158083 run on x86_64-linux 1

1 package built:

exploitdb

[nix-shell:~/.cache/nixpkgs-review/pr-158083]$ ./results/exploitdb/bin/searchsploit Mozilla Firefox 67
[i] Found (#1): /nix/store/f9zjqhnig1x7vlfgx7hd83gjdyy7jn3z-exploitdb-2022-02-03/share/exploitdb/files_exploits.csv
[i] To remove this message, please edit "/nix/store/f9zjqhnig1x7vlfgx7hd83gjdyy7jn3z-exploitdb-2022-02-03/share/exploitdb/.searchsploit_rc" for "files_exploits.csv" (package_array: exploitdb)

[i] Found (#1): /nix/store/f9zjqhnig1x7vlfgx7hd83gjdyy7jn3z-exploitdb-2022-02-03/share/exploitdb/files_shellcodes.csv
[i] To remove this message, please edit "/nix/store/f9zjqhnig1x7vlfgx7hd83gjdyy7jn3z-exploitdb-2022-02-03/share/exploitdb/.searchsploit_rc" for "files_shellcodes.csv" (package_array: exploitdb)

----------------------------------------------------------------------------------------------------------------------------------- ---------------------------------
 Exploit Title                                                                                |  Path
----------------------------------------------------------------------------------------------------------------------------------- ---------------------------------
Mozilla Firefox 0.x/1.x - Large History File Buffer Overflow                                                                       | multiple/dos/26762.html
Mozilla Firefox <IP_ADDRESS> / Camino 1.0 - Null Pointer Dereference Crash                                                              | multiple/dos/1667.html
Mozilla Firefox <IP_ADDRESS> - 'marquee' Denial of Service                                                                              | multiple/dos/1867.html
Mozilla Firefox 3.6.16 (Windows 7) - mChannel Object Use-After-Free                                                                | windows/remote/17672.html
Mozilla Firefox 67 - Array.pop JIT Type Confusion                                                                                | windows/local/50691.txt
Mozilla Suite And Firefox - DOM Property Overrides Code Execution                                                                  | multiple/remote/25670.html
----------------------------------------------------------------------------------------------------------------------------------- ---------------------------------
Shellcodes: No Results

Change looks good to me!


fix(update): support $persist_dir in uninstaller.script

$persist_dir in uninstaller.script only works when uninstall but not when update.

I see what you mean. Yeath this could go in for small period of time.
I am currently working on #2952, which will cover this use case.


[#1.9] Habit progress indicator

As a doer, I want, for each habit on the list, a visual indicator to show how closely I am following its plan over time.

Wheel for the list and a bar once you get into viewing the habit.
Start from 100%. If there are no habit events on a day that it should be done, subtract from total days that passed since you started.


[ci] Set up mergify for automatic PR merging

Add mergify config file to enable PRs to automatically be merged in to master when they pass all checks, have an approved review and no outstanding changes requested or comments.
I've set it to squash PRs here as that is what we generally use. If this config works well here for this repo then I'll propagate it to template-rust and our other repos.

Nice!


add back/change /get for retrieving Animusic videos

.get was the old way of retrieving music, and it has been renamed to /whatis. This is quite confusing for returning users who want to quickly jump to Animusic content.
/get and /whatis should both be aliases for the same command to reduce confusion, or rename /whatis to /get.

Pushed an update with alias, thanks.


Extra warning text about thread handle lifetime

Adding extra warning text to m_bAutoDelete, m_hThread, and m_nThreadID to warn about CWinThread object lifetime being affected by auto-deletion setting.

@ScotBren : Thanks for your contribution! The author, @, has been notified to review your proposed change.

@corob-msft : Thanks for your contribution! The author, @, has been notified to review your proposed change.

@corob-msft, I think your revisions are good. How long do you predict before the merging will be done and the revised content will be public?  I want to let our customer know when he can see the changes I promised.

@ScotBren There's currently a publishing embargo until the //Build conference, so content can be released at the same time as product announcements. Regular publishing should resume after next Monday, so I'd expect this to show up around noon Pacific time next Tuesday, or possibly Wednesday if it misses a review window.


[red-knot] Add MRO resolution for classes (take 2)

A second attempt at implementing MRO resolution (see #13722 for the first attempt). Unlike the first attempt, this version does not attempt to handle union types in a class's bases list (which would potentially mean that you would have to consider multiple possible MROs for any given class).
Summary
A Python class's "Method Resolution Order" ("MRO") is the order in which superclasses of that class are traversed by the Python runtime when searching for an attribute (which includes methods) on that class. Accurately inferring a class's MRO is essential for a type checker if it is going to be able to accurately lookup the types of attributes and methods accessed on that class (or instances of that class).
For simple classes, the MRO (which is accessible at runtime via the __mro__ attribute on a class) is simple:
>>> object.__mro__
(<class 'object'>,)
>>> class Foo: pass
...
>>> Foo.__mro__  # classes without explicit bases implicitly inherit from `object`
(<class '__main__.Foo'>, <class 'object'>)
>>> class Bar(Foo): pass
...
>>> Bar.__mro__
(<class '__main__.Bar'>, <class '__main__.Foo'>, <class 'object'>)

For more complex classes that use multiple inheritance, things can get a bit more complicated, however:
>>> class Foo: pass
...
>>> class Bar(Foo): pass
...
>>> class Baz(Foo): pass
...
>>> class Spam(Bar, Baz): pass
...
>>> Spam.__mro__  # no class ever appears more than once in an `__mro__`
(<class '__main__.Spam'>, <class '__main__.Bar'>, <class '__main__.Baz'>, <class '__main__.Foo'>, <class 'object'>)

And for some classes, Python realises that it cannot determine which order the superclasses should be positioned in order to create the MRO at class creation time:
>>> class Foo(object, int): pass
...
Traceback (most recent call last):
  File "<python-input-12>", line 1, in <module>
    class Foo(object, int): pass
TypeError: Cannot create a consistent method resolution order (MRO) for bases object, int
>>> class A: pass
...
>>> class B: pass
...
>>> class C(A, B): pass
...
>>> class D(B, A): pass
...
>>> class E(C, D): pass
...
Traceback (most recent call last):
  File "<python-input-17>", line 1, in <module>
    class E(C, D): pass
TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B

The algorithm Python uses at runtime to determine what a class's MRO should be is known as the C3 linearisation algorithm. An in-depth description of the motivations and details of the algorithm can be found in this article in the Python docs. The article is quite old, however, and the algorithm given at the bottom of the page is written in Python 2. As part of working on this PR, I translated the algorithm first into Python 3 (see this gist), and then into Rust (the c3_merge function in mro.rs in this PR). In order for us to correctly infer a class's MRO, we need our own implementation of the C3 linearisation algorithm.
As well as implementing the C3 linearisation algorithm in Rust, I also had to make some changes to account for the fact that a class might have a dynamic type in its bases: in our current model, we have three dynamic types, which are Unknown, Any and Todo. This PR takes the simple approach of deciding that the MRO of Any is [Any, object], the MRO of Unknown is [Unknown, object], and the MRO of Todo is [Todo, object]; other than that, they are not treated particularly specially by the C3 linearisation algorithm. Other than simplicity, this has a few advantages:

It matches the runtime:>>> from typing import Any
>>> Any.__mro__
(typing.Any, <class 'object'>)

It means that they behave just like any other class base in Python: an invariant upheld by all other class bases in Python is that they all inherit from object.

Dynamic types will have to be treated specially when it comes to attribute and method access from these types; however, that is for a separate PR.
Implementation strategy
The implementation is encapsulated in a new red_knot_python_semantic submodule, types/mro.rs. ClassType::try_mro attempts to resolve a class's MRO, and returns an error if it cannot; ClassType::mro is a wrapper around ClassType::try_mro that resolves the MRO to [<class in question>, Unknown, builtins.object] if no MRO for the class could be resolved.
It's necessary for us to emit a diagnostic if we can determine that a particular list of bases will (or could) cause a TypeError to be raised at runtime due to an unresolvable MRO. However, we can't do this while creating the ClassType and storing it in self.types.declarations in infer.rs, as we need to know the bases of the class in order to determine its MRO, and some of the bases may be deferred. This PR therefore iterates over all classes in a certain scope after all types (including deferred types) have been inferred, as part of TypeInferenceBuilder::infer_region_scope. For types that will (or could) raise an exception due to an invalid MRO, we infer the MRO as being [<class in question>, Unknown, object] as well as emitting the diagnostic.
We also emit diagnostics for classes that inherit from bases which would be too complicated for us to resolve an MRO for: anything except a class-literal, Any, Unknown or Todo is rejected.
I deleted the ClassType::bases() method, because:

It's easier to calculate the MRO if you work directly from the AST rather than having an intermediate method that converts the slice of AST nodes into an iterator of types
There are no direct uses of ClassType::bases() in types.rs or infer.rs anymore now (they all should have been iterating over the MRO all along!).
The bases() method was something of a footgun: it only gave you the slice of the class's explicit bases, and ignored the fact that a class will implicitly have object in its bases list at runtime if it has no explicit bases.

Test Plan
Lots of mdtests added. Several tests taken from https://docs.python.org/3/howto/mro.html#python-2-3-mro.

This is great!

Thanks both for the excellent review comments!

🎉


[ObjC, Swift, Xcode] Make Objective-C & Swift symlinks to Xcode

Reasons for making this change:
You previously have written remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore in all of these duplicate files. I saw that other .gitignore files also behaved as symlinks, so I figured that it would be a nice clean up to make two of them symlinks.
Hope this helps!
The @EtherTyper

Closing this out because of inactivity and unresolved feedback


[WIP] all: Clean up request/response object and added Sep24 refunds

PR Checklist
PR Structure

[x] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[ ] This PR avoids mixing refactoring changes with feature changes (split into two PRs
otherwise).
[x] This PR's title starts with name of package that is most changed in the PR, ex.
paymentservice.stellar, or all or doc if the changes are broad or impact many
packages.

Thoroughness

[ ] This PR adds tests for the most critical parts of the new functionality or fixes.

What

Clean up the request and response classes of api-schema
Added Sep24 refunds.

Why
Support SEP24 refunds for MGI project.
Known limitations
N/A

Reference Server Preview is available here:https://anchor-ref-pr224.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr224.previews.kube001.services.stellar-ops.com/

Reference Server Preview is available here:https://anchor-ref-pr224.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr224.previews.kube001.services.stellar-ops.com/

@JakeUrban It is not necessary to review all. Please help to focus on the updateRefundInfo function.

Reference Server Preview is available here:https://anchor-ref-pr224.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr224.previews.kube001.services.stellar-ops.com/

Reference Server Preview is available here:https://anchor-ref-pr224.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr224.previews.kube001.services.stellar-ops.com/


cuda8 rc fix for concat

cuda8 rc fix for concat

Refer to this link for build results (access rights to CI server needed):
/job/libnd4j_PR/31/


Implement static IP on RPi

https://thepihut.com/blogs/raspberry-pi-tutorials/how-to-give-your-raspberry-pi-a-static-ip-address-update

Note: Unable to connect to wifi with static ip


Lombok's @Data can reveal secrets if any

@Data generates toString() method which includes all the fields of a pojo.
Regardless whether we need it, dumping the pojo will dump any sensitive data in the logs.
Its better to replace
@Data

with
@Getter
@Setter

We don't use @Data on our public API. It's also not the responsibility of this framework to prevent leakage to the logs – enabling debug mode will dump all wire communication to the log, if using Apache Http Client for instance. We already did everything to reduce points of exposure.

thanks for the clarification.


Bug: Does not import CSS rendered during npm run build

Expected behavior:
After running npm run build, the Django/Jinja template renders
"css_bundle_url": staticfiles_storage.url(f"{app_name}.css"). This is probably a good catch-all for many scenarios, but makes things appear off from the missing CSS generated during rollup.
Demo:

Hi! Thanks for the pull request and sorry for taking so long to start looking into this issue.
Is bundle.css the only css file being output by rollup under your configuration or is it a supplementary bundle meant to accompany the <app_name>.css bundle?

Version 0.2.0 improves CSS handling. Please have a look!

Thanks a lot.


Vers 5.0.0 not works with ASP.NET Core 3.1

I tried using Swashbuckle in my ASP.NET Core 3.1 WebAPI project but trying to navigate to the URL http: // localhost: xxxxx/swagger/index.html I always get the error:

At first, I thought it was a problem with the controller, but then I created a simple project from scratch with just one controller and an action like this:
namespace SwashbuckleTest.WebAPI.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class BookController : ControllerBase
    {
        [HttpGet]
        public JsonResult GetBook()
        {
            return new JsonResult("Microsoft Press AZ-9000");
        }
    }
}

but I always get the same error. This is my startup class:
namespace SwashbuckleTest.WebAPI
{
    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
            services.AddSwaggerGen(options =>
            {
                options.SwaggerDoc("Test Doc", new OpenApiInfo
                {
                    Title = "Test API Doc"
                });
            });
        }

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseSwagger();
            app.UseSwaggerUI(options =>
            {
                options.SwaggerEndpoint("/swagger/v1/swagger.json", "Test API");
            });

            app.UseRouting();

            app.UseEndpoints(endpoints => { endpoints.MapControllers(); });
        }
    }
}

Sorry, I finally solved this problem, I had inserted a different documentName between the configurations:
// Use v1 instead Test Doc
options.SwaggerDoc("Test Doc--> correct is v1", new OpenApiInfo
{
      Title = "Test API Doc"
});

and
app.UseSwaggerUI(options =>
{
     //options.SwaggerEndpoint("/swagger/{documentName}/swagger.json", "Test API");
      options.SwaggerEndpoint("/swagger/v1/swagger.json", "Test API");
});

Perhaps a warning or alert could be generated for this type of situation.
Sorry


Retry failed API calls

Occasionally, squad-client would make API calls to SQUAD and they'll fail. These might generate side effects on tools relying on squad-client, for instance, check the error below:
$ ./squad-report/scripts/squad-find-regressions \
  --group=lkft \
  --project=linux-stable-rc-linux-5.18.y \
  --build v5.18.9-103-g7622cfa48fbd \
  > regressions-v5.18.10-rc1.txt

multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
  File "/usr/lib/python3.9/multiprocessing/pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
  File "/usr/lib/python3.9/multiprocessing/pool.py", line 48, in mapstar
    return list(map(*args))
  File "/home/ddiaz/devel/lkft-tools/bin/20220705/./squad-report/scripts/squad-find-regressions", line 96, in find_regression
    metadata=getid(test.metadata),
AttributeError: 'Test' object has no attribute 'metadata'
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/ddiaz/devel/lkft-tools/bin/20220705/./squad-report/scripts/squad-find-regressions", line 157, in <module>
    sys.exit(run())
  File "/home/ddiaz/devel/lkft-tools/bin/20220705/./squad-report/scripts/squad-find-regressions", line 154, in run
    p.map(find_regression, tests)
  File "/usr/lib/python3.9/multiprocessing/pool.py", line 364, in map
    return self._map_async(func, iterable, mapstar, chunksize).get()
  File "/usr/lib/python3.9/multiprocessing/pool.py", line 771, in get
    raise self._value
AttributeError: 'Test' object has no attribute 'metadata'

Here, the test.metadata attribute didn't get fetched from the API, thus causing the crash. When re-running this script another time, it worked without any errors.

Fixed in https://github.com/Linaro/squad-client/pull/167


stderr logging and interface cleanup

What are the desired schemas, tables, and printouts for a revised stderr/logging and STDOUT/STDERR interface?

STDOUT and stderr interface, log collection and distribution/passing overhaul.
Affects all logged modules.
Am prototyping a useful set of banners, spacers, input/parameter YAML, schema/stage/task documentation.
rich text formatting is a cherry, but just complicates the interface short term deliverable.

Needs revisit, but low priority this iteration. Focus on academics and functionality.


feat : shortlex order on lists

Given a relation r on a type \a, the shortlex order over r on lists (first compare by length; if equal, then compare by lexicographic order over r) is defined. We prove that this inherits properties from the underlying relation r such as trichotomous-icity, asymmetry, order-connectedness.
Most importantly, Shortlex r is well-founded if r is well-founded, giving a well-founded order on lists. (Notably, List.Lex is not well-founded).

I noticed that there is something going on with aux in a number of the List.Lex instances - it got too long to type here so I posted on Zulip: https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/aux.20appearing.20in.20instance


CalenderDay rendering performance

When using the DayPickerRangeController with vertical scrollable and selecting a date, I noticed it takes a relatively long time to update the state, rerender and show the selected dates in the calendar, especially on Safari in iPhones (not so much Desktop Chrome).
This is obviously due to the fact that every Day component gets updated/rerendered every time that the date values change. Let's assume we show 6 month a 30 days, this will result in 180 components being updated. Even in Chrome on a 2-year-old Macbook Pro, this takes about 400ms.

I have already searched the issues and found e.g. https://github.com/airbnb/react-dates/issues/348. I am also aware that react-dates is not necessarily built for endless-scrolling  and/or rendering more than 6 months. Nevertheless, my question is:

Why do all mounted Days need to rerender when one Day is selected? Shouldn't their shouldComponentUpdate method return false instead of true, if they are neither the selected ones, nor in a selected span?

Are there any recommendations to increasing performance if we want to keep more than a few month mounted at the same time? We already tried to memoize the isOutsideRange function and already imported {isInclusivelyBeforeDay}  from 'react-dates' as well, but this only improves performance a bit.
Thanks a lot.

@korbinianfritsch not all days should get rerendered, so this is probably something we should investigate. isOutsideRange/isDayBlocked/isDayHighlighted will get recalculated for each day when you switch focus or select a day (to allow for conditional functionality, ie a isBlocked based on the selected day or the focus) but if the modifiers haven't changed for the CalendarDay, it should not be rerendering.
That being said, we need to add a VERTICAL_SCROLLABLE example to the storybook because I... definitely break it all the time. Once we do that maybe we can dig into this.
Can you share your whole set up in a gist or something? Maybe there's something to do with how the modifier props are set up.

@majapw Thanks for your answer :) and sorry for my delayed response.
Find the component code of our DayPickerRangeController integration here:
import React, { PureComponent } from 'react';
import { DayPickerRangeController, isInclusivelyBeforeDay } from 'react-dates';

const START_FOCUS = 'startDate';

export default class DateRangePicker extends PureComponent {
  state = {
    focusedInput: START_FOCUS,
  }

  componentWillReceiveProps(nextProps) {
    if (this.props.numberOfMonths !== nextProps.numberOfMonths) {
      // This is a HACK against all commonly accepted React principles!
      // Nevertheless, it works for our special usecase of react-dates, as we do not want to lose
      // focus when showing the next months (cp. `componentWillReceiveProps` in 'DayPickerRangeController'
      // where !this.props.focusedInput is required in order to update visibleDays) but want to
      // update the visible Days (cp. `onMultiplyScrollableMonths` in 'DayPickerRangeController',
      // where newVisibleDays is ignored).

      const props = {
        ...this.dayPicker.props,
        numberOfMonths: nextProps.numberOfMonths,
      };
      const visibleDays = this.dayPicker.getStateForNewMonth(props).visibleDays;

      this.dayPicker.setState({ visibleDays });
    }
  }

  isOutsideRange = day => isInclusivelyBeforeDay(day, moment());

  onFocusChange = focusedInput =>
    this.setState({
      focusedInput: !focusedInput ? START_FOCUS : focusedInput,
    });

  render() {
    return (
      <DayPickerRangeController
        ref={component => this.dayPicker = component}
        focusedInput={this.state.focusedInput}
        startDate={this.props.startDate}
        endDate={this.props.endDate}
        onDatesChange={this.props.onChange}
        onFocusChange={this.onFocusChange}
        orientation="vertical"
        firstDayOfWeek={1}
        isOutsideRange={this.isOutsideRange}
        numberOfMonths={this.props.numberOfMonths}
        hideKeyboardShortcutsPanel
      />
    )
  }
};

Notice that the orientation prop is actually "vertical" (although, for my usecase, it could probably also be "verticalScrollable", as I replaced the arrow buttons with endless scrolling). numberOfMonths is calculated outside this component as part of this endless scrolling functionality (scrolled to bottom = + 6 months).
As the comment says, I am aware that what's happening inside componentWillReceiveProps is kind of a hack, but I didn't find a better way to teach react-dates the endless scrolling behavior without losing focus.
Nevertheless, the hacky calling of getStateForNewMonth is only done when props.numberOfMonths changes, not when startDate/endDate change - so this shouldn't affect the rendering performance of Days when dates change.