HMR infinite loop inside deepEqual

Related plugins

[X] plugin-vue

[ ] plugin-vue-jsx

Describe the bug
I can reproduce an infinite loop during HMR. I have located the loop inside deepEqual function introduced in (#258 and #334). It seems to appear when importing third-party library (here radix-vue / vue) because it recursively walk through the AST of the library components / TS definitions (non-project file).
Related issue #350.
Reproduction
https://stackblitz.com/edit/vite-plugin-vue-hmr-inifite-loop-repro
Steps to reproduce

Edit src/App.vue HMR works
Edit src/components/ui/alert-dialog/AlertDialog.vue HMR hangs

System Info
System:
    OS: macOS 12.7.4
    CPU: (8) x64 Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
    Memory: 1.88 GB / 16.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 20.12.2 - ~/.nvm/versions/node/v20.12.2/bin/node
    npm: 10.7.0 - ~/.nvm/versions/node/v20.12.2/bin/npm
    pnpm: 8.15.8 - ~/.nvm/versions/node/v20.12.2/bin/pnpm
  npmPackages:
    @vitejs/plugin-vue: ^5.0.4 => 5.0.4
    vite: ^5.2.11 => 5.2.11

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

I've updated system infos, it occurs in latest version (5.0.4). Version 4.6.2 is not affected.

I'm seeing this in our project too

/cc @sodatea

duplicate of https://github.com/vitejs/vite-plugin-vue/issues/428


'az ml computetarget attach aks' should support "internal" LoadBalancer

Extension name (the extension in question)
azure-cli-ml
Description of issue (in as much detail as possible)
Currently az ml computetarget update aks command supports to update LoadBalancer to Internal type but this commands needs the AKS cluster to be already attached to the AML.
It will be useful to support the [--load-balancer-type] argument to az ml computetarget attach aks command so that internal LoadBalancer type can be created when AKS is attached to AML.

ml

yes, required feature. Any update on when this can be made available?


build binder-link.yml

Describe your changes
Added a workflow to comment the binder link on the comments section of a PR
Issue number
Closes #1107
Checklist before requesting a review

[x] Performed a self-review of my code
[x] Formatted my code with pkgmt format
[x] Added tests (when necessary).
[x] Added docstring documentation and update the changelog (when needed)

:books: Documentation preview :books:: https://jupysql--571.org.readthedocs.build/en/571/

To see the specific tasks where the Asana app for GitHub is being used, see below:

https://app.asana.com/0/0/1204699387681445

@edublancas can you please label this PR as allow-workflow-edits. I don't think I can do it from my end.

just did, please push a new commit:  git commit --allow-empty -m ci

this was opened in the wrong repository. the issue must be opened in the ploomber/ploomber repo. https://github.com/ploomber/ploomber/issues/1107

please re-open it there and let me know once it's ready for review

Got it! Making the changes


Document ExternalStream

Follow-up of #5283, see https://github.com/cupy/cupy/pull/5283#issuecomment-851437165.

I will backport this PR manually, as the description needs to be modified for v9 (which does not support per-device streams).

Jenkins, test this please

Jenkins CI test (for commit 208d1758954aa87b7a0a1051123a92cff45bf662, target branch master) succeeded!

@emcastillo Failed to backport automatically.

Not cleanly cherry-picked

Put label for future reference. Please ignore the error, it's already manually backported in #5312.


#307: Implement trailing closure rule

Resolves #307.

Current coverage is 90.87%

Merging #308 into master will decrease coverage by -0.14% as of e940fbd

Powered by Codecov. Updated on successful CI builds.

:+1:

:+1:


[C++][Parquet] Allow Arrow FileWriter To Write FileMetaData

The arrow FileWriter open method only takes in a schema (which does not include row group information) and not the full FileMetaData. This does not allow the summary _metadata file to be created, and will need to be changed to write the full file metadata object.
Reporter: Robbie Gruener / @rgruener
Assignee: Robbie Gruener](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=rgruener) / @rgruener
PRs and other links:

GitHub Pull Request #481

Note: This issue was originally created as PARQUET-1348. Please see the migration documentation for further details.

Uwe Korn / @xhochy:
Issue resolved by pull request 481
https://github.com/apache/parquet-cpp/pull/481


remove and update notifications with FCM thows errors

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

How did you install the Amplify CLI?
No response
If applicable, what version of Node.js are you using?
No response
Amplify CLI Version
10.4.0
What operating system are you using?
Windows
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
No
Amplify Categories
notifications
Amplify Commands
add
Describe the bug

Adding a FCM notification channel without the proper API key and removing the resource re-prompts for API key

observe error:
🛑 Failed to disable the FCM channel

entering the right key did not solve the issue. removing All channels on Pinpoint resourceorFCM  | » Firebase Push Notifications ` will throw the error

updating the notifications and reentering the API key will throw

🛑 Cannot read property 'Enabled' of undefined

Expected behavior
remove resource without errors
Reproduction steps
1. amplify add notifications
√ Choose the notification channel to enable · FCM  | » Firebase Push Notifications
? Provide your pinpoint resource name: test
? Apps need authorization to send analytics events. Do you want to allow guests and unauthenticated users to send analytics events? (we recommend you allow this when getting started) Yes
? ApiKey: abcdef ->(random wrong key)

realize you added wrong key
2. amplify remove notifications
√ Choose the notification channel to remove · All channels on Pinpoint resource : test
Disabling all notifications from the Pinpoint resource
? ApiKey <add a key>
🛑 Failed to disable the FCM channel

lets try to update the resource
3. amplify update notifications
√ Choose the notification channel to configure · FCM  | » Firebase Push Notifications
The FCM channel is currently enabled
? Do you want to disable the FCM channel No
? ApiKey <any key>
√ The FCM channel has been successfully updated.
🛑 Cannot read property 'Enabled' of undefined

GraphQL schema(s)

# Put schemas below this line

Project Identifier
f3bd5fd9e00178140378c43212566160
Log output

# Put your logs below this line

Additional information
No response

Hey @ykethan when you tried to remove the notification did you input anything into the ApiKey prompt? I was able to remove it without entering anything there. Same with amplify update notification
➜  amplify update notification
✔ Choose the notification channel to configure · FCM  | » Firebase Push Notifications
The FCM channel is currently enabled
? Do you want to disable the FCM channel Yes
? ApiKey
✔ The FCM channel has been disabled.
Browserslist: caniuse-lite is outdated. Please run:
  npx browserslist@latest --update-db
  Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating

hey @josefaidt , yes i added the api key in again. let me try without the api key

Hey @ykethan I was not able to reproduce this issue, however I did notice a lot of duplicated lines coming from the automatic push event
https://user-images.githubusercontent.com/5033303/201226293-84edb2ec-e9f8-43be-a1d4-656d82a976b7.mov

Hey @josefaidt, hitting enter on API key prompt fixes the issue. But why does remove prompt for a API key when removing it?

After hopping on a quick call I realized I was reproducing by selecting "Yes" to "do you want to disable the FCM channel" where the repro steps here say "No". Despite the odd ApiKey prompt, after selecting "No" to this prompt we are able to reproduce

also seeing this on amplify remove notification
aws-amplify/reproductions/modeltest
➜  ay remove notification
🛑 Cannot read property 'Id' of undefined

Resolution: Please report this issue at https://github.com/aws-amplify/amplify-cli/issues and include the project identifier from: 'amplify diagnose --send-report'
Learn more at: https://docs.amplify.aws/cli/project/troubleshooting/

aws-amplify/reproductions/modeltest
➜  ay remove notifications
🛑 Cannot read property 'Id' of undefined

Resolution: Please report this issue at https://github.com/aws-amplify/amplify-cli/issues and include the project identifier from: 'amplify diagnose --send-report'
Learn more at: https://docs.amplify.aws/cli/project/troubleshooting/

might be related to this: https://github.com/aws-amplify/amplify-cli/pull/11378


Improve code readability of state handlers

Description

Applies a similar pattern to how we've been memoizing handlers to some components. The only difference is that for Playground.tsx, due to the sheer amount of handlers, we do not destructure every single one in order to not pollute the namespace. Instead, we just use dot notation and group the handlers accordingly.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[x] Code quality improvements

How to test

Checklist

[x] I have tested this code
[ ] I have updated the documentation

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

5 of 17 (29.41%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 36.91%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/pages/githubAssessments/GitHubAssessmentWorkspace.tsx
0
3
0.0%

src/pages/playground/Playground.tsx
5
14
35.71%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
5175

Relevant Lines:
13279

💛  - Coveralls


radicle-httpd: 0.12.1 -> 0.13.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/radicle-httpd/versions.
meta.description for radicle-httpd is: Radicle JSON HTTP API Daemon
meta.homepage for radicle-httpd is: https://radicle.xyz
Updates performed

Rust version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.13.0 with grep in /nix/store/n37l2a0mw1rhagqv3hv9i7vhsa3rjdh8-radicle-httpd-0.13.0
found 0.13.0 in filename of file in /nix/store/n37l2a0mw1rhagqv3hv9i7vhsa3rjdh8-radicle-httpd-0.13.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

radicle-httpd

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/n37l2a0mw1rhagqv3hv9i7vhsa3rjdh8-radicle-httpd-0.13.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A radicle-httpd https://github.com/r-ryantm/nixpkgs/archive/7eac1d49a8fbbb0927f9d3c9024de771950bfd8b.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/7eac1d49a8fbbb0927f9d3c9024de771950bfd8b#radicle-httpd

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/n37l2a0mw1rhagqv3hv9i7vhsa3rjdh8-radicle-httpd-0.13.0
ls -la /nix/store/n37l2a0mw1rhagqv3hv9i7vhsa3rjdh8-radicle-httpd-0.13.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

radicle-httpd

Maintainer pings
cc @gador @lorenzleutgeb for testing.

@NixOS/nixpkgs-merge-bot merge


Document 1.x support

[x] How to remain on 1.x SDK and CLI
[x] What packages will be supported in 1.x
[x] How to remain on 1.x templates
[x] Previous 1.x templates for Python had >=1.0.0 -- mention that you might accidentally end up on 2.x when updating dependencies from the 1.x template

https://github.com/pulumi/docs/pull/2834


Add more detail on the runtime store location

https://docs.microsoft.com/dotnet/core/deploying/runtime-store
docs/core/deploying/runtime-store.md
@ArtemSyromiatnikov asks ...

C:/Program Files/dotnet/store - packages installed with ASP.NET Core (Microsoft.AspNetCore.All metapackage)
C:/Users/{User}/.dotnet/store/ - packages installed manually with "dotnet store" command

Does dotnet runtime look for packages in both these locations when resolving dependencies on application startup?
Does runtime try to find package in Runtime Store every time when the targeted package is not present in deployment?

The topic could use a hair more detail on these two locations.
As far as the app is concerned running on the host, there's just one runtime store and it is the one at the Program Files/dotnet/store location.
For the example shown in the topic, the Moq, Castle.Core, and Newtonsoft.Json folders (with the versions that the manifest calls for) MUST BE in the runtime store folder with all of those implicitly stored All metapackage packages. That is THE runtime store.
If one doesn't have one or more of the explicit runtime store packages there (such as Moq, Castle.Core, or the version of Newtonsoft.Json shown in the topic example) listed in the manifest packages published against ... :boom: :cry: ... it blows up at runtime because it can't find the packages.
Also note that "runtime package store" goes to :point_right: "runtime store" after the decision about what name to use. That should be updated.

@DamianEdwards would you be the right person to sync on runtime store when we get to this issue?

We should hold off on any further documentation of the runtime store as ASP.NET Core itself is moving away from using it to delivery runtime assets, see https://github.com/aspnet/MetaPackages/issues/248


add admin parent name to analysis table

This closes #356
modified the Name column in analysis table to include parent admin level's names. This also makes the name matches location name on tooltip

This looks good, but two questions come up:

How will this work in combination with PR 391 https://github.com/WFP-VAM/prism-frontend/pull/391? I assume we're sorting on the the lowest admin level (admin 3), but this will look rather confusing for a user. It may make more sense to include each name level as a separate column instead to make sorting more clear
It seems inconsistent to have local name only display the lowest level while English shows multiple levels. However, since we're working on localization separate (PR 382 https://github.com/WFP-VAM/prism-frontend/pull/382) it seems we can just drop local names in this view if the localized version will include this information anyway. @ericboucher - thoughts?

@wadhwamatic
to answer q1: with the current solution, the name will be sorted alphabetically based on the highest admin level name. If two locations share the same level 1 name, then it would be sorted based on level 2 name, and so on.
for example:
Kayah, Loikaw, Hpruso
Shan (North), Lashio, Hseni
Shan (North), Lashio, Kunlong
Shan (South), Loilen, Laihka
Shan (South), Loilen, Mongkaing
I don't think this is bad since we can see all locations of the same parent admin-level together

@wadhwamatic @ericboucher deploy link updated

@wadhwamatic to answer q1: with the current solution, the name will be sorted alphabetically based on the highest admin level name. If two locations share the same level 1 name, then it would be sorted based on level 2 name, and so on. for example:
I don't think this is bad since we can see all locations of the same parent admin-level together

@tdlinh2712 - agreed, this works fine for us. This is good from my side, but pending final code review from @ericboucher or @Ry-DS
@ericboucher - note 'local name' in boundary files needs to be thought through as part of the localization work


Help...About needs close button

The Help...About dialog box doesn't have a close button.  I have to right-click on the title bar and select close to close the dialog.  I'm using 4.0.1 on Linux Mint 18.1 Cinnamon.

Do you have some custom settings on your system maybe? I can't reproduce this on a fresh Mint 18.1 Cinnamon.

This looks to be a theming issue, not a yubioath-desktop issue.  Thanks for finding that, I didn't think to check the theme.  I'm running the Arc theme.  When I changed the 'Windows borders' to 'Mint-Y', or any other available theme, I could then see 'x'.


[WIP] Abstract external CAs and add Vault provider

This removes hardcoded dependencies on CFSSL as an external CSR signing endpoint. Given URLs are prefixed with the signing server type, which creates implementations of a signing endpoint interface as needed.
Current internal/external CA tests pass.
The major TODO is adding support for Vault. It's relatively straightforward but I'm still trying to grok the root CA model. After that is some cleanup and adding an example command similar to the CFSSL example.
cc @aaronlehmann @diogomonica

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "generic-external-ca" git@github.com:jefferai/swarmkit.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "generic-external-ca" git@github.com:jefferai/swarmkit.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

@aaronlehmann I kept compatibility with the existing URLs parameter by prefixing with <type>: but what you proposed is fine too. The ability to specify options would be nice, although I think in the Vault case at least it is more likely that most of the options will come from the environment.
If you have the time to discuss the role of the root CA here it would be helpful.

@jefferai: I will go ahead with making an ExternalCA struct. I think this is worth doing so we aren't stuck with a microformat in the API going forward. But I think I'll omit options from the structure for now, since we can easily add it later once it becomes useful.

@aaronlehmann OK. Are you going to plumb it through or simply add it in addition to the existing external_ca_urls?
Can you enlighten me on the root CA aspect here? In the previous PR it seems like Swarm always creates its own root CA, however, If you have an external CA, it will send out the node cert requests to that CA rather than sign locally.
In that case does Swarm simply assume that the signing CA's root cert will be in the system trusted roots, so ensuring this is sufficient to have proper validation chains when the node tries to make requests using its certificate? Or am I missing something here?

Actually, I forgot that in the CFSSL code it actually passes in the root CA and adds the internal root CA PEM. This suggests that the model is supposed to be that the root CA's key/cert is also supposed to be the key/cert used to sign requests with an external API service. Is this the case?

[Current coverage][cc-pull] is 54.32%

Merging [#1099][cc-pull] into [master][cc-base-branch] will increase coverage by 0.07%

@@             master      #1099   diff @@
==========================================
  Files            76         76
  Lines         11838      11861    +23
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           6423       6444    +21
- Misses         4496       4498     +2
  Partials        919        919

[][cc-pull]

Powered by Codecov. Last updated by [206e9ee...cc91163][cc-compare]
[cc-base-branch]: https://codecov.io/gh/docker/swarmkit/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/docker/swarmkit/compare/206e9ee96b164b96b9e834eca6c3e2d04035b582...cc9116328da5238bc32d4a6b376103cf4c5bee37
[cc-pull]: https://codecov.io/gh/docker/swarmkit/pull/1099?src=pr

@jefferai: I opened a PR for the API/CLI changes in #1101.
I'm not sure I understand the question about root CAs. There is a RootCA object that contains a root certificate, but it does not always have the private key material and is not always capable of signing (perhaps RootCert would be a better name for it). When configured to use an external CA, there will be a RootCA object that contains the root CA certificate, but cannot sign directly. The external CA will be signing instead.
The swarm manager authenticates with the external CA using TLS with its node certificate as the client certificate. This is the same certificate it uses as a server certificate when workers connect to it, and as a client certificate when it connects to other managers.

@aaronlehmann So where I'm falling down here is this:

The swarm manager authenticates with the external CA using TLS with its node certificate as the client certificate. This is the same certificate it uses as a server certificate when workers connect to it, and as a client certificate when it connects to other managers.

How does it get that initial client certificate in the first place? I can see two possibilities:

It gets it from the external CA (how, if it can't authenticate?)
It gets it from somewhere else

Option 2 seems like the only viable option. So if it is getting a certificate from somewhere else using the same root CA, then it indicates that there is an expectation that the external CA and (the internal RootCA?) are sharing a CA certificate. If it's a different root CA, then it indicates that:

Swarm must trust the external CA certificate during mutual authentication -- how does it get this? Does it simply trust all system roots, via normal Go methods?
The external CA is expected to trust client certificates issued by the other root CA -- is this exported somewhere?

But based on RootCA.AppendFirstRootPEM, which is invoked after the external (as well as internal) signing code runs, it appears that it is only valid for the CA certificate/key to be shared between Swarm and the external CA. Which doesn't entirely defeat the point, but if true a lot of enterprises would find this to be a very unhappy state of affairs because the point of using an external CA will often be to avoid the private key ever being disclosed.
This chicken/egg method problem of using TLS certificates to authenticate to get TLS certificates is one of the reasons that other CA utilities usually support different methods of authenticating (server-issued tokens, LDAP credentials, etc.). So I think #1101 must support the ability to pass in authentication information from the get-go. This may a token, LDAP credentials, or even the bytes of a client certificate and key that were issued by the external CA out-of-band.

The first manager needs to have a valid certificate prepopulated when using an external CA. Once that's done, it will be able to request new certificates for itself, and for additional managers and workers.

How does this valid certificate get prepopulated?

When an admin sets up the swarm cluster which uses an external CA, they have to manually create a valid certificate for the first manager and put the cert and key in /var/lib/docker/swarm/certificates (swarm-node.crt and swarm-node.key). They also have to put the root certificate in this directory swarm-root-ca.crt. Using the internal root CA, this bootstrapping is automatic, but when the root CA was external, it falls on the admin to create and install the first key/cert.

OK. So IIUC:
For other external CAs, where TLS mutual authentication is not used to auth to the CA, presumably you still provide these three items. The cert and key will be used for TLS for the node (e.g. for your next API calls), and you then make an API call to configure the external CA information corresponding to the provided swarm-root-ca.crt. This information can then contain authentication parameters (and other parameters) for the external CA(s).
Is that all correct?

Yes, that sounds correct to me.

/cc @diogomonica

@aluzzardi this needs significant rework in light of #1101 so it's probably premature at this point. I'll keep the status updated as I make progress.

@jefferai Sounds good!

Needs a rebase, no updates in over a month. @jefferai are you still interested in having this merged?

I've not had time to work on this further at the moment, but it's still an interest of mine.

Feel free to reopen when you have time then, or open a new one. Looking forward to your contribution later on.

@dperny That's fair. My main impetus in doing this work at that exact time was trying to show feasibility of other external CAs before the user-facing parts of this became public, which at the time was not flexible enough to allow for non-cfssl CAs. Now that the user-facing parts/API are more flexible, I'm still interested in getting to this when I have some free time but it's not nearly as urgent (and maybe an interested community member will beat me to it  :-)  )
Thanks for checking in!


tests: increase nc idle and wait timeouts

What this PR does / why we need it:
On slower/busy clusters, netcat often times out with:
Ncat: Idle timeout expired (1000 ms).
In order to avoid this issue, we increase the idle and wait timeouts.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

/assign @enp0s3

/lgtm
/approve

@phoracek we need to cherry-pick this change to 0.26, right?

@danielBelenky oh you are spoiling me. Thanks for the review!
Correct, this should go to 0.26.

/cherrypick release-0.26

Bacport: https://github.com/kubevirt/kubevirt/pull/3243


Bring back dist on NPM

This was a breaking change from 0.11 to 0.12.
Can you please bring back the compiled assets (dist/react-router.js and react-router.min.js) when installing from NPM?

@jbraithwaite I guess I just figured that everyone installing react-router via npm was using CommonJS to require the router. dist was only ever for people using the global build.

My use case: I'm building an isomorphic app and use CommonJS on the server and for the client, using the files in dist, I build a minified version of my plugins (React, React Router, etc) to a separate file.

using the files in dist, I build a minified version of my plugins (React, React Router, etc) to a separate file.

What build tool do you use? You can use CommonJS on client with Webpack or Browserify and let them uglify your dependencies.

Ugh. I hate dist files on npm. Just publish to bower, and make people who want compiled builds to use that channel.

@jbraithwaite You can get a much more compact build by letting Browserify/Webpack resolve your requires. If you're using both the global build of React and ReactRouter, you're loading duplicate code on the client.
Or, if you really want the global build, we already publish it to bower, so you can use that channel if you'd like. But I'd prefer to keep our global build out of npm, since it's specifically for CommonJS code.

@gaearon, I'm using Webpack with React Router listed in externals , so there is no duplicate code.
@mjackson Why not provide more options to developers instead of taking them away? Facebook also expects you to use React via CommonJS but include the compiled / uglified assets in a dist folder on NPM.
I'm building a boilerplate for React + React Router apps and I'm trying to keep it as lean / unopinionated  as possible. It would be ideal to not require Bower.

@jbraithwaite I glanced a bit at the gulpfile. Here's my thoughts.
webpack externals + gulp minify step = webpack code splitting
See: http://webpack.github.io/docs/code-splitting.html#split-app-and-vendor-code
If you keep to using npm/commonjs versions of the libraries, you can have webpack organize vendor libraries in a separate js file.
This is better than externals, because you have extra UMD (https://github.com/umdjs/umd) boilerplate code that each library have in their build files. The minify step cannot remove this.

Using React as an external causes problems. There are (admittedly, not very common, but still valid) cases when you need to reach out into some internal React module. This is trivial with CommonJS. By making React an external in production, you're taking away the developer's freedom to do what Webpack already offers by supporting CommonJS. As @Dashed notes, the right solution is to use code splitting.

I'm using Webpack with React Router listed in externals, so there is no duplicate code.

@jbraithwaite The router requires certain core React modules that are also required by React itself. If you use the standalone build of the router + the standalone build of React you'll get duplicate copies of the modules that both of them depend on.

Also, putting everything into some kind of vendor.js is overrated IMO. You can't start your app without those deps, and it's healthy to update deps at least once a month so there's no real long term caching benefit.

I truly appreciate the time put into all of your responses. I'll tweak my code to use webpack code splitting

I implemented webpack code splitting, it now takes 14 seconds to compile & uglify my application vs. 670 ms before. The file size for my external.min.js did reduce from 197 KB to 194 KB.

That's pretty long. Are you sure you didn't forget to put exclude: /node_modules/, in your loaders?

@Dashed, still have the long compile times (~16 seconds) https://gist.github.com/jbraithwaite/4099acf911062fd9ec22#file-gulpfile-js-L99

Do you do production builds often? If you do, you might want to use incremental builds by adding watch: true to config. First build will still be slower, but subsequent ones will take ~2 seconds.
On a side note, you should use
        new webpack.DefinePlugin({
          'process.env': {
            'NODE_ENV': JSON.stringify('production')
          }
        }),

for production builds so Uglify compiles React in production mode.

I'm late to this thread but I'd like to second the request of @jbraithwaite. Not everyone follows the same conventions. This is a fast moving space, with multiple approaches to building, minifying, packaging, modularizing, etc. The react NPM package itself contains dist builds. I also use Browserify, but I like to keep vendor libraries external, to the degree possible. This allows browser caching the things that don't change as frequently and helps me keep my app build small, since that is what changes most often. Thanks.

+1


YAML - like layout language?

What do people think about a Yaml-like declarative layout format for saving GUI as data?  Is that a step forward or back?  mGui.MenuLoader is great for menus, since there's a lot of boilerplate in making menus.  Is it worth extending as whole layouts?

So a kind of xaml for mGui?

yeah, that's the basic idea.  Or more like QT uic files.  I'm not sure how I feel about  it  though, it's good separation of concerns but the handshake between code and content gets messy.  There's an old thread on TAO about this; Rob G is very anti 'gui as data' .  I'm not sure how I feel.

How would you like to handle event and callback binding? Would that happen inside the python code proper, after the ui is being series listed into python class? (I.e, like what we are doing now with pyside/pyqt)?

in the menuloader, I use fully qualifies names (see https://github.com/theodox/mGui/blob/master/mGui/menu_loader.py)  to bind functions to events.  That seems to work pretty well, although I'm sure you'd get some edge cases if there were a lot of dynamic loading going on

another possible GUI language reference: https://kivy.org/docs/api-kivy.lang.html

This looks like a promising YAML alternative https://pypi.python.org/pypi/rsonlite/0.1.0

I like the simple syntax, but we do lose a few features from yaml.

Serialize arbitrary objects - json dialects are limited to basic primitives
Circular references - might be needed when dealing with formLayouts, and data bindings
Comments - more useful in config, but you never know.
Clean multi-line text blocks - really handy in the shelf loader.

Of course the downside is it being a large-ish dependency, but its been pretty stable the last few years (one bugfix release?) and is thankfully pure python.

Looking at menuloader, it seems like we're not really leveraging much of the fanciness of yaml at all.  It might be more flexible to rewrite the menuloader and other UI loaders off of pure python dictionaries instead of YamlObject and remove the dependency -- or at least, move it sideways into a separate thin wrapper that loaded any nested-dictionary style object graph.
That would sidestep both syntax wars and dependency management.  It would probably also support xml as an alternative format for free.
Thoughts?

A definite possibility.
I did a quick test of converting the shelf_loader over to use pure dictionaries, loaded from a json file.
https://github.com/bob-white/mGui/tree/shelf_no_yaml - didn't think it was worth a whole pull request. If this seems like a more agreeable path, I'll update the existing one to match.
Required fairly minimal changes from the yaml version.
The data file is noisier, but a nice thing about acting on pure dictionaries is that anyone could write an adapter to their favorite serialization library without to much headache.

I think this might be the way to go, and then we can apply the same change to the menu loader and sorta-kinda get the gui layout language for free.


Add cooperative lockfile as port-forward mutex

Puts a lockfile in the config directory that prevents multiple pachctl port-forwards from running for the same context concurrently.  This is more reliable than keeping track of port-forward in the config file, as we can maintain a file-lock that is scoped to the lifetime of the locking process rather than relying on an orderly shutdown to clean up the config file.  There is a separate lockfile per-context.
This fixes #5182 and #4713.

This makes sense as a strategy. src/client/client.go will also need updating (grep for PortForwarders there.)

Closing this PR, as it's obsolete


Documentation: Add how-to for building a Debug binary

This disables optimizations right?

Yes, as far as I understand, it does. Though per @trflynn89 in https://discord.com/channels/1247070541085671459/1247090705013280769/1260224384207949905, it:

also puts the build in a different subfolder under Build/ so that you don't have to rebuild when you go back and forth between debug and default

So from that I take it the build’s intentionally designed to allow you to do a debug build without clobbering your existing “default”/release build (with the optimizations).
All that said, it doesn’t completely match what I actually see in the Build/ in my own environment, which is this:
$ ls Build/
drwxr-xr-x@  4 mike   128B Jul  8 20:12 caches
drwxr-xr-x   6 mike   192B Jul 10 06:58 ladbyird
drwxr-xr-x@ 21 mike   672B Jul 10 07:56 ladybird

I do see two subfolders in there: the normal, expected ladybird one, plus an additional ladbyird one. But as far as the contents of that ladbyird one:
$ ls Build/ladbyird/
-rw-r--r--  1 mike    28K Jul  9 22:02 CMakeCache.txt
drwxr-xr-x  6 mike   192B Jul 10 06:58 CMakeFiles
drwxr-xr-x  7 mike   224B Jul  9 22:02 Lagom
drwxr-xr-x  3 mike    96B Jul  9 22:02 caches

That is, there’s no separate bin directory in there, and so no separate Ladybird.app.
And the Build/ladybird/bin/Ladybird.app (in the normal build subdirectory) is the debug build.
In other words, in my environment at least, it does seem like the debug build clobbered my default/release build — and I don’t have any way to switch back and forth between the two.
So I must not yet be doing it completely right, and maybe Tim and weigh in here with some more guidance.

When running ./Meta/serenity.sh, it doesn't know about the expected binaryDir difference. I believe when it does cmake --preset Debug, it also passes the binary directory explicitly, which is what causes the clobbering issue.

@sideshowbarker #578 should resolve the build directory problem


Lua Regions/Collapsing of String Literals

Issue Type: Feature Request
I am working in Lua in VSCode. The editor is able to properly identify string literals for color coding. However, the collapsing function works by indentation rather than by reading the start and end of the brackets. I am forced to embed strings upward of 20k lines in many of my files, which I cannot alter indentation to, so I was hoping being able to collapse by interpreting brackets may be an option. Alternatively, marking regions as I would in C# in Visual Studio would work just as well, maybe better.
Thanks for your time and efforts!
VS Code version: Code 1.40.0 (86405ea23e3937316009fc27c9361deee66ffbf5, 2019-11-06T17:02:13.381Z)
OS version: Windows_NT x64 10.0.18362

Language aware folding regions need to come from a language extension as this requires a Lua scanner/parser
Can you file the issue against the Lua extensions of your choice?


[Monitor] Fix test failure due to compute SDK version bump

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

Monitor


[FEATURE] A Progress Bar while Encrypting/Decrypting

For longer tasks, especially on slower machines, it would be ideal to have a progress indicator/progress bar to let the user know that things are still happening.
I think the indicatif crate will work just fine, and it should probably be feature-gated in the core library behind a visual feature. This will prevent pulling in unnecessary dependencies if the core library is used elsewhere and doesn't require this functionality.
This was mentioned in #94.

This was added in #141


WIP: convert Address to be a HashString

PR summary
core pr: https://github.com/holochain/holochain-rust/pull/1580
Review checklist

[ ] The story has unit or integration tests
[ ] No new bugs, and any tech-debt is identified and justified
[ ] There is enough API documentation (how to use)
[ ] There is enough code documentation (how the code works)

woot, https://github.com/holochain/holochain-rust/pull/1580 works as well as develop does (app specs are broken on develop (... also fmt doesn't like pinning deps to a branch)) I'm going to merge this and push out a release to bring core back in sync.


About the data

Hi, the link you provided of  MICCAI 2018 Atrial Segmentation Challenge is not the h5 format you claimed, may you re-provide a h5 format MICCAI 2018 Atrial Segmentation Challenge Data?

Hi @Puzzled-Hui ,
Please try this link.

Thanks! :)


Rustup to rustc-ap 658

Fixes fallout from https://github.com/rust-lang/rust/pull/71555, includes a cargo update.

CI failure is rustc-ap-rustc_attr wanting $env:CFG_RELEASE set and not finding it.

Trying locally I get the following errors. We may need to wait until the next 659 release.
error[E0407]: method `replace_one` is not a member of trait `std::iter::Step`
  --> /home/topecongiro/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_span-658.0.0/def_id.rs:11:1
   |
11 | / rustc_index::newtype_index! {
12 | |     pub struct CrateId {
13 | |         ENCODABLE = custom
14 | |     }
15 | | }
   | |_^ not a member of trait `std::iter::Step`
   |
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `replace_zero` is not a member of trait `std::iter::Step`
  --> /home/topecongiro/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_span-658.0.0/def_id.rs:11:1
   |
11 | / rustc_index::newtype_index! {
12 | |     pub struct CrateId {
13 | |         ENCODABLE = custom
14 | |     }
15 | | }
   | |_^ not a member of trait `std::iter::Step`
   |
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `add_one` is not a member of trait `std::iter::Step`
  --> /home/topecongiro/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_span-658.0.0/def_id.rs:11:1
   |
11 | / rustc_index::newtype_index! {
12 | |     pub struct CrateId {
13 | |         ENCODABLE = custom
14 | |     }
15 | | }
   | |_^ not a member of trait `std::iter::Step`
   |
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `sub_one` is not a member of trait `std::iter::Step`
  --> /home/topecongiro/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_span-658.0.0/def_id.rs:11:1
   |
11 | / rustc_index::newtype_index! {
12 | |     pub struct CrateId {
13 | |         ENCODABLE = custom
14 | |     }
15 | | }
   | |_^ not a member of trait `std::iter::Step`
   |
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `add_usize` is not a member of trait `std::iter::Step`
  --> /home/topecongiro/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_span-658.0.0/def_id.rs:11:1
   |
11 | / rustc_index::newtype_index! {
12 | |     pub struct CrateId {
13 | |         ENCODABLE = custom
14 | |     }
15 | | }
   | |_^ not a member of trait `std::iter::Step`
   |
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `sub_usize` is not a member of trait `std::iter::Step`
  --> /home/topecongiro/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_span-658.0.0/def_id.rs:11:1
   |
11 | / rustc_index::newtype_index! {
12 | |     pub struct CrateId {
13 | |         ENCODABLE = custom
14 | |     }
15 | | }
   | |_^ not a member of trait `std::iter::Step`
   |
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `replace_one` is not a member of trait `std::iter::Step`
   --> /home/topecongiro/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_span-658.0.0/def_id.rs:118:1
    |
118 | / rustc_index::newtype_index! {
119 | |     /// A DefIndex is an index into the hir-map for a crate, identifying a
120 | |     /// particular definition. It should really be considered an interned
121 | |     /// shorthand for a particular DefPath.
...   |
128 | |     }
129 | | }
    | |_^ not a member of trait `std::iter::Step`
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `replace_zero` is not a member of trait `std::iter::Step`
   --> /home/topecongiro/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_span-658.0.0/def_id.rs:118:1
    |
118 | / rustc_index::newtype_index! {
119 | |     /// A DefIndex is an index into the hir-map for a crate, identifying a
120 | |     /// particular definition. It should really be considered an interned
121 | |     /// shorthand for a particular DefPath.
...   |
128 | |     }
129 | | }
    | |_^ not a member of trait `std::iter::Step`
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `add_one` is not a member of trait `std::iter::Step`
   --> /home/topecongiro/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_span-658.0.0/def_id.rs:118:1
    |
118 | / rustc_index::newtype_index! {
119 | |     /// A DefIndex is an index into the hir-map for a crate, identifying a
120 | |     /// particular definition. It should really be considered an interned
121 | |     /// shorthand for a particular DefPath.
...   |
128 | |     }
129 | | }
    | |_^ not a member of trait `std::iter::Step`
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `sub_one` is not a member of trait `std::iter::Step`
   --> /home/topecongiro/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_span-658.0.0/def_id.rs:118:1
    |
118 | / rustc_index::newtype_index! {
119 | |     /// A DefIndex is an index into the hir-map for a crate, identifying a
120 | |     /// particular definition. It should really be considered an interned
121 | |     /// shorthand for a particular DefPath.
...   |
128 | |     }
129 | | }
    | |_^ not a member of trait `std::iter::Step`
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `add_usize` is not a member of trait `std::iter::Step`
   --> /home/topecongiro/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_span-658.0.0/def_id.rs:118:1
    |
118 | / rustc_index::newtype_index! {
119 | |     /// A DefIndex is an index into the hir-map for a crate, identifying a
120 | |     /// particular definition. It should really be considered an interned
121 | |     /// shorthand for a particular DefPath.
...   |
128 | |     }
129 | | }
    | |_^ not a member of trait `std::iter::Step`
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `sub_usize` is not a member of trait `std::iter::Step`
   --> /home/topecongiro/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_span-658.0.0/def_id.rs:118:1
    |
118 | / rustc_index::newtype_index! {
119 | |     /// A DefIndex is an index into the hir-map for a crate, identifying a
120 | |     /// particular definition. It should really be considered an interned
121 | |     /// shorthand for a particular DefPath.
...   |
128 | |     }
129 | | }
    | |_^ not a member of trait `std::iter::Step`
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `replace_one` is not a member of trait `std::iter::Step`
    --> /home/topecongiro/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_span-658.0.0/symbol.rs:1034:1
     |
1034 | / rustc_index::newtype_index! {
1035 | |     pub struct SymbolIndex { .. }
1036 | | }
     | |_^ not a member of trait `std::iter::Step`
     |
     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `replace_zero` is not a member of trait `std::iter::Step`
    --> /home/topecongiro/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_span-658.0.0/symbol.rs:1034:1
     |
1034 | / rustc_index::newtype_index! {
1035 | |     pub struct SymbolIndex { .. }
1036 | | }
     | |_^ not a member of trait `std::iter::Step`
     |
     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `add_one` is not a member of trait `std::iter::Step`
    --> /home/topecongiro/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-rustc_span-658.0.0/symbol.rs:1034:1
     |
1034 | / rustc_index::newtype_index! {
1035 | |     pub struct SymbolIndex { .. }
1036 | | }
     | |_^ not a member of trait `std::iter::Step`
     |
     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

Yeah, that'll be my change. rust-lang/rust#69659

Superceded by #4184

Well, someone needs to PR the changes to master as well, I suppose.


Toolbox v1.4 failure

Tried to perform toolbox install on mib2 rebooted a couple times and then left me on this screen. Still have communication through vcds, have check svm fault. Thank you for your time just got all this together in 2013 Volkswagen hybrid,

was just trying to remove component protection.

My apologies with this screen

Just press cancel and enjoy. Do svm afterwards if you want

I'm so sorry to waste your time. Patch complete, that was flawless thank you very much! Have a great day!


#update

#update
Originally posted by @jereytucker in https://github.com/MicrosoftDocs/azure-docs/pull/92966#pullrequestreview-1051669493

Since this issue appears to have been opened as a duplicate, we will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Fix Recursive fetch after new reformat option

After integration of feediron/ttrss_plugin-feediron#199 for having feature to reformat found subsequent article links, recursive multipage handling mode is failing.
This commit fixes the recursive loop.
Fixes feediron/ttrss_plugin-feediron#201
Please answer the following questions for yourself before submitting a pull request. YOU MAY DELETE UNUSED SECTIONS.
NOTICE!!!
All rule submissions should be done in the https://github.com/feediron/feediron-recipes repository.
Bugfix/Enhancement

[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you successfully ran tests with your changes locally?

Tests executed
Test 1
Configuration:
{
        "type": "xpath",
        "xpath": "div[contains(@class, 'article-content')]",
        "multipage": {
            "xpath": "nav[contains(@class, 'page-numbers')]\/span\/a[last()]",
            "append": true,
            "recursive": true
        },
        "modify": [
            {
                "type": "regex",
                "pattern": "\/
\\s*
.*?(?:<figcaption.*?
(.*?)<\\\/div>.*?<\\\/figcaption>)?\\s*<\\\/figure>\\s*<\\\/li>\/s",
                "replace": "

$2<\/figcaption><\/figure>"
            }
        ],
        "cleanup": [
            "aside",
            "div[contains(@class, 'sidebar')]"
        ]
    }

Testurl: https://arstechnica.com/gadgets/2024/05/all-the-ways-streaming-services-are-aggravating-their-subscribers-this-week/
Purpose: ensure, that recursive multipage handling is working with disabled reformat.
Test 2
Configuration:
{
    "type": "xpath",
    "xpath": "article",
    "tags": {
        "type": "xpath",
        "xpath": "meta[@name='keywords']",
        "split": ",",
        "modify": [
            {
                "type": "replace",
                "search": "\"\/>",
                "replace": ""
            }
        ]
    },
    "cleanup": [
        "amp-analytics",
        "amp-consent",
        "amp-pixel",
        "amp-ad",
        "header",
        "amp-font",
        "a[@class='link-to-top']",
        "div[contains(@class ,'amp-ad-container')]",
        "div[contains(@class ,'social-sticky')]",
        "footer",
        "aside[@id='job-market']",
        "aside[@class='aside__meta']",
        "ul[contains(@class, 'social-tools')]",
        "ol[@class='list-pages']",
        "div[@amp-access='NOT subscriber' and text() = 'Anzeige']"
    ],
    "multipage": {
        "xpath": "ol[@class='list-pages' and not(@id='atoc_line')]\/li\/a[text() != '\u203a']",
        "append": true,
        "reformat": true
    },
    "reformat": [
        {
            "type": "regex",
            "pattern": "\/\\.html$\/",
            "replace": ".amp.html"
        }
    ]
}

Testurl: https://www.golem.de/news/sony-ult-wear-im-vergleichstest-ein-erschwinglicher-kopfhoerer-der-begeistert-2405-184690.html
Purpose: Ensure, that reformat works in a non-recursive mode (all links are found and reformatted).
Test 2
Configuration:
{
    "type": "xpath",
    "xpath": "article",
    "tags": {
        "type": "xpath",
        "xpath": "meta[@name='keywords']",
        "split": ",",
        "modify": [
            {
                "type": "replace",
                "search": "\"\/>",
                "replace": ""
            }
        ]
    },
    "cleanup": [
        "amp-analytics",
        "amp-consent",
        "amp-pixel",
        "amp-ad",
        "header",
        "amp-font",
        "a[@class='link-to-top']",
        "div[contains(@class ,'amp-ad-container')]",
        "div[contains(@class ,'social-sticky')]",
        "footer",
        "aside[@id='job-market']",
        "aside[@class='aside__meta']",
        "ul[contains(@class, 'social-tools')]",
        "ol[@class='list-pages']",
        "div[@amp-access='NOT subscriber' and text() = 'Anzeige']"
    ],
    "multipage": {
        "xpath": "ol[@class='list-pages' and not(@id='atoc_line')]\/li\/a[text() != '\u203a']",
        "append": true,
        "recursive": true,
        "reformat": true
    },
    "reformat": [
        {
            "type": "regex",
            "pattern": "\/\\.html$\/",
            "replace": ".amp.html"
        }
    ]
}

Testurl: https://www.golem.de/news/sony-ult-wear-im-vergleichstest-ein-erschwinglicher-kopfhoerer-der-begeistert-2405-184690.html
Purpose: Ensure, that reformat works in a recursive mode (while all links are found again on same page).
Fixes #201
Proposed Changes

Awesome, thanks for your work!


Versioning public resources

It would be nice to somehow inject a version code into the public resource urls.  This would force browsers to always fetch updated CSS or JS files, for example.

Done


AdvancedBan BungeeCord Plugin Permissions are not showing up as an autofill in LuckPerms Web Editor

Hi,
I have been trying to figure out this problem for a while now. I contacted the AdvancedBan support but they couldn't pin the problem down and asked me to ask the LuckPerms support.
I have a plugin called AdvancedBan (which is a custom ban plugin) which has it's own permission for player and stuff. I have installed LuckPermsBungee & AdvancedBan on my BungeeCord Plugins folder, and 3 LuckPermsSpigot files on my backend spigot servers.
Usually with LuckPerms if I open the editor, I can set permissions and create groups all in the web editor. When I add a permission, usually the web editor will try to autocomplete the permission I intend to modify. I can see that permission like EssentialsX, LuckPerms, and vault are all showing up which is good, but for some reason I can't see any AdvancedBan permissions in the LuckPerms web editor. Even when I try to manually type one of the permission, for example ab.ban.perma, once I apply the edits, it still doesn't seem to work. I tried contacting advancedban support but they couldn't narrow it down to see what the problem is.
If anyone could help, or is in the same position could you please offer any solutions?
Thanks,
Shreyas Ayyengar

The permission autocompletions don't sync between servers (or between Spigot / Bungee).
So, if you run /lp editor, it won't show completions for plugins installed on your proxy, and if you run /lpb editor, it won't show completions for plugins installed on your backend Spigot servers.
There's also no way for permissions to be registered as such on BungeeCord, so LuckPerms will just pick them up over time as plugins check for them.
Hope that helps :)


helper for use within django rest fw

dear #125 solves the issue like this:
def get_avatar(self, obj):
       """
       returns url for avatar
       """
      return avatar_url(obj.user)

but its not very pythonic to use a templatetag inside a serializer. any proper helper would be great!

Closing as it is unclear what is being asked for. @goodmind @patroqueeet please provide PR.


Feature request: trigger vault backup manually

First up, loving the plugin so far! Exactly what I needed for my workflow.
Personally, I would to be able to manually trigger the vault backup within Obsidian. My vault is hooked up to my website so rather than constantly backing up (and triggering new builds each time) every x minutes, it would be nice to be able to write a post and then push the changes within Obsidian when I am ready to publish.
You could do this from the terminal/git client but for me that circumnavigates the biggest convenience of this plugin which is managing everything within Obsidian.

Hello.
It's availiable in Command palette (Ctrl + P):

Silly me, did not catch that all. That's brilliant, thanks!


Add API to compile from source string

New API analogous to clBuildProgram that compiles from source strings.
Contributes to #242

Refactored ArgKind to expose the enum externally
Formalized PodUBO as an ArgKind, but plumbing is minimal still
Added an initial version of data structure for descriptor map entry
ostream operator writes current desriptor map
new api populates SPIR-V and descriptor map in memory
SPIRVProducerPass reworked to populate the descriptor map data structure

Tested against unit tests and clvk (see https://github.com/alan-baker/clvk/tree/use-clspv-api)

I'm becoming confused about the purpose and structure of this project. clspv self-identifies as a prototype compiler for a subset of OpenCL C to Vulkan compute shaders. That's very different than providing a library or API for applications to use to compile and build OpenCL C programs as Vulkan compute shaders. I'm concerned that the purpose, goal, and direction of clspv is being subtly changed in ways that will eventually prove to be conflicting.
The goal of providing APIs and libraries that allow applications to more easily use and consume the output artifacts of clspv's compilation is a good goal. The goal of providing APIs and libraries that allow applications to more easily use clspv in a manner similar to the way they use existing OpenCL APIs is a good goal. Neither of those goals are tightly aligned with the goal of creating a tool that compiles a subset of OpenCL C to Vulkan compute shaders.

I've pulled this locally and tried to run the OpenCL conformance tests. Out of give or take 400 tests usually passing for me in my quick set, only 19 pass with this change and your clvk branch. Most of the test binaries just crash before reporting results. The first two I've looked at crash with the same message:
clspv: for the -simplifycfg-sink-common option: may only occur zero or one times!

This confirms my fear: crashing or terminating the process will no longer be acceptable. A quick grep shows that there are at least 75 calls to llvm_unreachable that will need to be taken care of (and a few more asserts). Asking for these to be turned into controlled errors in one go just isn't realistic so I suggest we keep the compilation API as a build option in clvk and work through these over time. This leads me to the next question: have you given any thought as to how you want to handle errors in passes? I've tried to play with some of the error handling features of llvm (install_fatal_error_handler + report_fatal_error) while trying to solve #186 but this becomes a bit more involved when everything is running in the same process.

Ok, I've been testing with the simple tests so far. I will look into invoking a compile multiple time in a process and track down those errors.

@alan-baker That's made a big difference already. 140 tests passing for me. The binaries now seem to be crashing mostly in the passes.


How to get the probablity in each multiclass?

other than the max bucket from argmax, can we also have the probabilities for each class? currently the prediction often have a lot negative values and I don't know what would be the right way to convert them to probabilities.

The predictions are logits. To convert them to probabilities, use softmax:
import torch.nn.functional as F

logits = model(x)
probabilities = F.softmax(logits, dim=-1)


miniAMR crashes with BigSim

Original author: Nikhil Jain
Original issue: https://charm.cs.illinois.edu/redmine/issues/936

miniAMR runs fine with AMPI, but crashes when run with BigSim, even when vp = p.

Original author: Nikhil Jain
Original date: 2015-12-28 23:14:48

Fix pushed in :  ~~https://charm.cs.illinois.edu/gerrit/969~~ https://github.com/UIUC-PPL/charm/commit/7daea259e93be31e385d7fb2675aab1c4309e499
BigSim does not use the regular Charm path for scheduling and picking the messages.


Handling of multiple Concept Descriptions

Dear Aaron,
I have noticed that the aas-gui handles just the first SemanticId of a SM/SME:
https://github.com/eclipse-basyx/basyx-applications/blob/543972c80f941b785b5e0c839f95f021a664c340/aas-gui/Frontend/aas-web-gui/src/mixins/SubmodelElementHandling.ts#L409

Fix display of SemanticIds:
Before:

After:

Fix display of empty ConceptDescription:
Before:

After:


Enable travis-ci

As a code reviewer, I access a report on the results of unit/functional tests and pep8 verification for each submitted commit/PR.

We can use https://github.com/HewlettPackard/python-hpOneView/blob/master/.travis.yml as a model, enabling to python 3.5 though.
I also think we need special privilege to enable travis at: https://travis-ci.org/HewlettPackard/oneview-redfish-toolkit (would you mind taking a look at that, @bsoutham ? If you open this logged in with you github account an "activate" button should appear as far as I remember...)

travis-ci has been enabled on the repo


Rename lr to learning_rate

Rename lr to learning_rate

@tilakrayal - please check and fix the Notebook lint errors.


[PE-D] Email address validity

This is a feature flaw inherited from AB3
Email addresses without the ".com" behind are invalid, so your application should ideally check for that as well beyond just checking for the "@" domain.

Labels: type.FeatureFlaw severity.Medium
original: myc37/ped#9

Not a bug


Search for episodes in TV shows

Version: 3.0-SNAPSHOT
Build: 2018-07-01 00:21
OS: Linux 4.15.0-22-generic
JDK: 1.8.0_171 amd64 Oracle Corporation
What is the actual behaviour?
Within the TV shows, I search for an episode. The results are shown on TV show level.
What is the expected behaviour?
When I get the results, they should be unfolded down to the episode level. If I get several results, this would help me to get an overview at once, and avoid many clicks.
In the search field I should be able to clear the field with one click.
Steps to reproduce:
Additional
Have you attached the logfile from the day it happened?

ok, so an auto expand to current search result.
Seems reasonable to do so, dunno how hard this might be on technical side ;)
thx for reporting

So I wish you good success with this :-)

I've implemented the enhancements for the search field, but I have problems with the automatic expansion..
the filter does not actually know, where the search result was in the tree path:
if you search for 24, you probably get the hit on the show level - expanding all seasons and episodes of this season would not be right..
what about to implement the expand all feature to a more prominent place then the popup menu?
btw: If I do a search in my development software, the search results do not get expanded either..

If you expand some tv shows before the search, the results will be expanded as well. So a way to expand all tv shows with one command would be helpful.

After a search the tv shows should not be collapsed automatically. So the expanded tv shows would be available for another search.

expand all/collapse all is already available (context menu)

expand all/collapse all is already available (context menu)


Documentation site improvements 🎨

Hello, it's me again,
As I said in the last PR, I wanted to play around with the docs UI, so I actually did after you merged, but got busy with other things, I didn't make any changes since so I guess I was done playing with it and might as well open a PR now.
I basically kept the layout you went with and had fun polishing it for a few hours.
The changes are mostly Tailwind classes, I usually use Windi so there are a few things I couldn't do, like hover/focus states, without bloating the classes.
I added 2 simple examples to test some things with the list and unicode characters so it's more visual ◬ and, if you do add more examples, it's fun to pick which character could represent what sketch.
I also used this for the sliders as it's way easier to work with, I actually made a logo for them too since I use it regularly.
It's been a week, so there are probably other minor things I didn't mention, but that's pretty much it, hope you like it 😃

@rbrdl wow, this is seriously fantastic 😲  Incredible work; I love it! Thank you for the love and effort you put into polishing this project up, I greatly appreciate it!

ooo we can also probably update the gif in the README with the polished sliders and such that you've added!


Type error when using int as query parameter

The type of queryParameters inside Uri.https is Map<String, dynamic>? but the code below will cause an exception (assuming the URL is correct):

TypeError: 1: type 'int' is not a subtype of type 'Iterable<dynamic>'

import 'package:http/http.dart' as http;

void main() async {
 await http.get(Uri.https('example.org', '/path', {'q': 1}));
}

If the parameter type must be an Iterable<dynamic>, please make it so.
P.S.: I've browsed the source code and the problem lies deep down inside Dart's core. The sky_engine package (which is now obsolete) is responsible for making queries and it's devs have commented the type the queryParameters should be. It's Map<String, String>? or Map<String, Iterable<String>>?.

There are a few APIs that have looser static types than what they accept at runtime because we don't have any way to express the type in Dart. The queryParameters argument to Uri constructors is one place where this happen.
The doc comment does call out this restriction.
https://api.dart.dev/stable/2.16.1/dart-core/Uri/Uri.html

A value in the map must be either a string, or an Iterable of strings, where the latter corresponds to multiple values for the same key.


d as a literal suffix is a GCC extension, clang only recognises f

This fixes compilation with Clang 5. Now that TrickTrack is part of LCG I started hitting this.

@StewMH


GEODE-3421: Cleanup public API headers

Move the following out of the public API:

InternalCacheTransactionManager2PC
Log.hpp
utils.hpp

Testing:

Built on Mac/Windows
Unit/integration tests passed on Mac/Windows

What about Assert.hpp? Seems like it shouldn't be in the public API?

Ah, I think you're right about Assert.hpp.  I hadn't considered since it wasn't in the ticket.


Sorting by likes should sort by the different between likes and dislikes

Original issue from @sroy:

There is no way to sort by ( likes - dislikes ) that I can find currently, only by total amount of likes and total amount of dislikes. Something to sort by likesDiffDislikesCount() would be really nice :) I'm not experienced enough send a PR.

To implement this feature we will require to introduce additional table or add extra rows in like_counter table with additional enum type related to likes_diff_dislikes. Otherwise queries and sorting in runtime will be significantly slow on big databases.

Another one naming could be likes_vs_dislikes.

This feature will be available after PR #24 will be merged.
$articlesQuery = Article::withReactionSummary();
// Scope will add virtual column `reactions_total_weight`
// `reactions_total_weight` equals to `likes weight` diff `dislikes weight`
// and then just simply order your models
$orderedArticles = $articlesQuery->orderBy('reactions_total_weight', 'desc');


Unable to setup a project with version 2

Note: for support questions, please use one of these channels:
https://forum.ionicframework.com/
http://ionicworldwide.herokuapp.com/
Note: for build related issues you can open up an issue on the ionic-app-scripts repo
https://github.com/driftyco/ionic-app-scripts
Short description of the problem:
Error while executing
$ ionic start  --v2
What behavior are you expecting?
Clean setup of the project
Steps to reproduce:
PS D:\SanoHub\Sanosense\Ionic> ionic start Testproject --v2
Creating Ionic app in folder D:\SanoHub\Sanosense\Ionic\Testproject based on tabs project
Downloading: https://github.com/driftyco/ionic2-app-base/archive/master.zip
[=============================]  100%  0.0s
Downloading: https://github.com/driftyco/ionic2-starter-tabs/archive/master.zip
[=============================]  100%  0.0s
Installing npm packages...
Error with start undefined
Error Initializing app: There was an error with the spawned command: npminstall
There was an error with the spawned command: npminstall
Caught exception:
undefined
Mind letting us know? https://github.com/driftyco/ionic-cli/issues
insert any relevant code between the above and below backticks

Post the output of ionic info below please
Other information: (e.g. stacktraces, related issues, suggestions how to fix, stackoverflow links, forum links, etc)

Getting exactly the same, using --skip-npm and running npm install manually helps.

Same issue here, my ionic info:
Cordova CLI: 6.3.1
Gulp version:  CLI version 3.9.1
Gulp local:   Local version 3.9.1
Ionic CLI Version: 2.1.0
Ionic App Lib Version: 2.0.0-beta.20
ios-deploy version: 1.9.0
ios-sim version: 5.0.8
OS: Mac OS X Yosemite
Node Version: v4.5.0
Xcode version: Xcode 7.2.1 Build version 7C1002

using --skip-npm and running npm install manually doesnt work:
npm ERR! Darwin 14.5.0
npm ERR! argv "/Users/rogier/.nvm/versions/node/v4.5.0/bin/node" "/Users/rogier/.nvm/versions/node/v4.5.0/bin/npm" "install"
npm ERR! node v4.5.0
npm ERR! npm  v2.15.9
npm ERR! code EPEERINVALID

npm ERR! peerinvalid The package<EMAIL_ADDRESS>does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>

Linking to https://github.com/driftyco/ionic-cli/issues/1445 as it is the same issue but that one is windows centric.

@rogiervandenberg This might be because you are running with npm v2, which I believe we'd expect to fail. Can you try with npm 3, and let us know if it works?

Upgraded my npm from 2 to 3 (3.10.8) and it works now!

Thank You. It works after upgrading npm to 2 (3.10.8)

Upgraded to 3.10.8


Added a Sign-off bot

Describe your changes
Add a Github Sign-off bot
Screenshots - If Any (Optional)
Issue ticket number and link - If Any
Closes https://github.com/devarshishimpi/staticstorm/issues/7
Checklist before requesting a review

[x] I have performed a self-review of my code.

[x] Followed the repository's Contributing Guidelines.

[x] I ran the app and tested it locally to verify that it works as expected.

[x] I have starred the repository.

Additional Information (Optional)

@Yasir761 Please complete the checks while creating the PR and requesting for a review. I have updated the text of the PR to the same.

@Yasir761 Please complete the checks while creating the PR and requesting for a review. I have updated the text of the PR to the same.

I have completed the check.


[Bug][github] option 'since' parameter doesn't work

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
The github plugin 'since' parameter doesn't work.
What you expected to happen
The github plugin 'since' parameter work well.
How to reproduce
run the github plugin by option 'since' field.
Anything else
No response
Version
main
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

@klesh for UI side this param was intentionally disabled since V12 by request of the BE team, it is not included with a request payload for JIRA blueprints currently. We would have to add a new date input field if this is needed.

@klesh for UI side this param was intentionally disabled since V12 by request of the BE team, it is not included with a request payload for JIRA blueprints currently. We would have to add a new date input field if this is needed.

@e2corporation This parameter is currently used by me in the advanced mode. whether you need to add it in the normal mode should be required to determine by @yumengwang03, @Startrekzky or @klesh.


crash:  Message from debugger: Terminated due to signal 9

take a photo on real device will crash

I test it on iPhoneX and iPad, it is works fine.
Can you provide crash log and describe the problem in detail

take a photo on real device will crash

I test it on iPhoneX and iPad, it is works fine.
Can you provide crash log and describe the problem in detail


Cache expression types in failure diagnosis.

After we call into typeCheckExpression() we need to cache the
resulting types in the constraint system type map because we later
call into code that reads the types out of the type map.
Fixes rdar://problem/30376186 as well as a couple crashers.

@swift-ci Please test


ISPN-14079 Jakarta dependencies depend on non-jakarta ones

https://issues.redhat.com/browse/ISPN-14079
As discussed in Zulip, I've created a new module for the artifacts adding the -jakarta postfix. Tristan helped listing the modules we use the eclipse converter and I've created a new module for each, with exception of extended-statistics, that even though is using the eclipse plugin it does not have any javax use. Should I create a new jakarta module for it too?
Also, comparing against the jar generated in main, the ones in this PR seems to have all the same stuff, but I dont know a good way that we can test it, so suggestions are pretty welcome.

I've just tried to create a simple project with a single dependency (org.infinispan:infinispan-client-hotrod-jakarta) and unfortunately non-jakarta dependencies are still being pulled in:
INFO] org.infinispan.playground:hotrod-authentication:jar:0.0.1-SNAPSHOT
[INFO] +- org.infinispan:infinispan-client-hotrod-jakarta:jar:14.0.0-SNAPSHOT:compile
[INFO] |  +- org.infinispan:infinispan-client-hotrod:jar:14.0.0-SNAPSHOT:compile

Additionally it is depending on the legacy jakarta.transaction:jakarta.transaction-api:jar:1.3.3:compile instead of the new jakarta.transaction:jakarta.transaction-api:jar:2.0.1:compile

Updated to use a provided scope, but I am bit afraid that I am only delegating the need to pull the non-jakarta dependencies to something else. The tree now looks like this:
[INFO] com.jabolina:playground:jar:1.0-SNAPSHOT
[INFO] \- org.infinispan:infinispan-client-hotrod-jakarta:jar:14.0.0-SNAPSHOT:compile
[INFO]    \- org.infinispan:infinispan-commons-jakarta:jar:14.0.0-SNAPSHOT:compile

In the last PR I've updated the transaction API, meaning that lots of places needed to update from javax to jakarta.
Also includes a change removing Geronimo stuff. Looks like there is no support for the transaction version we are using.

CI is back to normal. Should be good to go now.

All of the jakarta modules need to have their correct compile dependencies added. For example, hotrod-client-jakarta should depend on the netty components, and so on.

Additionally, the cdi-jakarta module should depend on jakarta.enterprise.cdi-api 4.0

Merged, thanks


Handle platform-specific newlines

Hello! Just a little patch to use platform-specific newlines instead of those specific to POSIX.

TIL! Thanks @sindresorhus!


A question about the fence.i and the fence r,r following it

Hi team,
I am a bit confused about the usage of fence.i here, which says to substitute isb on ARM, a fence r,r is also needed. BTW I cannot find the previous discussion in the memory model task group. I'm wondering what may happen  without the fence r,r following and what is the difference between single fence.i and isb.
Thanks,
Xiaolin

I have seen the description of isync I still cannot get it though -- I wonder if it means that in the software programmer's level, a fence.i must be followed by a fence r,r in usage?
Thanks in advance.

I'm hoping @daniellustig will chime in here.  My best guess is that isb implies additional semantics that often aren't necessary.  There's certainly nothing incorrect about using fence.i by itself, even if it isn't quite equivalent to isb.

On ARM, a sequence "load; compare; branch; isb; load" implies enforced memory ordering between the two loads, but on RISC-V the sequence "load; compare; branch; fence.i; load" does not.
As Andrew said, there's nothing wrong with using fence.i by itself if the intention is to flush the i-cache etc.  OTOH if you are porting from ARM code but have no information about the intention behind the isb, then inserting the fence r,r ensures the load-load memory ordering in that sequence is also maintained.

Thanks! I appreciate your help - it really helps a lot.
Thanks,
Xiaolin


fixed loading bar issue

Contains
Fixes the loading bar issue where the bar crosses its limits
How to test
Start the game and the loading bar will not overshoot
Outstanding before merging

Can one of the admins please verify this patch?

@GooeyHub ok to test

Hooray Jenkins reported success with all tests good!

Thanks for the fix @agent-q1 ! Adding you to the credits shortly
And appreciate the review and merges efforts @jellysnake & @e-aakash :-)


input-ids of block-transformer

hi,
thanks for your work !
just curious about if the input-ids of block-encoder are same with the input-ids of token-decoder

Hi, thanks for the interest! Yes–the block and token decoders both use the Pythia tokenizers, so they have the same input ids.


Output number of non steady state volumes as an IQM

It can be a valuable indicator that something is wrong.

This should be pretty trivial after https://github.com/poldracklab/mriqc/commit/a9c599471aff776e15d77fdf7b891966617adc91


option for setting the width of the grid separator

Theme Issue:

OS: Windows/Mac

Sublime Text version:3109

Materialize version: Latest

Description of issue:
Can you please add an option for users (like me ) to disable the grid separator . It stands out like a sore thumb whenever I am working with multiple groups . Having an option, to turn that grid line on or off, would sit well with everybody (people who like it and people who don't like it) .

Steps to reproduce (if appropriate):
Open multiple files in multiple groups.

Screenshot of issue (if appropriate):

This isn't really a width issue, it's more of a color issue. I'm going to have to go through each theme and choose a more appropriate color for the grid border to make sure it doesn't end up sticking out like that.

I have a theme override as follows.
  /* @ GRID LAYOUT
   * Grid style
  ========================================================================= */

    {
      "class": "grid_layout_control",
      "border_size": 0,
      "border_color": [34, 45, 51]
    },

Note that I have set the border_size to 0.
Thanks and Regards
Gagan

Yeah, setting it to 0 would remove the border completely. Do you not like it at all? Even if it were a better color like here?

Can we have both of them ?  I must admit the color looks nice but an option to not have it at all would also do me a world of good.
I apologize for being greedy.
Thanks and Regards
Gagan

Sorry about the long wait, I've gotten kinda busy with work and school especially since it's almost time for finals. I'll have this feature implemented by tomorrow or the day after.

I've changed the grid color for each theme to be more appropriate, please let me know if there are any issues. And once again, feel free to reach out to the original creator of the Material Theme if you would want a feature to disable the grid border.


Keep Rust README minimal

We have three to four places with assorted documentation on Themis and this is getting a bit hard to maintain consistency between them. Let's keep Rust README minimal so that it does not require frequent changes. Just refer to relevant pieces of documentation from it and avoid any detailed explanations.

@karenswry no worries, all these docs are scheduled to be reviewed by you during release preparations.


Where is it?

Cant find ur plugin in the plugins list.  Im on Android.

This plugin is only for desktop. There are a number of technical limitations that make this plugin basically impossible on Android.

Additionally it is not yet published in the official plugins list, so must be installed manually for now. This will change soon though

Ok, thanks for answering


Skip videos with zero comment or zero likes

there's a lot of trash videos on shorts, i've noticed that this is a common factor on most of them.

That's a good feature to add, I will def add that to the settings


CPU Usage = 0%

I guess there is a bug in the about command

Well, that is pretty cryptic, please provide more information about how you encountered this.

Okay, the issue seems to be fixed.
It now displays a CPU usage of 0.01%.
/shrug


Added a Prefix Sum based Sorting Problem and its Solution

Hacktoberfest! 🎊🎈
🎉 Have you read the Contributing Guidelines? 🤔
Yes
📝 Description
Added a Prefix Sum based Sorting Problem and its Solution
Fixes #249 🔧

✅ Checklist

✅I've read the contribution guidelines. 📚
✅ I've checked the issue list before deciding what to submit. 🔍
[ ] I've edited the README.md and linked to my code. 📄

🔗 Related Issues or Pull Requests
Accept it under the label hacktoberfest

Hackoberfest 2024

Hi there!
I am the Mentor of this project .
Although this repo is not part of Hacktoberfest 2024, we have some great alternatives for you. Welcome to SkillShow, a repository focused on skill enhancement!
Guidelines:
Please adhere to the existing guidelines.
No additional rules, thanks!
Check it out here: SkillShow.
Note: Start by creating an issue. Once it’s assigned to you, feel free to open a pull request (PR). Directly opening a PR will lead to an invalid label.
Looking forward to your contributions!


function to solve an equation

please assign me this issue for hacktoberfest24, im ready to work on it and improve the functionalities

can you assign me this?

HI @anu098jaiswal ,
@kanikaa-3018 is already working on this. @kanikaa-3018  please plan & close the issue accordingly when done


Review reported vulnerability

Github detected a vulnerable dependency in our code.

This is from our dependency on jsdom. The dependency graph is jsdom->request->hawk->vulnerable version of hoek.
In package.json, you can see that this is only a dependency in our development environment:
  "devDependencies": {
    . . .
    "chai": "^3.5.0",
    "jsdom": "9.8.3",
    "jsdom-global": "2.1.0",
    "mocha": "^3.5.0",
    . . .

Since this does not affect the production environment, this is a low priority fix for us. I think it will be possible to make it go away by generating a fresh package-lock. We may be stuck if request hasn't been updated with a fix.

The maintainer of jsdom has declined to take action.

Closed since we are no longer using the original open-ledger app


Should not ask user to jsonEncode when using the SDK

Problem
When using the SDK, before each call an object must be encoded in JSON. But the returned object are already decoded into the expected type. This lacks in coherence
Exemple
In the following example I had to JSONEncode my movie into the Data type before adding it to the document parameter of addDocuments.
When In the second request I use the method getOneDocument, I recieve my movie back not as a Movie type and not as a Data type.
It should either be Data to Data, or Swift type to Swift type.
    func testAddAndGetOneDocuments() {
        let movie: Movie = Movie(id: 10, title: "test", comment: "test movie")
        let documents: Data = try! JSONEncoder().encode([movie])

        let expectation = XCTestExpectation(description: "Add or replace Movies document")

        self.client.addDocuments(
            UID: uid,
            documents: documents,
            primaryKey: nil
        ) { result in
            switch result {
            case .success(let update):
                XCTAssertEqual(Update(updateId: 0), update)
                expectation.fulfill()
            case .failure(let error):
                XCTFail(error.localizedDescription)
            }
        }
        self.wait(for: [expectation], timeout: 1.0)
        sleep(1)
        let getExpectation = XCTestExpectation(description: "Add or replace Movies document")
        self.client.getDocument(
            UID: uid,
            identifier: "10"
        ) { (result: Result<Movie, Swift.Error>) in

            switch result {
            case .success(let returnedMovie):
                print("HELLO")
                print(returnedMovie)
                XCTAssertEqual(movie, returnedMovie)
                getExpectation.fulfill()
            case .failure(let error):
                XCTFail(error.localizedDescription)
            }
        }
        self.wait(for: [getExpectation], timeout: 3.0)
    }

Solution
I prefer that the user sends its data using its specific type (in this case Movie). Swift will most likely be used for front end matter so while I understand that it makes it more complex to add a "big json" to meilisearch, i'm not sure any user will use swift to add documents to meilisearch (maybe i'm wrong). And in the rare cases it does, the data will come from whatever form the user completed and thus the data will be in a given format (i.e: Movie) and not in a jsonString.
In this case, the function prototype will look like this:
public func addDocuments<T>(
        UID: String,
        documents: T,
        primaryKey: String?,
        _ completion: @escaping (Result<Update, Swift.Error>) -> Void) {
        self.documents.addOrReplace(
            UID,
            documents,
            primaryKey,
            completion)
    }

@bidoubiwa The problem is to create a type internally that accepts Data and Encodable, I am fighting with the compiler to find a solution.

Another problem is the JSONEncoder, there is a problem to deal with custom date formats. I am not sure how to do this.

It was decided to keep both functions in place for the given reasons:

Replacing the function  addDocuments(UID:documents:...) with  addDocuments<T>(UID:documents:...) can be breaking change.
The function addDocuments<T>(UID:documents:...) forces the developer to write Codable objects for each data set in the application, Codable objects cannot be easily created in runtime and the function addDocuments(UID:documents:...) seems to be a better alternative for data created/provided in runtime.
It will force developers with objc application to write Codable objects in Swift instead of simply using NSJSONSerialization already provided in objc that returns a NSData (transparent to Data). Knowing this, this new function addDocuments<T>(UID:documents:...) will be focused on Swift projects and will be recommended only for explicit types in applications.


A few informative questions (limitation resusrs && ui for containers )

You use limitation containers via docker-compose ( i have some problem this in vps ) ?
You use any UI panel for monitoring health containers, for control containers ( something like proxmox  )?
You use you own repo for production ready ?

You use limitation containers via docker-compose ( i have some problem this in vps ) ?

No, didn't really need to yet

You use any UI panel for monitoring health containers, for control containers ( something like proxmox )?

No, again, I don't need to. I've experimented with Rancher in its early days, but ended up creating subdirectories in /root with docker-compose.yml and supplementary files and I don't use any UI for managing containers. But you can take a look at Rancher and Rancher OS if you are interested, they are pretty cool.

You use you own repo for production ready ?

I've deployed and updated it successfully many times on physical servers, Digital Ocean's instances and AWS EC2 instances - works fine everywhere and there are no known issues with it as of right now. So yes, I consider it production ready, however, I'm not aware how many people besides me are actually running it in production (there are 50k+ pulls in Docker Hub, but I have no idea how well it represents real-world usage).


Overhaul response navigation bar

Resolves #192 (I think! ;) )
The concept of "response" is removed from the user interface, I think entirely (cc @hazelshapiro )
I felt moving survey ID to the bottom of the page wasn't as good as this option:

Note: There's some work left to clean up the database and remove the "Response" concept entirely. We don't need it. And with #217 , we may be changing the term "Survey" -> "Project". In which case, we need to update the DB anyway. And this is the time to start thinking about database migrations.

So the survey ID isn't visible anymore? That's ok, just making sure I'm looking at the right thing


Improvements

Before I start: Very cool project and cool idea!!!
here are some improvements - I also added some clippy lints and fixed them
It would be very important to remove all unwraps and handle Results with anyhow (my suggestion)
I also added some todos which could be done in the future

Shockers be fixed now! 😃

Once again, great work! Thanks!


Initial draft of interface definition

This is the beginning of an alternative to #126 using typing.Protocol to define the interface instead of an abstract base class. The test at https://github.com/astropy/astrowidgets/compare/main...mwcraig:interface-definition?expand=1#diff-06b6503d76a97db0c1f54a2065996b518f9e862f9f2fcd158fb3a04c2963d321R17 effectively checks that all of the required attributes and/or methods are present.
This does NOT include the changes in the API introduced in #126 yet (that adds a viewer attribute and renames some of the marker-related methods) or the change in #140 (renaming offset_to to offset_by and changing the behavior).
I'm leaning towards a protocol instead of abstract class because it seems to maximize flexibility: with no changes to the current ImageWidget class at all, or changes in how it subclasses, we can verify that it, at least in principle, satisfies the protocol. Different backends can subclass from whatever they want but still promise to deliver the interface.
Different implementations can choose different routes for representing the attributes and that is fine. For example, an ipywidgets-based implementation will make many of the attributes traitlets so that they can be linked together to provide synced viewers. A glue-based implementation may have some other method, and some other implementation may implement them as properties with setters.
Todo

[ ] Update interface to match changes in #126 and #140.
[ ] Update/rename/move the current ginga backend along the lines of what is done in #126.
[ ] Decide whether the interface stays in this repo (whether it is a Protocol or an ABC is irrelevant to this) or moves to its own, separately versioned repo.
[ ] Decide whether to use a Protocol or an ABC.

@pllim @eteq -- this is clearly incomplete but I'm curious to get your reaction.  It turns out that a Protocol can also be used as a superclass so the pattern ImageWidget(ImageWidgetInterface) is permitted but provides the option of not subclassing. That might help address the concerns raised by @astrofrog in #132 and by @gpdf in #93.

This is the first I have heard of Protocol, so I have no strong opinions other than it looks very TypeScripty. 😹

I only heard about Protocol a few days ago -- this may be a case of being overly enthusiastic about something shiny and new...

There is a fine line between being too strict or too flexible. Too strict, you will have a hard time adopting new backend. Too flexible, people cannot swap backend without everything breaking. But then again, at a glance, it is hard to see just how comparable this is to abstract class.
How about pushing on with some real implementation of a few important methods, so we can compare?

WIP in case my local computer combusts 😹
p.s. Hmm there are conflicts for some reason.

Hmm there are conflicts for some reason.

Fixed, thanks for catching

This has a mostly-implemented bqplot-based viewer. There are several things missing (displaying cursor position, start/stop marking, scroll_pan, likely more) but it is far enough along to get a feel for it.
Whether we end up providing a bqplot viewer, it was useful to try to implement this with a viewer that is not at all astronomy-focused. I hadn't realized how much the current reference implementation depends on the astro-specific nature of ginga.
Of the unimplemented items there are two things I don't know how to do:

Keep the markers a fixed size on the image (if we want that)
Make scroll-pan happen.

I did try this with 500k markers and it was fine when using bqplot's ScatterGL.

How do you get the bqplot image widget to display? I cannot get it to work and I don't see any example notebook for bqplot backend here.

A bit more luck showing something by accessing a hidden attribute but I can't see the data even after trying to change stretch and/or cuts. Zoom seems to do something and I can scroll to zoom in/out on it. Here is the default display:

Not sure what the issues were -- I'll have a chance to do more work on this tomorrow afternoon.

A few reactions:
In concept I really like this. (Although I might also be falling into the "new and shiny" trap...)  I do very much like the fact that this will make it a lot easier for backend implementers to have their astrowidgets backend be the same class as their "normal" object if they want to. It's technically also possible with a abstract class like #126, but I think this is better in that there's less to go wrong in initialization, etc, given that widget implementations already be embedded in complex class hierarchies.  And as #126 shows, we really are more interested in astrowidgets as an interface API than a "is a/has a" relationship that subclasses are nominally supposed to follow.
Now the downside: the Protocol machinery itself really only is about type/name-matching.  And for astrowidgets, I think we're at least as interested in behavior-matching. Abstract classes give more opportunities to check "behavior".
So what I think I settle on is I like this but only with the addition of some clear machinery that's basically "the tests to run to see if you match the interface".  Ideally this would be as simple as telling backend implementers write a unit test that looks like this:
def test_api():
    astrowidgets.<somewhere>.test_backend(instance_of_class_that_implements_the_backend)

or similar, which basically does what this PR's two api test suites do. Of course that still doesn't check that a UI has the correct behvaior, but it's probably just too complex  for us to implement any sort of meaningful generic UI-testing tool.

In some out-of-band discussion, @mwcraig, @pllim, and I concluded we want to go in this direction at least to start with over a abstract/subclass approach like that from #126.  But some of the machinery from #126 should be ported over here - especially the documentation of the API/intent and the testing framework from there.

The underlying design has been superseded by #162 but I am leaving this open in case there are some stuff here you still want to move to follow-up PRs after that one. Turning this into draft for now.


Support for passing option to date-fns (useAdditionalWeekYearTokens)

Hello,
Starting with date-fnsv2, format and parse use Unicode tokens. More information can be found  on date-fns docs
The problem we are facing is that we can't use dateFormat="ww/YYYY". As a workaround, we replace YYYY with YYY.
Currently, react-datepicker does not support passing an option for allowing useAdditionalWeekYearTokens. If we were able to pass this additional option to date-fns the problem would not exist.
I've created a codesandbox showing the problem, to reproduce uncomment line 17.
link

@martijnrusschen

See
https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
Year in “Week of Year” based calendars in which the year transition occurs on a week boundary; may differ from calendar year ‘y’ near a year transition. This numeric year designation is used in conjunction with pattern character ‘w’ in the ISO year-week calendar as defined by ISO 8601, but can be used in non-Gregorian based calendar systems where week date processing is desired. The field length is interpreted in the same was as for ‘y’; that is, “yy” specifies use of the two low-order year digits, while any other field length specifies a minimum number of digits to display.


Use File Descriptor for loading presets

Test: Start Orbit -> Load presets

(forgot to fix the saving presets part). working on it.


Track systemProps changes in DefaultGradlePropertiesLoader

Fixes #19184

@bot-gradle test acc

I've triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test and merge

I've triggered a build for you.


fix(ipfs-coord-esm): Updating to v9.1.13

:tada: This PR is included in version 4.2.6 :tada:
Your semantic-release bot :package::rocket:


Don't add DiagnosticsTelemetryModule more than once.

Fix Issue #1111
Checks if DiagnosticsTelemetryModule is already in the modules list before adding it in TelemetryConfigurationFactory.Initialize

[x] I ran Unit Tests locally.

@cijothomas done. #readytomerge