no way to support setuptools plugin option in setup.cfg metadata

while experimenting with setuptools_scm metadata i discovered that there doesn't seem to be a way to add setup.cfg metadata support to setuptools plugins

I think I generally get what you mean, but @RonnyPfannschmidt can you provide a minimal example of what you have in mind?

@RonnyPfannschmidt Well, plugins can put their configuration wherever they want, but there's standard library support for setup.cfg, but not for pyproject.toml, and you're asking for more stuff to go into setup.cfg in the first place...
In any case, I'm just saying there's already a well-established place for tools to put their configuration in setup.cfg, and usually when options are added to setup.cfg, they go under a heading not present in setup.py - note that setup() doesn't look like this:
setup(metadata=dict(
    name='mypkg'
    version='0.0.1'))

The fact that setup() takes a bunch of loose keys for the configuration doesn't mean that setup.cfg can't expect those keys to be namespaced or categorized. To me the natural place to namespace such keys would be under tool-specific configuration headers.
Now, I don't know how pytest implements this [tool:pytest] parser. If it's super inconvenient it makes sense for setuptools to provide some hooks for it, but I think that that's the rough shape that the solution should take, and it's already available today.

What setuptools_scm needs is not a place to define configuration, but a way for declarative config to trigger the hook that would import setuptools_scm and allow it to customize the Distribution.

@jaraco Ah, these things are registered at install-time? For some reason I thought you manually imported your plugins in the install script.
That changes things pretty significantly, and I'm much closer to agreeing that this should be done. Maybe something like this:
[setup_plugins]
use_scm_version=True

I'm pretty much 90% sold on this. The only reservation I have is that it makes it so that the "declarative" configuration file is basically invoking arbitrary scripts, which sorta moves the needle away from it being declarative. Still, I think there's a case to be made that, used sanely, this is no different from having more features in setuptools itself, but allows for those features to be broken out into extensions to allow those features to be "opt in".

Two questions regarding this:
1.) How likely is it to be permanent now. In my company, we would like to write a module that makes heavy use of this functionality, but I won't if it's likely to be changed much or taken out in the future.
2.) How do I actually set a priority for a finalize_options entrypoint?
[setuptools.finalize_distribution_options]
testfin = mypackage.integration:finalize

and finalize is a function. I tried this:
# In mypackage/integration.py
def finalize(dist):
    # do something with dist
finalize.order = 99

but the order is still 0.

1. How likely is it to be permanent now. In my company, we would like to write a module that makes heavy use of this functionality, but I won't if it's likely to be changed much or taken out in the future.

I'd say unlikely. If you're motivated to lock in this behavior, I'd accept docs or tests updates to establish the behavior more officially.

2\. How do I actually set a priority for a `finalize_options` entrypoint?

This behavior is broken. Would you open a new issue? As I review it now, I see that the sort happens before the callable is resolved. So that bug will need to be fixed before you can rely on it.
I agree, your patch would likely address the issue, though it causes load() to be called twice. I'd recommend another approach that calls load() just once.
I would omit the int() cast. Any value that's comparable to others should be suitable (including float('inf'), -float('inf'), other floats, or even a custom object that can compare as greater or equal to numeric values.

Btw. if it's an issue, it would not invalidate @jaraco random suffle test from #1877 as that did not rely on the order attribute, but suffelled directly.

I don't see any tests in that PR, but I'd welcome them.

Okay, I will open an issue and then very likely do a PR to fix it tomorrow.

I didn't mean test in the pytest / software testing kind of way. I was referring this bit:
        eps = list(pkg_resources.iter_entry_points(hook_key))
        random.shuffle(eps)
        for ep in eps:

But never mind, not that important.

@pganssle note that pytests [tool:pytest] is fundamentally broken and scheduled for removal as the default parser for setup.cfg and pytests own config parser fundamentally differ
i'm asking for a mechanism similar to the distutils.setup_keywords mechanism - it should be some kind of distutils.config_section, setuptools.metadata.key and setuptools.options.key to allow extensions to get their own data in shape

@Thebaldguy15 By quoting that paragraph, are you attempting to revive that conversation.
Since we had this conversation, it's my understanding that the best recommendation has shifted to asking each plugin to resolve their own configuration as addressed in #2155. If you have further considerations that aren't addressed, please raise them in a new issue.


Show update available packages

Is your feature request related to a problem? Please describe.
huber update --dryrun
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

❯ ./target/debug/huber update -d
tracee (version: v0.2.1, source: github) -> tracee (version: v0.4.0, source: github)
kubectl (version: v1.19.4, source: github) -> kubectl (version: v1.20.2, source: github)
arkade (version: 0.6.33, source: github) -> arkade (version: 0.7.1, source: github)
minikube (version: v1.16.0, source: github) -> minikube (version: v1.17.1, source: github)
deno (version: v1.7.0, source: github) -> deno (version: v1.7.1, source: github)

❯ ./target/debug/huber update -d
tracee (version: v0.2.1, source: github) -> tracee (version: v0.4.0, source: github)
kubectl (version: v1.19.4, source: github) -> kubectl (version: v1.20.2, source: github)
arkade (version: 0.6.33, source: github) -> arkade (version: 0.7.1, source: github)
minikube (version: v1.16.0, source: github) -> minikube (version: v1.17.1, source: github)
deno (version: v1.7.0, source: github) -> deno (version: v1.7.1, source: github)


Data Collection from sensor

Hi, currently I have uploaded the apollo program to a car. May I know how can I extract the data of the sensors( continental radar) in this case from the code to a file? Which code and file contains this information? Thank you

You can find out, cyber_ recorder, detailed instructions are here:/apollo/docs/cyber/CyberRT_Developer_Tools.md,I hope I can help you, thank you.

Hi thank you for the suggestion. But may I know which kind of data am I collecting, frequency, motion etc? Is the data directly from the radar or has been processed in the Industrial Computer?

Closed due to inactivity. If the problem persists, pls feel free to reopen it or create a new one and refer to it.


renameiso mount bug

Problem:
Renaming ISOs makes them unusable for installation.
As shown:
iohyve fetch http://cdimage.ubuntu.com/ubuntu-server/daily/current/xenial-server-amd64.iso
iohyve isolist
Listing ISO's... xenial-server-amd64.iso
zfs list
SSD0/iohyve/ISO/xenial-server-amd64.iso                 671M  99.3G   671M  /mnt/iohyve/ISO/xenial-server-amd64.iso
iohyve renameiso xenial-server-amd64.iso testingCurrent.iso
zfs list
SSD0/iohyve/ISO/testingCurrent.iso                      671M  99.3G   671M  /mnt/iohyve/ISO/xenial-server-amd64.iso
iohyve isolist
Listing ISO's... testingCurrent.iso
Above shows that after renaming an ISO it is still mounted under the old name.
If you then try and install using the renamed ISO:
iohyve install renamebug testingCurrent.iso
Installing renamebug..
iohyve console renamebug
grub>
It hangs on grub due to there being no ISO available.
cat /iohyve/renamebug/device.map
(hd0) /dev/zvol/SSD0/iohyve/renamebug/disk0
(cd0) /iohyve/ISO/testingCurrent.iso/testingCurrent.iso
cat: /iohyve/ISO/testingCurrent.iso/testingCurrent.iso: No such file or directory
Solution:
Ensure new mountpoint is used:
zfs set mountpoint=/iohyve/ISO/$name $pool/iohyve/ISO/$name
Pull request #131

Going to close this.
Thanks to some very helpful guidance from @EpiJunkie I have realised that this bug no longer exists in the master.
I was testing against the latest version of the renameiso code but not the latest version of the fetch code (bangs head).


Feature request: local labels

Binary Ninja Version: 2.1.2263, 4d2bf25a
Platform: Windows 10 Version 1903
Sometimes it is desirable to have simple names for branches(especially in giant functions), e.g. loop_start, loop_end.
Problem is, the simpler name, the bigger chance I want to reuse it.
Right now I can't use the same name twice, as it'll complain"There's already symbol by name loop_end. Overwrite?"
NASM for example uses dot prefix for local labels and internally substitutes dot with last non local label:
label1  ; some code
.loop   ; some more code
label2  ; some code
.loop   ; some more code
label3  ; some more code
        ; and some more
        jmp label1.loop

Right now if you try to make label .foobar, BN will create label named _.foobar, so it's not like labels with doth in the beginning are used anyway.
If instead of underscore BN prepended function name and renamed these local labels when function itself gets renamed and did something smart if function got undefined(e.g. renamed func.foobar to _0x4201c0.foobar) and didn't render function name(so func.foobar would look like .foobar), we'd have nasm-like local labels.

Duplicate of #185


Fix: Table headers and body horizontal scrolling alignment

Could you post a screenshot of the issue this fixes?

This is a hotfix issue, so I need to merge this in with a single review.


Export the AEAD construction XChaCha20-Poly1305

https://doc.libsodium.org/secret-key_cryptography/aead/chacha20-poly1305/xchacha20-poly1305_construction

I started this a few weeks ago and stopped halfway. Picking this up again now.

Closed by #50


Volar ts plugin seems no need to drop the original response

We are using some other ts plugin to improve the DX. but it's seems conflicted with volar.
May we keep the original completion or inline complertion for ts file? That seems not affert with vue files.
I’m not 100% sure. So correct me if i'm wrong.

As far as I understand the working principle of TS plugin, it should be related to the execution order of plugins.
When the TS server executes auto-complete, the TS server will request a new getCompletionsAtPosition function from the volar TS plugin. The original getCompletionsAtPosition is replaced, so other TS plugin behaviors before this will be lost.
Unless volar returns a wrapper function to calculate the new and old getCompletionsAtPosition at the same time, but this requires double the calculation time, and I guess it will cause duplicate results in auto-complete.
I think the correct solution is to control other TS plugins to execute later than volar, so that volar will not affect other TS plugins.
Maybe just sort the plugins option of tsconfig?

I'm using extensions(both of our plugin and volar plugin) to contribute ts plugin. so there's no way to set the order. Might be a vscode issue i guess?

@Kingwl does other extensions released TS plugin module to npm?
If so you can install TS plugin to project and add to tsconfig plugins, change VSCode TS version to workspace version, and disabled all these TS plugin extensions in vscode, otherwise the same plugins may be loaded repeatedly.
If not, currently no solution as I know, you can open a feature request to vscode for this.

If so you can install TS plugin to project and add to tsconfig plugins
Yep, that's what we are doing for now.

But if you have many plugins, you have to add them to package.json and tsconfig.json. It's a little noisy.
I want to release a extension who has many ts plugins. looks like a dev toolkit. And we can easily upgrade any(or all) of them by the extension's update in vscodemarketplace
Anyway, thanks for the response!


Implement HTTPS

If possible, Spyfall should be available over https for SEO reasons (Google is giving a slight incentive for implementing https) and because implementing https will help encourage others to do the same

Just an update - on July, Google Chrome will shame sites still using http (source). A few easy methods to switch to https include using Cloudflare's SSL proxy (its free) or something like this zodern/meteor-up.

HTTPs has been implemented!


Issue #1883 - Unicode errors on string columns with NaNs

Fix and test taken from the comments on the issue.

Thanks for the fix! Overall this looks good to me, merging.

I see you have some commits in here from the presentation PR (which is fine, they'll squash out). In the future, I recommend submitting pull requests from branches. This allows you to work on more than one thing at once, while keeping your individual PRs clean. I find this to be a pretty good guide to a common git workflow: https://github.com/asmeurer/git-workflow.

@jcrist Thanks for the feedback and the pointer to the git workflow.

Thanks, merging!


added a card with button using tailwind css

PR Title
Card with button for issue
Description
This PR adds a new codepen section which contains code snippet for a card container with user profile and a button to message.
How you solved
Just added a card and a message button using tailwind CSS
Screenshots

Checklist

[x] I have Made this contribution as per the CONTRIBUTING guide in this repo
[x] I have tested in local Environment.
[x] I have made the fix as per issue converstaion
[x] I have starred the repository ⭐

@saroshfarhan
Perfect 💯 , preview looks good, merging your change

@saroshfarhan
Also if can change the allignement/style of image and card please raise seperate PRs. For those too

Thank you @jsvigneshkanna !!

@saroshfarhan Also if can change the allignement/style of image and card please raise seperate PRs. For those too

Sure, will try and make it more appealing. Thank you for the suggestion!🚀


Fix builder-fetch.sh path

Signed-off-by: Ian Lewis<EMAIL_ADDRESS>

somewhat naive question but could this script have been invoked after changing to the ./BUILDER_CHECKOUT__DIR/ here
https://github.com/slsa-framework/slsa-github-generator/blob/55d5ea5f73a1bd4b82b9faeb7e614d4fc6bd222d/.github/actions/generate-builder/action.yml#L78
?
(that way the script doesn't need to know the outer context)

Yeah, I thought about that. We could probably set the working dir.

Yeah, I thought about that. We could probably set the working dir.

I think it would be somewhat clearer, but feel free to push back: we know this one works

Yeah, I thought about that. We could probably set the working dir.

I think it would be somewhat clearer, but feel free to push back: we know this one works

I agree. I would like to keep the script context free if possible.

somewhat naive question but could this script have been invoked after changing to the ./BUILDER_CHECKOUT__DIR/ here
https://github.com/slsa-framework/slsa-github-generator/blob/55d5ea5f73a1bd4b82b9faeb7e614d4fc6bd222d/.github/actions/generate-builder/action.yml#L78
?
(that way the script doesn't need to know the outer context)

Yeah, I thought about that. We could probably set the working dir.

what do you mean by outer context? I think we need to agree on the way all actions invoke scripts for consistency. Otherwise we'll start running into subtle problems: the folders to access the source code (PROJECT_CHECKOUT_DIR) won't be accessible the same way, etc. Keeping the invocation from the default director simplifies all these complications

what do you mean by outer context?

The outer context being the action YAML that's invoking it.
OK thinking about it from that angle, I'd actually assume that scripts in internal actions should be running relative to that action, not the root of the slsa-github-generator repository

Yeah, I thought about that. We could probably set the working dir.

I think it would be somewhat clearer, but feel free to push back: we know this one works

I agree. I would like to keep the script context free if possible.

replied too late, but totally agre

what do you mean by outer context?

The outer context being the action YAML that's invoking it.
OK thinking about it from that angle, I'd actually assume that scripts in internal actions should be running relative to that action, not the root of the slsa-github-generator repository

I don't think we can assume that. Sometimes the internal Actions need to access the PROJECT_CHECKOUT_DIR. Having the working directory the top-level root means we can keep the access the same and can easily identify what's invoking: something in the project repo or the builder repo. If we remove this, I'm afraid we're going to start wondering what the working directory is, and make mistakes overwriting things we should not. We want to be sure we don't overwrite builder's code, for example.

what do you mean by outer context?

The outer context being the action YAML that's invoking it.
OK thinking about it from that angle, I'd actually assume that scripts in internal actions should be running relative to that action, not the root of the slsa-github-generator repository

what do you mean by outer context?

The outer context being the action YAML that's invoking it.
OK thinking about it from that angle, I'd actually assume that scripts in internal actions should be running relative to that action, not the root of the slsa-github-generator repository

I don't think we can assume that. Sometimes the internal Actions need to access the PROJECT_CHECKOUT_DIR. Having the working directory the top-level root means we can keep the access the same and can easily identify what's invoking: something in the project repo or the builder repo. If we remove this, I'm afraid we're going to start wondering what the working directory is, and make mistakes overwriting things we should not. We want to be sure we don't overwrite builder's code, for example.

Right, Unfortunately a lot of actions need to do something outside of their own directory in the workspace. If there is any real consistency to be had, it's probably, as @laurentsimon is suggesting, always running scripts from the root of the workspace.

Yeah, I thought about that. We could probably set the working dir.

I think it would be somewhat clearer, but feel free to push back: we know this one works

I'd like to push back for the reasons in other comments :)

Fyi, Actions don't support working-directory, so setting it will add inconsistency across scripts and Actions well

it's moot to the argument at this point. but actions do support working-directory

Fyi, Actions don't support working-directory, so setting it will add inconsistency across scripts and Actions well

it's moot to the argument at this point. but actions do support working-directory

Last time I tried it was an invalid Action, IIRC. I think it only works for the run command. I think that's what the document hints at with where the command is run.


Install script fails to install the binary

The install script fails to install the iascable binary into /usr/local/bin. No error is reported, however, the binary is not installed into the directory.
Manually downloading the binary and attempting to copy gives a permission denied error. Using sudo to copy the binary does work.  /usr/local/bin is owned by root by default.
OS: MacOS 12.3

Default permissions with MacOS is for root user ownership of /usr/local/bin.
Have modified install script to download to a temp directory then sudo to final destination if Darwin (MacOS).
However, perhaps we should create a brew tap instead for Mac?

Created a homebrew installation version https://github.com/cloud-native-toolkit/homebrew-iascable which works without needing a sudo.

brew ruby script installing iascable node script not binary. Reopening.

This still seems to be an issue, is there anyone to look at it?


Feature/asset panel element

TICKETID
Description

Still in draft but making PR to get feedback, it's quite difficult to do it in a super clean way while still allowing it to be as flexible as possible so I reluctantly went with using inheritance and an interface. I also reworked some things like how colors were handled.
But anyways take a look and share your thoughts. I'm still quite open to ideas and suggestions.

How to Test

Add steps to locally test these changes

Checklist

[ ] Tests written or updated for the changes.
[ ] Documentation is updated.
[ ] Changelog is updated.

Tested locally with the TEMP scene and it works well 👍
A couple of small things I'd suggest we could improve on:

Adding a default loader to API requests
Working out how to make it obvious that the asset list element doesn't work out of the box (maybe an error mentioning what is required, or an example scene in the Samples folder, or even some slight re-work so it can at least download assets out of the box).

Either way, it is good as it is, but the above can be improved in the future.


[Storage] Migrate test_queue_client.py to test proxy

This PR is the first test proxy migration item for the azure-storage-queue package. Therefore, it also includes changes to conftest.
The other main part of this PR is the migration of test_queue_client.py and test_queue_client_async.py 😄

API change check
API changes are not detected in this pull request.


expose inspect result

I see there's an inspect method buried in the depths of private variables. Why not expose it? Also would be great to have access to the full response rather than very limited sub-set.
I was looking for a way to retrieve an internal ip of the container on the default bridge network. Might be useful, especially without support for user-defined networks.

It's not exposed because it shouldn't be part of the public API. If you want a way to query internals of a Docker container then something like dockerode sounds like a better fit.

Why not? Knowing internal IP of the container is quite crucial during testing. Isn't it? Potentially I think one could simply use dockerode for the whole thing. But that's not the point, right?

The IP of the container is exposed via getContainerIpAddress(), as shown in the first example in the README. Whether or not it's internal is irrelevant.

It is irrelevant only if you support user-defined networks. Otherwise if one requires to launch more than one container - they can't communicate. At least I don't know how.

I mean if it was user-defined network, then they could communicate through container names (and that feature would become actually useful).

Closing this as this feature is now supported via networks (thanks again @jayarjo)
const network = await new Network().start();

const container1 = await new GenericContainer("cristianrgreco/testcontainer", "1.1.12")
  .withName("container1")
  .withNetworkMode(network.getName())
  .start();

const container2 = await new GenericContainer("cristianrgreco/testcontainer", "1.1.12")
  .withName("container2")
  .withNetworkMode(network.getName())
  .start();

const { exitCode } = await container1.exec(["ping", "-c", "3", "container2"]);


Train and evaluate a Dynamic Coefficient Model

Follow-up the issue #6 here.
Since we have already found the proper supporting case. Next step would be train and evaluate a dynamic coefficient model.
Goal

Implement the dynamic coefficient model
evaluate the performance

Implementation is done. The evaluation is tricky next step

Two way to evaluate the Dynamic Linear Regression Model
The intuitive approach is to train on one year, and use this model to predict the next year. This is, however, different from what we have in previous evaluation setting (leave-one-out).
The alternative is still leave-one-out. I hold one CA and train a model on the others. Given the new CA, I learn its coefficients w first. (Assumptions are made here)


Tests fail intermittently

Hi!
The Debian build of go-chef/chef runs the test suite, and it has been found that it randomly fails.
=== RUN   TestClientsService_List
--- FAIL: TestClientsService_List (0.01s)
	client_test.go:47: Clients.List returned:
		client1 => http://localhost/clients/client1
		client2 => http://localhost/clients/client2

		want:
		client1 => http://localhost/clients/client1
		client2 => http://localhost/clients/client2

or
=== RUN   TestDataBagsService_DataBagListResultString
--- FAIL: TestDataBagsService_DataBagListResultString (0.00s)
	databag_test.go:162: DataBagListResult.String returned:
		bag1 => http://localhost/data/bag1
		bag2 => http://localhost/data/bag2

		want:
		bag1 => http://localhost/data/bag1
		bag2 => http://localhost/data/bag2

I can provide more info on request.

Also, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=848055 for the Debian bug report.

Interesting. Thanks for the report.

The String functions use for loop over a map which produces output in undefined order.

Not exactly the reported problem but it is one of the sources of random test failures.

It turns out the random order is what is causing the reported problem.
if response.String() != want && response.String() != want2 {
t.Errorf("Clients.List returned:\n%+v\nwant:\n%+v\n", response.String(), want)
}
What gets displays and shows stuff that should match is from a different call to String() and is not what was checked in the if statement.

Should by fixed now.


Add alias "ht" to /om Hidden Type

Please actually test before making a pullreq.

@shanghaii you could fix this PR by adding a new commit that fixes the space, rebasing these two commits and melding it into one with squash and updating the branch on your fork. But since it's a pretty acceptable and tiny changed, I've done it myself here: ed8ec7d49913eecffbef7eb425ba3d2b78e207c7
You can test your code changes with npm test, using it in the directory of the repository.

Noted.


fix: resolve ENS avatar consistency

Breaking Changes
N/A
Changes

fix: updated account button component to handle ENS names correctly

Associated Issues
closes #1802

Closing as it has already been included in previous PR 🚀


branch-2.0 pick "Feature Support auto-partition (#24153)"

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

Not merge this PR, hold some time, we need to run this PR on master many times.

ok, will reopen this pr after fully tested on master

use a seperate branch

not merge this feature in 2.0


On "error" event not possible to set error object as response body

As mentioned in #464 at point 2 of the first post.
On "error" event it's not possible to set the error object as response body.
Example 1
app
  .on('error', function (err) {
    this.body = err;
  });

The code above generates this error:
Unhandled rejection Error: Can't remove headers after they are sent.

@juliangruber mentions this can be achieved through middleware (before any other middleware).
Example 2
app.use(function* (next) {
  try {
    yield next;
  } catch (err) {
    this.body = err;
  }
});

Still, I don't fully understand why the code in example 1 doesn't work, and I think it could be desirable to use the standard centralized error event listener, deciding within it how to handle different cases (which might include sending the error object in the response body).
Thoughts?

.on('error')'s this is app. you're setting app.body = err.
this.body = err should work, but you should try console.log(new Error('some error!')) javascript is fun and doesn't make all the properties enumerable.

actually it is possible to send error object or message as response body in app's error event.
var koa = require('koa')

var app = koa()

app.use(function* () {
  if (this.path === '/error') return this.throw('oops, something wrong!')
  this.body = 'everything is ok'
})

app.on('error', function (err, ctx) {
  console.error(err.stack)
  if (!ctx || ctx.headerSent || !ctx.writable) return

  ctx.writable = false //  interrupt `ctx.onerror`
  ctx.status = err.status || 500
  ctx.res.end(err.message)
})

app.listen(3000)

but i think it is not the best practise.


Billing: canceled contracts are never deleted from billing

Canceled contracts are never deleted from their billing cycles. There is a disconnection between a contract and it's billing cycles and therefor not possible to remove it from billing.

The only possible temporary solution is to scan the entire billing index storage map and remove all occurrences. @renauter thoughts?

a better solution would be to save the billing index on the contract itself, that way we know at which position we need to remove if canceled

Another temporary solution would be is to let the offchain worker trigger a bill extrinsic when a contract is canceled and resolves to None, can be implemented in: https://github.com/threefoldtech/tfchain/pull/702

the last comment will be implemented in #702


Reports no duplicated findings in empty ruleset

Closes #1605

@3flex I'm sorry. I want to clarify some things.

Apologies, slight issue with running tests in the IDE - new test in EmptyBlocksMultiRuleSpec does flag the issue

Yes, it works as expected in my opinion.

but the new test in EmptyClassBlockSpec passes without any other code changes, so that one doesn't flag it.

Yes, because the rule EmptyClassBlock itself works. The issue occurs in the EmptyBlocksMultiRule multi rule, where detekt determines how to call and visit the EmptyClassBlock rule and all the others. The logic for calling the multi rule was simply wrong.

I think the tests will need to be altered somehow to make sure they actually pick up the unintended behaviour to avoid future regressions.

I agree. I think the multi rule for calling and visiting the rules should be tested more.


audio player issue

Getting an issue where the audio stops playing after awhile. One surah it was after 16 mins another one it was after 30mins #bugreport
raised by robjama

Hmm very weird :S why would that happen lol

example error:
 Failed to load resource: net::ERR_CONTENT_LENGTH_MISMATCH
http://download.quranicaudio.com/quran/abdul_wadood_haneef_rare/028.mp3

I got the following error and the audio stopped playing

@ahmedre still getting 412s?

thanks @faisalkhan1222 for the heads up. we are getting 412s and not sure why!

@mmahalwy @ahmedre safari and firefox work, chrome issue.


Typo in Basic Auth tutorial

https://github.com/NancyFx/Nancy/wiki/Basic-Authentication
Makes mention of IUserMapper but then goes on to use IUserValidator in the bootstrap call. I believe IUserValidator is the correct one.

I'm also confused with the IUserMapper of this wiki page. Its intro states :

For a full working sample, please refer to the Nancy.Demo.Authentication.Basic  project in the Nancy solution.

But this project doesn't implement IUserMapper. I searched for an hour or two but couldn't find any implementation example of Nancy basic authentication.

@SyedWasiHaider updated the docs 👍
@MamboJoel the IUsermapper is only available in 1.x and was replaced by ClaimsPrincipal in 2.x to let you flow credentials into your Nancy application from the outside


HOHQ Mesh import

Closes #39
Summary
Here we allow the user to import a mesh generated with HOHQ. The file format must be set in HOHQ to be ABAQUS which is not the default. Once HOHQ has generated the .inp file we can then import with the following interface.
coarse_grid = coarsegrid("out/IceCreamCone.inp")
New interface showcased in: examples/grids/hohqmeshimport.jl

Great! Thanks for the feedback. Ill add some tests.

I added a failing test and fixed problem in the next commit.

Looks great!  I just pushed a couple of minor changes.  If things pass I'll merge it later today.


Update version to 0.1.0

Before submitting

[x] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure to update the docs?
[ ] Did you write any new necessary tests?

What does this PR do?
Fixes # (issue).
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

let's merge after this: https://github.com/Lightning-AI/stable-diffusion-deploy/pull/184


Problem with certain filenames.

2 example filenames:

index.1234.css
index.4321.css

For both of this files there will be produced conflicting function definition "getIndexFile()", so it will not be able to compile. I am afraid that it also applies to the extensions.

My suggestion is just to use underscores instead of dots in file names.

My suggestion is just to use underscores instead of dots in file names.

the files is generated by another piece of software, even if it could be possible there is still case of two files having same extension which is not good

Interesting. Is there a way to mass-rename the dots to something else? And then just use the extension-less files as if they were .css files (or whatever they were in the first place). This could result in index_1234_css being used as if the file was .css.

Interesting. Is there a way to mass-rename the dots to something else? And then just use the extension-less files as if they were .css files (or whatever they were in the first place). This could result in index_1234_css being used as if the file was .css.
FYI I'm not a bin2cpp developer. I'm just trying to help.

https://github.com/MKlimenko/embed
For now I found 'embed' as better solution. It doesn't have this issue because it names file headers with unique ids.

Hi thank you for showing interest in bin2cpp and providing feedback. Much appreciated.
I was already aware of this problem. It was already partially discussed partially in #51. The problem was
I am assuming that you are using --dir option but as a temporary workaround, you can switch to single bin2cpp calls for each of these file. For example:
bin2cpp --file=index.1234.css --output=.\outdir --headerfile=testissue56.h --identifier=index_1234_css
bin2cpp --file=index.4321.css --output=.\outdir --headerfile=testissue56.h --identifier=index_4321_css

which will result with unique identifiers for both files.
Let me clarify my point. What I suggest is to still use the --dir option and convert to c++ most of the input files in your scenario. For files that creates duplicate identifiers, run a single pass of bin2cpp and manually specify the identifiers so that no conflict is generated when compiling.
I understand this is only possible if you are dealing with a fixed set of file names (files with known file names).
I do plan on updating bin2cpp this week and implement multiple fixes, including this one.

The getFunctionIdentifierFromPath() function which generates a valid c++ identifier based on the path of a given file should be updated to be more robust. This option is mainly used with the --dir command. It is not uncommon that two files generates the same identifier. Without a proper unique identifier generation, the --dir option have a low interest.
More specifically:
Fix existing bugs:

There is a bug where a file named index.1234.css generates the identifier getIndexFile(). In other words, the .1234 part of the filename is lost. This is incorrect and the expected identifier should be getIndex_1234File() or getIndex1234File().
If there is another file called index.4321.css, this bug results in the same identifier for both file and prevent compilation of the generated files.  Upon fixing the first problem, this won't be an issue anymore. However, the problem will rise again with two files that have the same name but different extension. For example, index.4321.css and index.4321.js. Both files will generates the identifier getIndex4321File().

Increase robustness
A global dictionary should be created to remember previous identifiers. If two files generates the same identifier, a counter value (or something similar) should be automatically appended to new identifiers.
This is also required for implementing #51 since two files with the same name but stored in different folders will generates the same identifier.

I have fixed the first issue (identifier conflicts for index.1234.css and index.4321.css) in branch feature_issue56 with commit 0b09348c2b628efc273d2f58777cbfc2472d9e12. If 2 file path resolves to the same identifier, "_[counter]" is appended to the second identifier. Look at the unit tests for examples.
This fix now provides unique identifiers which is pretty convenient.
For example, you can now encode directories with the following structure:
───www
   │   index.html
   │
   ├───blog
   │   │   index.html
   │   │
   │   ├───how-to-create-a-web-site
   │   │       index.html
   │   │
   │   └───using-bin2cpp
   │           index.html
   │
   ├───contact
   │       index.html
   │
   └───home
           index.html

If 6 files are named index.html, it creates function identifier such as getIndexhtml_5File().
This is my first question. I think these are not the prettiest identifiers. Which of the following strategies should I choose ?

Keep using getIndexhtml_5File() (appending an underline and then a counter).
Do you think that removing the underline is better ? Do you think getIndexhtml5File() would be more appropriate ?
Another option would be to create identifiers that includes the directory path. For examples, getWwwIndexhtmlFile(), getWwwBlogIndexhtmlFile(), getWwwBlogHowtocreateawebsiteIndexhtmlFile(), getWwwContactIndexhtmlFile(), getWwwHomeIndexhtmlFile(). But if I go this way, the identifier names might get too long or harder to understand when there are no conflict. I think an identifier can get up to 2048 characters in length.

Which strategy is more appropriate in your opinion ?
Another problem is the generated output file names. All 6 generated files are named index.h. They all override each other and only the last one remains. For robustness, I think a dictionary-like solution is required to prevent file name conflicts. Again some strategies could be implemented:

Keep outputting all files in the same directory (specified with --output). Use a dictionary to prevent file name conflicts to get file names such as index_1.h, index_2.h, index_3.h... With this option, the function identifiers and the output file names would be matching. For example, file index_56.h would have the identifier getIndex_56File().
Create otuput files that includes the directory path. For example WwwIndex.h, WwwBlogIndex.h, etc...
Keep the input directory structure in the output directory. For example:

[--output]
  └───www
      │   index.h
      │
      ├───blog
      │   │   index.h
      │   │
      │   ├───how-to-create-a-web-site
      │   │       index.h
      │   │
      │   └───using-bin2cpp
      │           index.h
      │
      ├───contact
      │       index.h
      │
      └───home
              index.h

(note those are *.h files)
With this option, the project owner (the user which uses bin2cpp) must know the path of all generated index.h files. This might be an annoying limitation.
I would really like to get your option. I think it would help make sure I take the right decision. Changing the implementation of identifiers and the output file names is a breaking changes. I need to make sure that which ever strategy I choose, it will be the one that fits most use case.

Hi. I created a new build which should fix this issue. Would you like to try it out? I think this fix actually solves the problem you mentioned. I would prefer to get your feedback before closing this issue. You can find the latest binaries with this fix at the following: Windows, Linux and macOS.

I think it's time for a new minor release/patch. My large file issue (#55) and this one got fixed, plus the new --keepdirs arg.
(2.5.0 or 2.4.1)

Respectfully, I disagree. Also note the software is at version 3.0.0 since I created a breaking change with the new way of creating identifiers. Since that would be a major update, I see no reason why to rush things out.
Please understand that I have very few hours of free time in a week and creating a release is hours I do not put on fixing issues. I would prefer not to go trough the release process multiple times in the next week or two.
I do plan to include other fixes in the next release. Before releasing a new version, I need to make sure the new features are stable (that I did not forget about something). That is the reason I asked for feedback. I also have to update documentation files and create new examples to show how to use these new features. To be clear, I created a milestone to identify which issues I do plan to fix before the next release.


fix links in tf2 main tutorials page

Links are not correctly displayed on the tf2 main page.
Signed-off-by: Shyngyskhan Abilkassov<EMAIL_ADDRESS>

@Mergifyio backport galactic foxy


Uploading on iOS version

Hi, on desktop this plugin work great!
I tried it on iOS 17.3.1 and I can't get it to work.
Similar to https://github.com/jvsteiner/s3-image-uploader/issues/9
I can record video to show my exact steps.
I used three methods:
Share option from Apple Photos app.
In this case I see dialog like on screenshot below. Selecting import to vault just adds attachment, doesn't trigger plugin. I shared photo which is in heic format with Live Photo if it changes things 🤔

Copy photo from Apple Photos app
Same as before but in share dialog I selected "Copy photo".
Pasting it in note does nothing. I mean it's no op, nothing happens or there is no indication. Same as I would be using empty clipboard I guess.
Attaching photo from obsidian
I used attachment icon on Obsidian toolbar and selected same photo as in two previous examples.
It attaches like without plugin, photo goes to attachment folder like in first variant I described.
I also tried attaching not from photo library but png from files dialog, same result.

Hi @jvsteiner , I like this plugin and unfortunately it doesn't work on iOS (Maybe Android as well).
obsidian-imgur-plugin had the same issue: https://github.com/gavvvr/obsidian-imgur-plugin/issues/13
And eventually it supports mobile version.
Here is how to debug on mobile platform: https://github.com/gavvvr/obsidian-imgur-plugin/issues/13#issuecomment-1751957417
Here is the major code changes: https://github.com/gavvvr/obsidian-imgur-plugin/commit/72db49b76ee2395358ce04f85566ca2bfbeed096#diff-5f16ac40b8ca7280fd3a3032abe2076856616ec425af2945f1e4fe04c71009b5
Do you think it's possible to support mobile version just refer to the implementation of obsidian-imgur-plugin?


[BugFix] Avoid hdfs fs manager interrupting the thread when exception occurs

Why I'm doing:
When exception occurs in hdfs fs manager, the current thread will be interrupted, causing InterruptedException or ClosedByInterruptException in subsequent code execution.
This may cause the following problem:
User backup data to a HDFS repository, and then releases the HDFS cluster. When FE starts, it will access the released HDFS cluster. If the access fails,  the current thread will be interrupted, an InterruptedException or ClosedByInterruptException is thrown and the startup fails.
What I'm doing:
Avoid hdfs fs manager interrupting the thread by clearing the interrupted flag when exception occurs.
Fixes #issue
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

[ ] This is a backport pr

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.3
[x] 3.2
[x] 3.1
[x] 3.0
[x] 2.5

Have a second look into the source code of JDK about these ClosedByInterruptException, it means the thread is blocked by a blocking IO and the thread is interrupted from waiting for that operation, in such case the underlying IO maybe still on-the-fly or fails or whatever. It may not safe to just reset the interruption and allow redo IO operations on the same thread.
We shall pursue a different fix other than just reset the interruption flag.

Have a second look into the source code of JDK about these ClosedByInterruptException, it means the thread is blocked by a blocking IO and the thread is interrupted from waiting for that operation, in such case the underlying IO maybe still on-the-fly or fails or whatever. It may not safe to just reset the interruption and allow redo IO operations on the same thread.
We shall pursue a different fix other than just reset the interruption flag.

Still doubt if it is really caused by the thread interruption. This sounds to me like if a thread is interrupted for socket timeout, it won't be re-used again for further IO operation unless the interruption is cleared manually. Didn't hear about this when doing java IO programming.
A second thought is, even it is true, we'd better move the remote IO operation to a separate thread pool or thread while replying the image, so no matter what happens to the thread, it can be destroyed soon and won't affect the main thread at all.

Have a second look into the source code of JDK about these ClosedByInterruptException, it means the thread is blocked by a blocking IO and the thread is interrupted from waiting for that operation, in such case the underlying IO maybe still on-the-fly or fails or whatever. It may not safe to just reset the interruption and allow redo IO operations on the same thread.
We shall pursue a different fix other than just reset the interruption flag.

The uncleaned interrupted flag is always a hidden danger, and any thread that calls the hdfs fs manager may be affected.

some long long discussion about this AbstractInterruptibleChannel behavior in this link: https://news.ycombinator.com/item?id=35125962
This issue should be fixed, but maybe in a different way. Concerning on the unknown impacts of clearing of the thread interruption.

some long long discussion about this AbstractInterruptibleChannel behavior in this link: https://news.ycombinator.com/item?id=35125962
This issue should be fixed, but maybe in a different way. Concerning on the unknown impacts of clearing of the thread interruption.

any suggestion about how to fix the issue ?

some long long discussion about this AbstractInterruptibleChannel behavior in this link: https://news.ycombinator.com/item?id=35125962
This issue should be fixed, but maybe in a different way. Concerning on the unknown impacts of clearing of the thread interruption.

any suggestion about how to fix the issue ?

still search and study, try to get a fully understand of the AbstractInterruptibleChannel thing.


CFT Plugin: Needs to handle nested CFTs

If I use a CFT that includes a call to launch a CFT, the plugin doesn't get the correct $StackName and this causes the following problems:

Terminates fail because the plugin is trying to destroy the wrong stack.
The StackName output doesn't work.

I've attached an example CFT and the nested CFT.
LambdaCftwithNestedVpcCft.cform.txt
create_vpc.cform.txt

As I'm digging into this a bit more, it's pretty clear to me that the root cause is because with nested CFTs the call to the API returns an array of more than 1 stack.
Without nested CFTs, the array only has 1 stack in it and I suspect CWF just digs into the one and only element for the attributes, etc.
With nested CFTs, this default behavior fails, I suspect, and so $StackName is not correctly set and the destroy/etc calls fail.
Or something like that.

This code:
  call rs_aws_cft.start_debugging()
   @gotten_stack = @stack.get()  # @stack is the declared stack resource passed to an enable operation definition
  call rs_aws_cft.stop_debugging()

The output that is produced gives strong indication that the issue is related to the return of multiple members:
2017/08/1523: 32: 01+0000: [
"Summary:\n  HTTP Request\nDetails:\n  Verb: POST\n  URI: /?Action=DescribeStacks&StackName=lambda-s3-mg-220465010&Version=2010-05-15\n  Header:\n    Authorization: ...\n    Content-Type: application/json\n    Host: cloudformation.ap-southeast-2.amazonaws.com\n    X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\n    X-Amz-Date: 20170815T233159Z\n  Body: \n",
"Summary:\n  HTTP Response\nDetails:\n  Code: 200\n  Header:\n    Content-Type: text/xml\n    Date: Tue, 15 Aug 2017 23:31:59 GMT\n    Vary: Accept-Encoding\n    X-Amzn-Requestid: ef260352-8211-11e7-8812-eda04864db36\n  Body: <DescribeStacksResponse xmlns="http://cloudformation.amazonaws.com/doc/2010-05-15/\">\n    \n      \n        \n          \n            \n              The name of the created bucket\n              Bucket\n              lambda-s3-mg-220465010-bucket-3238b2rz9rvf\n            \n            \n              VPC Name\n              VPC\n              arn:aws:cloudformation:ap-southeast-2::stack/lambda-s3-mg-220465010-VPC-1LJFR7MNRDI95/9608e630-8211-11e7-85f1-5081eaa770a1\n            \n            \n              The name of the lambda function\n              Lambda\n              lambda-s3-mg-220465010-LambdaS3Write-KUWRTG6GKIUO\n            \n          \n          \n            CAPABILITY_IAM\n         ...\n",
"Summary:\n  Unable to select by path from response\nDetails:\n  output field path = "//DescribeStacksResult/Stacks/member/Outputs/member/OutputKey" selected multiple but was restricted to a simple element by definition\n",
"Summary:\n  Known resource type\nDetails:\n  Response contained a collection of 'stack'\n"

I changed "OutputKey" and "OutputValue" to be type array instead of simple_element and this seems to be helping. Still need to test more.
But assume I'll do a PR once I have it working and tested. So you can ignore this issue until further notice.


Remove duplicate calls to bypass-local-dns.yml

bypass-local-dns.yml is now called from verify-agent-os.yml
Also added verify-agent-os.yml to smoke tests

/azp run java - template - tests

/azp run java - smoke-tests


example.unicast.AsyncSubscriberTest prints to stderr violation of rule #1.09

org.reactivestreams.tck.SubscriberBlackboxVerification#required_spec210_blackbox_mustBePreparedToReceiveAnOnErrorSignalWithPrecedingRequestCall prints to stderr:
java.lang.IllegalStateException: Publisher violated the Reactive Streams rule 1.09 signalling onComplete prior to onSubscribe.
	at org.reactivestreams.example.unicast.AsyncSubscriber.handleOnComplete(AsyncSubscriber.java:136)
	at org.reactivestreams.example.unicast.AsyncSubscriber.run(AsyncSubscriber.java:203)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

@evacchi Steps to reproduce?
./gradlew clean check
passes on both reactive-streams master and on v1.0.0 here

I came across this while testing my own implementation in the IDE. Gradle actually swallows stderr by default, but you can see the error in the report examples/build/reports/tests/classes/org.reactivestreams.example.unicast.AsyncSubscriberTest.html and clicking "Standard error":

The output comes from line 136 in AsyncSubscriber.java:
  // Here it is important that we do not violate 2.2 and 2.3 by calling methods on the `Subscription` or `Publisher`
  private void handleOnComplete() {
    if (subscription == null) { // Technically this check is not needed, since we are expecting Publishers to conform to the spec
      // Publisher is not allowed to signal onComplete before onSubscribe according to rule 1.09
      (new IllegalStateException("Publisher violated the Reactive Streams rule 1.09 signalling onComplete prior to onSubscribe.")).printStackTrace(System.err);
    } else {
      done = true; // Obey rule 2.4
      whenComplete();
    }
  }

I'll have to have a look. What kind of build tool swallows stderr by
default?!
Thanks for opening the issue, we should release a 1.0.1 release at some
point anyway and if this indeed is a bug then it would be a good candidate
for that release.
--
Cheers,
√
On Feb 1, 2016 14:41, "Edoardo Vacchi"<EMAIL_ADDRESS>wrote:

I came across this while testing my own implementation in the IDE. Gradle
actually swallows stderr by default, but you can see the error in the
report
examples/build/reports/tests/classes/org.reactivestreams.example.unicast.AsyncSubscriberTest.html
and clicking "Standard error":
[image: screenshot]
https://camo.githubusercontent.com/a5f6402c07a8b4e4514068ec9f520d541695ddf7/687474703a2f2f692e696d6775722e636f6d2f455a74354e727a2e706e67
The output comes from line 136 in AsyncSubscriber.java:
// Here it is important that we do not violate 2.2 and 2.3 by calling methods on the Subscription or Publisher
private void handleOnComplete() {
if (subscription == null) { // Technically this check is not needed, since we are expecting Publishers to conform to the spec
// Publisher is not allowed to signal onComplete before onSubscribe according to rule 1.09
(new IllegalStateException("Publisher violated the Reactive Streams rule 1.09 signalling onComplete prior to onSubscribe.")).printStackTrace(System.err);
} else {
done = true; // Obey rule 2.4
whenComplete();
}
}
—
Reply to this email directly or view it on GitHub
https://github.com/reactive-streams/reactive-streams-jvm/issues/300#issuecomment-177976051
.

What kind of build tool swallows stderr by
default?!

It doesn't swallow it. It's there in the test reports. It's just not forwarded to the console by default.

I run all test from terminal so it is unfortunate that it is silently
removed from console output :-/
--
Cheers,
√
On Feb 2, 2016 02:14, "Luke Daley"<EMAIL_ADDRESS>wrote:

What kind of build tool swallows stderr by
default?!
It doesn't swallow it. It's there in the test reports. It's just not
forwarded to the console by default.
—
Reply to this email directly or view it on GitHub
https://github.com/reactive-streams/reactive-streams-jvm/issues/300#issuecomment-178292414
.

Sure, it's a matter of taste.
Do you want the output to be sent to the console for the RS build?

I think that would be nice, is that something you could arrange?
--
Cheers,
√
On Feb 2, 2016 06:00, "Luke Daley"<EMAIL_ADDRESS>wrote:

Sure, it's a matter of taste.
Do you want the output to be sent to the console for the RS build?
—
Reply to this email directly or view it on GitHub
https://github.com/reactive-streams/reactive-streams-jvm/issues/300#issuecomment-178376984
.

@evacchi I can't seem to reproduce (no stderr output in the report)

@viktorklang will check and get back to you

@evacchi Ping

looks clean now.


googleAnalytics = '' deprecated in hugo v0.120.0

Replace with
[services]
  [services.googleAnalytics]
    ID = 'G-MEASUREMENT_ID'

Fixed on latest release.


Support configurable gCTS DevOps for ABAP

See https://blogs.sap.com/2019/11/14/gcts-is-here

Figured out how to maintain the objects both in abapGit and gCTS. If we want to create a 2nd repo for the gCTS incarnation of proUBC, I can put our latest build out there too.

We will have to revisit this for Steampunk (aka ABAP on the SAP BTP cloud environment)


Add support for NI with multiple ports

This commit implements support for Local NI with multiple ports attached.
API changes with detailed description can be found here:
https://github.com/lf-edge/eve-api/pull/53
This is a continuation to PRs:
https://github.com/lf-edge/eve/pull/4098
https://github.com/lf-edge/eve/pull/4113
(next PR will bring documentation updates)
In summary, network instance can be now configured with "shared" port
label, potentially matching multiple device ports. The NI routing table
will contain routes from all the selected ports.
Shared labels can be also used to restrict port-forwarding to a subset
of NI ports and to create multipath static routes (routes with multiple
possible next-hops). For every multipath route, zedrouter will use
recently added portprober to select the best port at a given time (based
on the connectivity status, cost, etc.) and also to failover to another
port when the currently used port looses connectivity.
Eden-SDN example for NI with multiple ports: https://github.com/lf-edge/eden/pull/1008

FWIW I see "Uplink" and "UplinkProber" in pkg/pillar/docs/zedrouter.md and in pkg/pillar/types/domainmgrtypes.go. Don't know if/when you want to change those.

There was an unused SwitchUplink attribute of VlanInfo in domainmgrtypes.go - I have removed it.
Documentation update will come in a separate PR. I have it already prepared in my EVE fork.


Suggestion: Allow __typename in types returned by resolvers

Is your feature request related to a problem? Please describe.
When working with resolvers that returns an union type there is a need to resolve the concrete type. Graphql supports several ways to do this. One way is the __resolveType function. However there is also a built-in default implementation of the __resolveType function  which will check the __typename property of the returned value. This is convinient and allows us to write resolvers like this without having to implement __resolveType ourselves:
  async resolverThatReturnsUnionType(parent, args ctx) {
    return {
      __typename: "MyConcreteType",
      myprop: 1
    } as any; // any required becuase generated types does not include __typename
  },

However the generated types for resolvers does not allow __typename to be included.
Describe the solution you'd like
I propose that __typename is included in an optional fashsion for these types, same as for operation types.
Describe alternatives you've considered
I could add a lot of mappers and add the __typename field, but since this functionality is built-in to graphql I think it should also be built-in for the type generator tool.

Ideally, the optional __typename field could be added to the raw schema types generated by the typescript plugin. That would solve the above and also my more unusual use-case mentioned here.
This change would be non-breaking if the __typename field is generated as optional. I guess the typescript plugin could have a setting for this if people really don't want it generated.

These are the use-cases for __typename that I currently know of:

You can ask for __typename in an operation sent to the server.
You can use __typename in resolvers for resolving types of union and interfaces instead of __resolveType.
You can use __typename to construct an unique ID for a normalized cache (I think apollo allows you to construct your own ID like this).

Given that the above use-cases spans across typescript-operations and typescript-resovlers I think it would make sense to include __typename in the base types generated by the typescript plugin.
I could work on a PR for this if it would be accepted.

👍 for this. We have a ton of code that branches based on a union's/interface's returned __typename, and being able to select that as a first-class field gives this parity with the GraphQL spec.
Currently, we're working around this by having a concrete field called type that returns the same thing, but that's redundant since it's being auto-generated by our GraphQL server.

Would it be feasible to add support for the skipTypename config option to the base @graphql-codegen/typescript plugin, and just have it default to true?
Same as how it's provided to the operations plugin?
https://graphql-code-generator.com/docs/plugins/typescript-operations#skiptypename-boolean-default-value-false

I opened a PR to add __typename to the base types. Any chance this will get merged/published soon?

Implemented in: https://github.com/dotansimha/graphql-code-generator/pull/1701 , we can close this one :)


Add OAuthUrl and targetAudience to SaaSAuthentication to allow connecting to DEV and INT

We need to configure the operate client (https://github.com/camunda-community-hub/camunda-operate-client-java#authentication) to use our DEV and INT environment. In general, for Zeebe, I need to set
zeebe.client.cloud.baseUrl=zeebe.....com
zeebe.client.cloud.authUrl=https://.../oauth/token

For Operate the same should be doable.
https://github.com/camunda-community-hub/camunda-operate-client-java/blob/main/src/main/java/io/camunda/operate/auth/SaasAuthentication.java#L30 needs to be extended to make those two configurable

Implemented with https://github.com/camunda-community-hub/camunda-operate-client-java/pull/10


Meetup Suggestion: Lancaster County Bitcoin Club

Thanks for making a suggestion for a new meetup.
Please note: Only suggest bitcoin-only meetups.
Meetups which promote any coin or token other than Bitcoin are not suitable for listing.
Altcoin's are only mentioned in the context of warnings or lessons learnt for bitcoin.
Required:

Name of Meetup: Lancaster County Bitcoin Club
Location Of Meetup: Lancaster PA
At least one of the following:

Meetup Page (or similar): https://www.meetup.com/lancaster-bitcoin-meetup-group/
Telegram Group (or similar): https://t.me/+K2IplHCApf4zMzQx
Website: lancobitco.in

Optional

Name of Organiser(s) & Twitter Handle: https://twitter.com/LanCoBitcoin @LanCoBitcoin
Links showing public support: >>>  example
Tweet your commitment

As the organiser of [>>>XXX<<<] Meetup I can confirm that the meetup is bitcoin-only
-The meetup is bitcoin focused.
-'Altcoins' are scams and are not promoted in talks/presentations at our meetups.
#bitcoinonlymeetups @bitcoinonly_

Ready to be made into a pull request.

Do I need to do anything?


User settings to change profile details

Headline
Bio

No need to update avatar or profile picture, it already handled automatically when connecting with GitHub or Google account.

Just to confirm, these 2 inputs (Headline and bio) will be placed below the Nickname input, right ?


Skip some flaky tests

We're not fixing them, and we're not touching blaze internals much, and these spurious failures are frustrating other work.  This is regrettable, but the status quo is worse.

I regret this, but I can't get some PRs over the finish line without this, and if we start testing on 1.14, it's going to get worse.


Libparanumal crashes when using large meshes

Issue: Libparanumal crashes when using large meshes
Details:
Libparanumal crashes when loading meshes with more than 1.2million elements on a single GPU (mpirun -np 1).
The issue seems to be a buffer overflow during the call to mesh::HaloTraceSetup.
Example backtrace:
#0  radix_count_ui (count=count@entry=0x5555558a0360 <count>, A=0x7ffc6a000004, A@entry=0x7ff9d63c001c, end=end@entry=0x7ff9f0fda83c, stride=stride@entry=24) at src/sort_imp.h:80
#1  radix_sortp_ui (count=0x5555558a0360 <count>, work=0x7ff919bad6c0, stride=24, n=197661100, A=0x7ff9d63c001c, perm_start=0, idx=0x7ff8ea9a9010) at src/sort_imp.h:235
#2  sortp_ui (buf=buf@entry=0x7fffffff96f0, start_perm=start_perm@entry=0, A=0x7ff9d63c001c, n=n@entry=197661100, stride=stride@entry=24) at src/sort_imp.h:499
#3  nonzero_ids (nz=nz@entry=0x7fffffff9728, id=id@entry=0x7ffaf0fdb010, n=n@entry=197661100, buf=buf@entry=0x7fffffff96f0) at src/gs.c:108
#4  get_topology (cr=0x7fffffff96e0, n=197661100, id=0x7ffaf0fdb010, top=0x7fffffff9720) at src/gs.c:253
#5  gs_setup_aux (gsh=gsh@entry=0x55555b31c150, id=id@entry=0x7ffaf0fdb010, n=n@entry=197661100, unique=unique@entry=0, method=method@entry=gs_auto, verbose=verbose@entry=0) at src/gs.c:1407
#6  gs_setup (id=id@entry=0x7ffaf0fdb010, n=n@entry=197661100, comm=comm@entry=0x7fffffff9850, unique=unique@entry=0, method=method@entry=gs_auto, verbose=verbose@entry=0) at src/gs.c:1444
#7  ogs::gsSetup (meshComm=<optimized out>, NuniqueBases=NuniqueBases@entry=197661100, gatherGlobalNodes=gatherGlobalNodes@entry=0x7ffb4f3e4010, unique=unique@entry=0, verbose=verbose@entry=0) at ogs/gs.cpp:91
#8  ogs_t::Setup (N=N@entry=197661100, ids=ids@entry=0x7ffc0bbf7010, comm=@0x555555f1d870: 0x555555899260 <ompi_mpi_comm_world>, verbose=verbose@entry=0, platform=...) at ogs/ogsSetup.cpp:69
#9  halo_t::Setup (platform=..., verbose=0, comm=@0x555555f1d870: 0x555555899260 <ompi_mpi_comm_world>, ids=0x7ffc0bbf7010, N=197661100) at libparanumal/include/ogs.hpp:381
#10 mesh_t::HaloTraceSetup (this=this@entry=0x555555f1d7b0, Nfields=<optimized out>) at mesh/meshHaloTraceSetup.cpp:90
#11 acoustics_t::Setup (platform=..., mesh=..., settings=...) at src/acousticsSetup.cpp:58
#12 main (argc=<optimized out>, argv=<optimized out>) at acousticsMain.cpp:59

In sort_imp.h line 30:
#define INDEX_PTR(A,stride,i) (*(T*)((char*)(A)+(i)*(stride)))
In this case stride*i becomes 24 * 197661100 which results in a buffer overflow since the datatype is uint.
Fixing this specific issue (f.ex. changing the datatype of stride to ulong leads to more issues like this in the code).
Please advice if there are any settings that can fix this or if this is an actual bug.
How to reproduce:
Build the acoustics solver and run it with the following setup/mesh file.
https://www.dropbox.com/s/xgdb206pw375ea5/mesh_issue.zip?dl=0

Thank you for the detailed report! I've encountered a similar failure in gslib in the past. We're currently working on several updates to the core libparanumal libraries, including a replacement library for gslib that we've developed. I'll update this thread once that updates are ready for testing, which should be in a couple weeks.

We will definitely try your test case prior to release.

@tcew Yes, the definition af hlong is long long int in the code.
I'm looking forward to the gslib replacement which will hopefully resolve this issue.

Do you have any update on the gslib changes ?

It's still very alpha, and I still have to update several of the solvers, but you can give the acoustics solver in the staging branch a whirl if you'd like.
There's >1 year worth of dev work being merged in currently. Lots of new objects and APIs that we haven't yet documented in a change log. Feel free to ping me on the slack if you have questions/issues.

Thanks! I will take a look and try things out.

I'm working on getting my code up and running on the staging branch of libparanumal , I'm liking the changes but I have an issue with getting structures into deviceMemory.
For example something like this:
// In the C++ code:
typedef struct
{
    dlong A, B, C, Lambda, Alpha, Beta, Yinf;
    dfloat zInd;
} InfoStruct;

memory<InfoStruct> infoMem;
infoMem.malloc(10);

// Populate infoMem with data...

deviceMemory<InfoStruct> o_info;
o_info.malloc<LRMatInfo>(infoMem);

// In the Kernel:
typedef struct
{
    dlong A, B, C, Lambda, Alpha, Beta, Yinf;
    dfloat zInd;
} InfoStruct;

void mykernel(@restrict const InfoStruct* info)
{
	....
}

The line 'o_info.malloc(infoMem);' throws an error:
---[ Error ]--------------------------------------------------------------------
    File     :  libparanumal/occa/src/occa/internal/modes/cuda/device.cpp
    Line     : 454
    Function : malloc
    Message  : Device: malloc
               CUDA Error [ 1 ]: CUDA_ERROR_INVALID_VALUE

Maybe Slack is a better venue for this, do you have a Slack workspace you can invite me to (nonnsi at gmail dot com)?

slack invite sent


Add support for LINK/UNLINK methods

Add support for HTTP methods LINK and UNLINK originally defined in RFC2068 section <IP_ADDRESS>, but with semantic being added in a Internet draft.
https://tools.ietf.org/html/rfc2068#section-<IP_ADDRESS>
https://tools.ietf.org/html/draft-snell-link-method-12

LGTM if tests are passing. cc @jasnell (Feel free to land it)

Tests are passing locally. LGTM

Landed in e557b62. Had to force push because I accidentally landed within the Reviewed-By metadata

Thanks!


Karate-Gatling on hold

Hi,
my team is very interested in https://github.com/intuit/karate/tree/develop/karate-gatling
However, the README says that the project is "on hold" and looking for contributions.
We would like to better understand what "on hold" means. Obviously, no development planned, but we are unsure if the project is considered usable for now?
Also, are there issues for the contributions that are looked for?
Thanks
Michael
(apologies for opening an issue, I did not see another apparent way to ask questions)

@michaelmarth hey this is fine, I appreciate you opened an issue and we can discuss transparently about this. and have others join in. it is also good to gauge how much interest there is in getting this done so that we can re-prioritize
there have been a couple reports that there is still some work to be done:

https://github.com/ptrthomas/karate-gatling-demo/pull/1
https://twitter.com/natxotron/status/1004081557701824512

working on this is actually really hard and needs some understanding of Gatling internals and Scala.
the current karate-gatling approach is based on Karate's Apache HTTP client and I have a hypothesis that everything has to be async for Gatling to work correctly. Gatling by default uses an HTTP client based on Netty. I think the correct solution is to re-use (and hook into) that from Karate which needs a little more work.
the other option is to write a Netty based HTTP client for Karate from scratch, which I am considering because it may just be easier than having to understand Gatling internals.

Hi,
also my team is very interested in https://github.com/intuit/karate/tree/develop/karate-gatling.
Thanks,
Giovanni

I've really enjoyed working with karate and this feature would lower the bar for writing load testing for our services.  Let me know if there is anything I can do to help push this forward

@matthewmcgarvey thanks ! and apologies I never got around to looking into the JMeter script you contributed. the current plan is I'll release 0.8.0 within a day or two without Gatling fixed. because its been a while and a lot of fixes have piled up.
then I plan to look at the Gatling stuff in detail.
if anyone has Scala experience would be great to get some help on this file: https://github.com/intuit/karate/blob/develop/karate-gatling/src/main/scala/com/intuit/karate/gatling/KarateAction.scala
what I was planning to do next is change line 95 to use a new actor instance each time instead of using the same one (inited on line 25)

@ptrthomas I'm seeing 18 seconds and ~26 requests/sec.  That's drastically better!  Good job!

@ptrthomas After testing this out in the original project I was working with, everything still looks good (setting the path formats was a huge help with the console output!).  The only thing I see is a large amount of timeouts after 5000 milliseconds.  This could be my fault for not knowing gatling configuration but I don't see any timeout settings that have that number, they all seem to be 60000 milliseconds.  Is this your configuration coming through or am I not configuring correctly?

@matthewmcgarvey thanks for your help. best news I've had all week :)
are these clearly HTTP timeouts or does the log say something about "akka" or "actors". Karate's default HTTP connect and read timeouts are 30 sec. I see a couple of 5000-s in the gatling config for the actor system and DNS resolution. it may be worth adding this file to the classpath (or wherever gatling expects it), changing these and seeing if that has any effect
if you can replicate this using a karate mock so that I can see it -  that would be awesome of course.
but great ! I'm thinking of releasing this within a week anyway - to get more folks to use it and provide feedback.

released 0.8.0

Thanks for releasing . We were also looking for this feature

for all those watching this ticket -  there was a bug in the 0.8.0 karate-gatling (see #460) which has been fixed and we made a release <IP_ADDRESS>
if you are using karate-gatling you should upgrade - else remaining on 0.8.0 is fine


Fixes cpu

This PR fixes design guideline violations of the cpu icon.

(Note: the central rectangle remains unrounded)

What do you think of this?

Yeah, that also LGTM.

@karsa-mistmere I think we need some more opinions on this. Curious what other people think. I'm fine with both 😆

This is also maybe an option:

100%:

200%:

Right now, I think cpu-2 (yours) looks best compared to square for example.

yeah you right, its nice to have it consistant.


Support for rendering individual JSON schema

It would be nice to support rendering vanilla JSON schema in addition to OpenAPI specs.
Looking at the implementation of <schema-tree> and <schema-table>, it seems that they currently get an intermediate representation of the schema thru their .data attributes.
Do you think it would be desirable to extend those components to allow passing a JSON schema thru the element body, or would you rather see another component by introduced, ex:
<rapi-schema>
   <pre>
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "http://example.com/product.schema.json",
  "title": "Product",
  "description": "A product from Acme's catalog",
  "type": "object",
  "properties": {
    "productId": {
      "description": "The unique identifier for a product",
      "type": "integer"
    }
  },
  "required": [ "productId" ]
}
   </pre>
</rapi-schema>

(using a <pre> would allow to fallback to just displaying the raw schema.

I would like to know about the use case here,
open api schema is a subset of JSON schema so how will it get used up, assuming we create a component from json-schema ?

My understanding is that w/ OpenAPI 3.1 both will now be aligned (see https://github.com/OAI/OpenAPI-Specification/pull/1977) and OpenAPI will now be a superset (or vocabulary) of JSON Schema draft 2019-09.
The use case would be to render individual JSON schema using Table or Tree schema display style (like in https://mrin9.github.io/RapiDoc/examples/schema-table.html#get-/schema/person) without the need to create a full OpenAPI spec.

Well, we arn't there yet.
Our dynamic converter if you throw an OpenAPI/Swagger 2.0 will convert to OpenAPI 3.0.x
But, I am glad you brought it up. I have added this to our task list and will back it up with feature-request
I wont be able to commit to any timeline yet, but will be something that will be supporting within the boundary of OpenAPI 3.1
If that means its same as JSON-Schema draft 2019 then even better

@mrin9 gaave it a try with https://github.com/mrin9/RapiDoc/pull/258 let me know if that's going in the right direction.

please refer to my comments on the PR.

Would really be nice to render just a json schema alone using a subcomponent of this library.

I actually saw in https://github.com/rapi-doc/RapiDoc/issues/781 that this is already somewhat available in https://github.com/rapi-doc/RapiDoc/blob/master/src/json-schema-viewer.js.


impl Endpoint for Service, for service nesting

This is a half-baked version of nesting. Need to strip the path prefix, but I feel this is a good first step! Nevermind, I managed to write necessary mechanics for nesting.

HttpService impl is refactored to use Endpoint impl internally.
Added Route::strip_prefix. When used, this will strip the route path prefix from request before passing it to the endpoint.

With this PR, we can finally nest Tide services!
let mut inner = tide::new();
inner.at("/").get(|_| async { "root" });
inner.at("/foo").get(|_| async { "foo" });
inner.at("/bar").get(|_| async { "bar" });

let mut outer = tide::new();
outer
    .at("/nested")
    .strip_prefix() // catch /nested and /nested/*
    .get(inner.into_http_service()); // the prefix /nested will be stripped here

Might need a better name for strip_prefix, like prefixed?

I wonder if something like nested_service would be clearer than strip_prefix?

@tirr-c oh, also another question: on Discord someone asked whether we supported middleware on sub-routes, and you mentioned this patch would add support for that. So it looks like this patch specifically doesn't add a middleware method on Route; but it does seem like that would be possible to add as a follow-up?

@yoshuawuyts I think this is good to merge now! Marked strip_prefix as unstable, as its name might change in the near future.
And yeah, per-route middleware shouldn't be hard to implement. I'll add it as a follow-up.


How to post metrics?

Here is my code to post metrics. Metrics explorer could not find the sent metrics.
But there is no error shown
    datadogClient := datadog.NewClient(config.API_KEY,config.APP_KEY)

    data := []datadog.DataPoint{datadog.DataPoint{1.0,15.0}}

    test:= datadog.Metric{}
    test.Metric = "order"
    test.Host = "golife"
    test.Points = data

    fmt.Println(test)

    err = datadogClient.PostMetrics([]datadog.Metric{test})
    if err != nil{
        panic(err)
    }

@ctoto93 the first value you pass into a datadog.DataPoint needs to be a UNIX timestamp which is documented here: https://github.com/zorkian/go-datadog-api/blob/master/series.go#L13-L15
Please try something like datadog.DataPoint{float64(time.Now().Unix()), 15.0} and let us know whether that works for you.

Follow up on this, I couldn't find any docs for the list of Types you can specify with a metric.  Any idea?

@seiffert care to raise a PR with an example in the Readme?


Generalize GPIO access on D2

Currently the HASPone project allows activating GPIO D2 in order to control a beeper.  Some of this interaction is hard-coded to respond to screen presses, it might be more useful if this was generalized to allow for wider use cases.

Good idea! How were you thinking this would work? I'm always interested in exploiting this kind of thing. :)
On one of my hasps, I use D1 for a  motion sensor, which I mounted on a modified 3 gang wall plate (your 3d design).

hello
I use HASPone with node red, because I use it to control my pond. I have the wish to send a mqtt command from a source, no matter if from homeautomation, node red or any esp to activate the peep on hasp/plate. I am totally flexible if I send the signal to hasp/plate02/alarm/on or any other json mqtt command.
I would suggest that these commands are structured like the control commands for Nextion display on or brightness.


Update NUnit3TestAdapter version to 4.0.0-beta.2

/azp run net - search - tests

/azp run net - search - tests

/azp run net - search - tests

@mikeharder - I ran the live search tests and they passed. I think the change to update the NUnit test adapter has helped.
What other tests should I run here?

/azp run net - core - tests

/azp run net - storage - tests

@Mohit-Chakraborty: I triggered runs of core and storage tests, if these pass I think this is safe enough to merge.  If we find any failures after merge we can investigate.

Any particular reason to get the update especially a beta?

@pakrym: The latest RTM version is crashing with OOM per this issue: https://github.com/Azure/azure-sdk-for-net/issues/20509.  I don't think @Mohit-Chakraborty has been able to repro locally, so we're not sure exactly what's causing it.  But I suspect it's an issue in NUnit3TestAdapter, so I suggested we try the latest version and it does seem to fix the OOM.
If you would rather not use a Beta, we could test GA versions older than 3.17.0 to see if any of them fix the OOM as well.

As far as I know, 4.0.0-* is a major rewrite of NUnit. I'm not strictly against it but think we should be careful taking it.
Doesn't Test host process crashed apply to the child testhost process?

Yep, use this test:
using System;
using System.Threading;
using NUnit.Framework;
using System.Collections.Generic;

namespace ooomunit
{
    public class Tests
    {
        [Test]
        public void Test1()
        {
            ThreadPool.QueueUserWorkItem(_ =>
            {
            List<byte[]> b = new();
            while (true)
            {
                b.Add(new byte[100000000]);
            }
            }
            );

            Thread.Sleep(1000000);
        }
    }
}

I would also look into the --blame-* set of parameters for dotnet test. https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test

I agree we need to step back and understand what is happening here.  If this is indeed a test or product bug causing OOM, then why doesn't it repro with the newer NUnit3TestAdapter?

. If this is indeed a test or product bug causing OOM, then why doesn't it repro with the newer NUnit3TestAdapter?

Maybe some changes in test ordering/parallelization? I think adding an ability (or learning a way) to collect test crash dumps is a great exercise in general.


Add scientific notation to the Lexer

I think what i did is self-explanatory, we keep getting characters until we bump into an e, the we check if the next characters is allowed (i.e is +, - or simply a number), and then we keep getting numbers, if the nextCh is not a number then we return a tokens whose value is the scientific notation translated into a real type
Would it be a good idea if 0xab2 and 0b10101 also translated this way ?

Thank you! I fixed up the state machine a bit in subsequent change 1b5f322. The resulting code is simpler and is a better match for the original spec.
Not sure what you mean by parsing hex numbers the same way.


Display names of ports connected to in UI

This is a discussion continued from following issue.

CV_Gate16: display names of ports connected to in UI? · Issue #15 · ryukau/LV2Plugins · GitHub

I'd like to have audioPortChanged() for UI class. Arguments are same as Plugin::initAudioPort().
virtual void audioPortChanged(bool input, uint32_t index, const AudioPort &port);

AudioPort needs to have a collection of connected port. I named it as link, but probably there's a better name.
struct AudioPort {
  std::vector<AudioPort> link;
};

It's better to have a guarantee that last connected port will be added to the last of link. So link acts like a stack of connection.
In my use case, AudioPort in link only need to have valid name. It might be better to have separated class like AudioPortLink for link, rather than using AudioPort.
With audioPortChanged() and AudioPort.link, I can write something like following in UI class.
void audioPortChanged(bool input, uint32_t index, const AudioPort &port) override {
  if (input) return;

  // Display last connected port name.
  if (port.link.size() > 0)
    someLabels[index].setText(port.link.back().name);
  else
    someLabels[index].setText("No Conection");

  updateUI();
}

Thinking about this more; depending on the case, it might be wise to display either the connected "PluginName", or "PortName" like with the example screenshot above, or both as say "PluginName/PortName" like with the screenshot below.
The 'Control of Kick' CV_Gate16 below, ignoring the intermediary Control-CV plugins that have their control parameter exposed as an input CV, so as to distinguish what is what, is connected to the plugins/ports:

Gain Env/Gain
Gain Env/Decay 1
Gain Env/Curve1
Freq Env/Decay 1
Freq Env/Gain
Freq Env/Curve1
*/Exp FM Gain
*/Semitone
Saw/Edge
Pulse/PW
Pulse/Edge

The two * go out to multiple plugins though with the same port name, so in such a case, IDK, maybe * as a wildcard? For port name, if it varies, maybe plugins could offer a UI option to cycle between the different options or a generic *?


[feature request] Command to reset find/search options

There are commands to toggle each of the three find settings (toggleFindWholeWord, toggleFindCaseSensitive, and toggleFindRegex) and ones to do the same for search, but there's no way to affect all three of them at once, specifically, to turn them all off.
My default is to have all three off, and it'd be nice to be able to return to that state with a single key command, rather than to need to notice which ones are one and remember the corresponding toggle shortcut, up to three times (if they're all on).
I poked around in the repo a bit and think I understand how this could be added. I'd be happy to give it a shot if the proposal is accepted!
(It might also be worthwhile to standardize the way all of the related commands are described (see below), to make them more discoverable, but that's a separate issue.)
keywords: Toggle Match Case, Toggle Find Using Case Sensitive, toggleSearchCaseSensitive, toggleSearchEditorCaseSensitive, Toggle Match Whole Word, Toggle Find Using Whole Word, toggleSearchWholeWord, toggleSearchEditorWholeWord, Toggle Use Regular Expression, Toggle Find Using Regex, toggleSearchRegex, toggleSearchEditorRegex

You can make such a keybinding yourself.  The below is for the Search across files view typically in the Panel:
{
  "key": "ctrl+shift+f",                      // whatever keybinding you want
  "command": "workbench.action.findInFiles",
  "args": {
    // "query": "",
    "isRegex": false,
    "replace": "",
    // "triggerSearch": true,
    // "filesToInclude": "src, include",
    // "filesToExclude": "data",
    // "preserveCase": true,
    // "useExcludeSettingsAndIgnoreFiles": false,
    "isCaseSensitive": false,
    "matchWholeWord": false
  }
}

The same could be done for the Find widget.  If you want it as a command instead of a keybinding that can be done too.

Oh, no kidding. Nice! I'll give it a shot and let you know how I do, thanks!
And, assuming you got that list from either here or here, TIL a new way to solve this kind of problem. 🙂 )

FWIW, I still think having this as a built-in command would be a nice feature, though.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Stop the plugin from opening new tabs when editing a time slot

Right now, if I want to edit a time slot by clicking on it and being transferred to the daily note, the plugins open a new note each time
instead of just using the current open tab. This causes a lot of open tabs being open instead of just one.
Here is an example for the issue -
https://capture.dropbox.com/9NejiHOb5JJPyFvP

Big +1 from me :D

Hey there! Check out 0.18.0!


Add useful-forks feature

LINKED ISSUES:
fixes #3682

TEST URLS:

https://github.com/payne911/PieMenu/network
https://github.com/payne911/PieMenu/network/members

SCREENSHOT:

The CI fails due to an unrelated file:

Can you run npm run lint --fix?

I indeed had a few things to fix in my file.
Thanks!

@fregante I should we be checking if there are any forks? Also should private repo's be excluded?

Not sure what is wrong, to be honest.

About the lint: not sure what is wrong, to be honest

Can you run npm run lint --fix?

For that second point, I'm not exactly sure how I should go about it. If I was displaying the button only in the Forks page, then I could count the amount of repos listed, but since we're trying to support the Network page too, I don't think I can easily achieve this goal without requiring an API call ?

You can check if the fork icon is disabled.

You can check if the fork icon is disabled.

I just looked at one of my public repositories which has no forks and I see no difference between the fork icons. Would you mind expanding on your idea a bit more, please?

I just looked at one of my public repositories which has no forks and I see no difference between the fork icons. Would you mind expanding on your idea a bit more, please?

I was talking about private repo's

I was talking about private repo's

I just looked at one of my private repo which has no forks and the icon looks the same.

$(".social-count[href$='/network/members']") that will give you how many forks there are.
if (looseParseInt(select(".social-count[href$='/network/members']"))=== 0) {
	return false
}

@yakov116 Okay, thanks! I didn't realize that number was there because it's visually hidden by refined-github.

Okay, all that's left is pure aesthetics, and to be brutally honest, I'm not really a fan of messing for hours with CSS selectors.
Would you mind picking up from here, and updating the readme with an appropriate screenshot once that's done ?

If anyone is willing to send a full PR, they can open a new one an pick up from here.

If anyone is willing to send a full PR, they can open a new one an pick up from here.

@fregante would you mind expressing yourself on where you think the button should be placed? It's literally the only thing left to be done. If it was fine where it is right now, then this PR is pretty much done.

Leaving a PR unfinished defeats the purpose of sending a PR, especially when it's trivial to implement. If you don't have time to finish it, that's fine.
The position has been discussed and you already marked that discussion as Resolved. What's missing is, at this point:

[ ] Making it work. It errors right now: ❌ Refined GitHub → useful-forks → DOMException: Failed to execute 'querySelector' on 'Document': '.social-count[href$="/network/members"!]' is not a valid selector.
[ ] Sending a PR to https://github.com/fregante/github-url-detection with the new page detections, including tests
[ ] Using elementReady so that we don't have to wait for the whole page to load (especially a problem when there are lots of forks, e.g. https://github.com/sindresorhus/refined-github/network/members)
[ ] Updating the screenshot once it's finished

Also it causes the whole content to shift, so its selector needs to be updated

Making it work. It errors right now

My bad, that's fixed.

Sending a PR to https://github.com/fregante/github-url-detection with the new page detections, including tests

Done: https://github.com/fregante/github-url-detection/pull/58/

Using elementReady so that we don't have to wait for the whole page to load

Not really sure how to use that properly. But I tried the current version on the URL you showcased and it seems like it's alright now? If not, I would appreciate a bit of guidance on how I should use elementReady properly.
My domain is Java backend, hence my lack of knowledge in terms of TypeScript and CSS, sorry.

Updating the screenshot once it's finished

What do you think of those? (I use kryonet because it's a good example.)
Option 1:

Option 2:

Option 3:

I decided to use option 1 for now.

(Since the PR is closed, I think it didn't pick up on the latest commits I push to my branch.)

Try to push now

@payne911 are you ok if I push some code?

@yakov116 please do! I take absolutely no offense, and in fact rejoice at your care. :)

That looks like solid changes. Thanks!

Let me guess: since the package file is VCS's, it needs to be updated and pushed so that those "new" imports can be recognized ?

@yakov116 Sorry, I pushed as you made your suggestions. I looked at how the other features were doing it and decided to try doing it like them.

You need to update the github-url-detection package too. Commit the package.json and lock file. It should only have that change.

It should only have that change.

True for package.json, but the lock file has 21 differences, including a downgrade of lockfileVersion.

@payne911 Please check this https://github.com/sindresorhus/refined-github/pull/3955#pullrequestreview-588262057

Just tested this latest commit on the provided URLs, plus on https://github.com/sindresorhus/refined-github/network/members which was provided as an example of when it might displace stuff.
I personally didn't see any issue.
You could test it yourself too, just to be sure. :)
In any case: ready to merge !

@payne911 Thanks for contributing!
First time contributing can be hard, but you made it through! ☕

I even wrote a CSS selector. As a backend dev, that's a big deal! ;)

Thanks @payne911! useful-forks is a useful tool!

My pleasure!
I wish I could get to scan massive fork lists entirely, but unfortunately GitHub's rate limit is a bit low. :(

@fregante @yakov116 Well, useful-forks has really gained in popularity ever since it was integrated: really cool to watch.
Anyways, I know this is none of your concerns, but I thought maybe you could help me with a little problem since you guys have probably worked a lot with GitHub's API.
I thought my tool was heavily restricted by the Rate-Limit, but it turns out I barely reach 10% of it before seeing my requests getting blocked due to an "abuse-detection mechanism" 403 error code.
Have you guys ever run into such limitations? Any suggestions or ideas?

The tool makes several API requests at the same time, I wouldn’t expect anything else. We expect the API key in most of our calls.
Anyway, I was thinking that this feature doesn’t apply to GitHub Enterprise, can you send a PR to exclude it from there?
Also, how does it handle private repositories? Does it just show a 404? In that case we should also exclude private repos.

You could however use the octokit API library instead of manually doing fetches, it has automatic rate limit handling.

We expect the API key in most of our calls.

Yes, but do you have any feature which sends massive amounts of calls like this tool does?

Anyway, I was thinking that this feature doesn’t apply to GitHub Enterprise, can you send a PR to exclude it from there?

Why exactly do you think it does not apply? (Excuse my ignorance.)

Also, how does it handle private repositories? Does it just show a 404? In that case we should also exclude private repos.

I just looked up the documentation for the LIST forks endpoint and it seems like it somehow also does list the private ones (since there is a private boolean attribute returned in the response), although I wouldn't know which repository to use to test this out.
But yes, that would be an easy fix.

You could however use the octokit API library instead of manually doing fetches, it has automatic rate limit handling.

Yeah, I just discovered that thing. Which I knew about it earlier. Thanks for that!

I recently implemented that octokit in a library that scans and removed one’s fork in batch. It’s pretty fast, it doesn’t just add a second.
If it works with GraphQL, sure, but keep in mind that GraphQL requires a key.
GH’s API only operates on GitHub.com. GHE has a whole different dataset and requires its own API address and key. GHE support doesn’t make sense for your tool anyway.

I recently implemented that octokit in a library that scans and removed one’s fork in batch. It’s pretty fast, it doesn’t just add a second.

Alright. I think that will be my next step then: update code to use octokit.

If it works with GraphQL, sure, but keep in mind that GraphQL requires a key.

I didn't know that, and it's a pretty big deal. I think for now I'll set that aside, then. Thanks for the input.

GH’s API only operates on GitHub.com. GHE has a whole different dataset and requires its own API address and key. GHE support doesn’t make sense for your tool anyway.

Another thing I didn't know. This will indeed have to be fixed. Is there a utility function in refined-github which detects if a user is on GHE ?

Is there a utility function in refined-github which detects if a user is on GHE ?

+ exclude: [
+   pageDetect.isEnterprise
+ ]

+ exclude: [
+   pageDetect.isEnterprise
+ ]

Added! Thanks.

It doesn't look like it, maybe there's a function somewhere in our code. It's worth a search and if not it should be written. Ideally page detections should be found in the , but that doesn't always exist.

I couldn't quickly find anything, but the code-base is large, and I'm not certain about which keywords to look for.
In any case, it is possible that a large team works on a private repo and end up having different forks which could be useful to scan, no? All they'd have to do would be to provide an Access Token with the right permissions to allow the scan to work properly.

which keywords to look for

"private"

having different forks which could be useful to scan, no

I mean, why. Even if there are 10 forks, they're not "useful". If they're looking for stray commits, the Network view already does that and is helpful for a few forks.

"private"

That yields "100+" results in IntelliJ:

which means I can't fully explore that avenue.
isPrivate yields 0 results, so I'm guessing that would've been the function name if it was in there and thus that it doesn't exist?


Maybe 'To' should be 'If' in this sentence: "To you want to install kubectl locally, you can use the az aks install-cli command."

Hello,
please check this sentence "To you want to install kubectl locally, you can use the az aks install-cli command." under "Connect to the cluster" section.
Maybe 'To' should be 'If' in this sentence.
Kind regards,
Anne H., QC

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

ID: 2195f059-1bdc-c17c-6a28-2055d94c43d4
Version Independent ID: ac604c37-afc8-848f-c308-adcf54e15225
Content: Create a Windows Server container on an Azure Kubernetes Service (AKS) cluster using Azure CLI - Azure Kubernetes Service
Content Source: articles/aks/learn/quick-windows-container-deploy-cli.md
Service: azure-kubernetes-service
GitHub Login: @MGoedtel
Microsoft Alias: magoedte

@QueryCoordinator
Thanks for your feedback! We will investigate and update as appropriate.

@QueryCoordinator
Thanks for reporting this! We have created a PR for this issue and the changes should go live soon.


YAML Code quality and name fixing

About the PR
This is a redo of #3737. You can see the original commits here.
In addition to the commits from that PR, I have done code quality cleanup to all the files modified. I have left out some of the circuit-board name changes I did. I have also commented out the fluent suffixes in YAML instead of removing them.
Changelog

:cl:

fix: Names for tanks, solar stuff and more are fixed.

closes #3561