Cannot run the example/test notebooks

Hello,
I have installed Pythonic-DISORT by cloning the repo and running pip install -r all_optional_dependencies.txt
I then tried to run the example notebook 1a_test but get this error:
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[1], line 2
      1 import PythonicDISORT
----> 2 import disort
      3 import numpy as np
      4 import matplotlib.pyplot as plt

ModuleNotFoundError: No module named 'disort'

The installation went smoothly, so I am unsure why I get this ModuleNotFoundError. Could you please look into it?

The disort module is the Python-wrapped DISORT. Unfortunately, installation of that module is system-dependent and users will need to separately install FORTRAN compilers. Thus, it is not installed with PythonicDISORT and is in fact not part of PythonicDISORT.
The test reference solutions from DISORT have been saved in .npz files in the pydisotest directory though, and so you can run pytest in that directory without needing the disort module.

@simonrp84, @dhjx1996 and I discussed this further, and he may split the notebooks into those doing validation against the Fortran code and those demonstrating the use of PythonicDisort more generally.

Yes, I think that would be a good idea - it wasn't immediately clear to me that those notebooks were for testing rather than as examples for  users.

Sounds good! I will revamp the current notebooks into examples for users and remove disort4.0.99_f2py and all references to the disort module. I may make some changes to how the tests are conducted but there will be automated tests at the very least.

I have removed disort4.0.99_f2py from both the repository and the entire repository history. I have kept the .npz reference solutions in the repository but greatly reduced their size. These changes are not final, but at least now the Jupyter Notebooks should all run regardless of whether a F2py-wrapped Stamnes' DISORT is installed.

The test suite may undergo further changes but the initial problem has been resolved.

Apologies for not closing this myself, thanks for the work on it.


Replace our RangeSlider with airbnb/rheostat

For now, there's no way we are gonna make a better Slider that airbnb/rheostat. So the best option is to make our RangeSlider be a thin wrapper on top of airbnb/rheostat and make it look good, consistent (#1456).
We also discussed that we could maybe just not include a default slider, but for our set of widgets that would look pretty weird to not have a RangeSlider widget by default. Even if connecting one is very easy.

Using Rheostat as our default implementation will introduce some inconsistencies between our classnames and theirs.
Trying not to complicate things before the first release, I propose that we do not provide a Slider but instead explain how to connect easily to an existing one.
As for the design (#1456) we can use Rheostat to have a complete example.

Works for me as we discussed if we still manage to have a RangeSlider* item in the widgets/ documentation that says "Since there are a lot of already existing sliders, we did not include one by default but here's how to connect .."


Docker plugin installation failure stderr: archive/tar: invalid tar header

What happened:
When trying to install the docker plugin, it fails with the following output
$ sudo docker plugin install juicedata/juicefs
Plugin "juicedata/juicefs" is requesting the following privileges:
 - network: [host]
 - device: [/dev/fuse]
 - capabilities: [CAP_SYS_ADMIN]
Do you grant the above permissions? [y/N] y
latest: Pulling from juicedata/juicefs
Digest: sha256:9f80d2beb0d23f630664a513dc9a248c0b400fe5fe37d409612ef4b21b01154d
1c17d76b1345: Extracting [==================================================>]    133MB/133MB
error applying layer for digest sha256:1c17d76b13454ef8e6127d58c39dce10610d73e8fdf92b12b89d033584354c1c: ApplyLayer exit status 1 stdout:  stderr: archive/tar: invalid tar header

What you expected to happen: plugin installation success
How to reproduce it (as minimally and precisely as possible): multipass VM with same sources
Anything else we need to know?
I've tried downgrading docker-ce to 5:23.0.0-1~ubuntu.22.04~jammy and 5:20.10.13~3-0~ubuntu-jammy and the error still happens. Nuked /var/lib/docker with the same result.
First time user of juicefs, assume I don't anything about this project.
Environment:
Installed versions of docker packages
docker-buildx-plugin/jammy,now 0.11.2-1~ubuntu.22.04~jammy amd64 [installed]
docker-ce-cli/jammy,now 5:24.0.7-1~ubuntu.22.04~jammy amd64 [installed]
docker-ce-rootless-extras/jammy,now 5:24.0.7-1~ubuntu.22.04~jammy amd64 [installed]
docker-ce/jammy,now 5:24.0.7-1~ubuntu.22.04~jammy amd64 [installed]
docker-compose-plugin/jammy,now 2.21.0-1~ubuntu.22.04~jammy amd64 [installed]

Sources
/etc/apt/sources.list.d/download_docker_com_linux_ubuntu.list
deb [arch=amd64] https://download.docker.com/linux/ubuntu jammy stable

/etc/apt/sources.list.d/ppa_juicefs_ppa_jammy.list
deb http://ppa.launchpad.net/juicefs/ppa/ubuntu jammy main

Multipass Ubuntu VM
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.3 LTS"
PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

Problem seems to be with the latest tag, installation works with tag 1.1.1
$ sudo docker plugin install juicedata/juicefs:1.1.1
Plugin "juicedata/juicefs:1.1.1" is requesting the following privileges:
 - network: [host]
 - device: [/dev/fuse]
 - capabilities: [CAP_SYS_ADMIN]
Do you grant the above permissions? [y/N] y
1.1.1: Pulling from juicedata/juicefs
Digest: sha256:bcac01448bd81b47581947745c80634276ca1bd2136a4905c86263ce91a755fc
1259c96e4cf2: Complete
Installed plugin juicedata/juicefs:1.1.1

Fixed now, thanks for this feedback


Wrong value for Height and Width on Flutter build desktop

Hello dev,
I try to check screen size with SizerUtil.height and SizerUtil.width, but the value is wrong. i use 15" device

please help to fix, thanks
Fahmi

This code here is the reason for the bug I think:
util.dart
    if (orientation == Orientation.portrait) {
      width = boxConstraints.maxWidth;
      height = boxConstraints.maxHeight;
    } else {
      width = boxConstraints.maxHeight;
      height = boxConstraints.maxWidth;
    }

Not sure what was the author's intention behind this.

I made a pull request to fix this : #58


Light refactor, questions to address, and alt-text

Very much draft status.

60 day? WOW. Let me get this back on track.

🚀 I wont be able to feedback in the coming weeks though, just so you know :)


copying to the X clipboard causes disconnect from tightvnc

Calling XStoreBuffer() causes a disconnect when using tightvnc. This happens
on at least two linux architectures and with several clients.
This bug was reported on debian bts in 2010. I also see the same bug.
I use a workaround that adds a single line to vnc.c ignoring a particular error.
This stops the disconnect, but does not fix the bug.
A detailed discussion can be found at
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=600543

I do exact the same steps of installing xrdp and tigervnc under CentOS 6.7, see Install XRDP Remote Desktop to CentOS 6.5 » Ramblings of an IT Guy.. Basically, it is xrdp 0.6.1 official release.
I also see a quite similar bug, it looks like vncconfig is not running, so basically the clipboard is not supported as stated by the vncconfig document. I can manually run vncconfig, but after that if I copy anything, the session get disconnected. I see other people also state this bug in the wepage here: Remote Desktops with VNC and RDP | SysteMajik Consulting

Were you able get clipboard sharing to work with xrdp? I read somewhere that you need to run “vncconfig -nowin” for this and confirmed from the man page that it should work, but the first time I ran it, the session got disconnected. I was able to connect back, but whenever I try to copy something, the session gets disconnected, so I ended up killing vncconfig.

Any one know how to solve this issue? Do I need to use a git version of xrdp? Thanks.

From a comment in #162, see on 24 Feb 2015, some guy suggest using x11rdp instead of xvnc, so my question is that dose xrdp not support clipboard if xvnc backend is used?

I find another similar bug report in xrdp's developer maillist, but without any response, see here: xrdp-0.6.1: Clipboard doesn't work without vncconfig, with it disconnects (and also doesn't work)

I had similar problems a couple months back with xrdp and/or X2Go in combination with tightvnc, if I remember right.  Part of the problem is that tightvnc is basically abandoned now with no recent releases/maintenance.  It's not a good choice.
Try using TigerVNC.  It seems to be currently-maintained and it fixed some of the weird X server problems I was having, including this one.  For some reason it's not in the Ubuntu package repositories but TigerVNC has .deb files you can download.

Hi, JohnstonJ, when using the latest TigerVNC(the preview binary 1.70), this issue still exists.

Merging into #755.


Top bar not rendered correctly

On Florisboard beta from F-Droid (0.3.15-rc01) on Android 12 the top bar is rendered incorrectly (not rendered at all), see screenshot:

Closing as stale. Please reopen if issue persists after updating to newer theme version


Cannot deploy django python web app while following tutorial steps

If you follow the steps in the support article you'll get this screenshot. Essentially "Your app service is up and running. Time to take the next step and delpoy your code".
django 2.1.2
Python 3.7.7
Windows 10 Pro
I have tried both the tutorial and deploying it and using the "deploy center" on my local implementation https://github.com/jerbio/django_azure_demo.

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

ID: 791bd216-532f-7f28-fa51-d95798397310
Version Independent ID: 4f7ff676-e4a5-cc41-6a43-ecb8fa1095fb
Content: Tutorial: Deploy Python (Django) with Postgres - Azure App Service
Content Source: articles/app-service/containers/tutorial-python-postgresql-app.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: cephalin

@jerbio Thank you for your query . We will investigate and update the thread.

@jerbio Thanks for asking question! Could you please elaborate on what error you are receiving when trying to deploy django python web app, to help you better on this.

@SnehaAgrawal-MSFT There are no errors during the deployment. The problem is the site doesn't actually get deployed to the server. Going to the address after deployment simply generates the default page.
Have you tried going through the instructions on one of MS Docs? After the deployment you should be able to test the site but it'll fail to load the page.

@jerbio Thanks for the reply, If the App Service doesn't find a custom command, a Django app runs a default read-only app, located in the opt/defaultsite folder. You can control the container's startup behavior by providing a custom Gunicorn startup command. To do this, kindly take a look into this document for detailed steps.
Also, App Service looks for a file named wsgi.py within your app code, and then runs Gunicorn.
App Service ignores any errors that occur when processing a custom command file, then continues its startup process by looking for Django and Flask apps. You may also look for the startup file is deployed to App Service and that it doesn't contain any errors.

Ah Thanks, That did the trick.


[Remember This - Update] Discord Webhooks

Description
DISCORD WEBHOOK
Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Keep the new versions ig

@mil3na so sorry for posting an update so quick but I included discord webhook notifications.

Hey @mil3na, thanks for the feedback, I have made some changes

I have a few issues with this update.
First, it still has trouble with ponctuation:

Second, after adding the webhook, when I add a new reminder, it opens this window, and then Raycast doesn't open anymore. I have a feeling that there's an open process going on. That window should not appear as well, it's a regression.

Finally, on discord, I got 4 messages instead of only one. What is the expected behavior here?

I have a few issues with this update.
First, it still has trouble with ponctuation:

Second, after adding the webhook, when I add a new reminder, it opens this window, and then Raycast doesn't open anymore. I have a feeling that there's an open process going on. That window should not appear as well, it's a regression.

Finally, on discord, I got 4 messages instead of only one. What is the expected behavior here?

That’s really strange and is not expected behaviour. I have a few troubleshoot steps that you could please take.
1: can you delete everything related to the extension in its support path
2: check that you don’t have multiple instances of the extension running on your machine.

Also, please write more meaningful commit messages. It will help debug in case needed.

Also, please write more meaningful commit messages. It will help debug in case needed.

Will try in the future! 😀

That’s really strange and is not expected behaviour. I have a few troubleshoot steps that you could please take.
1: can you delete everything related to the extension in its support path
2: check that you don’t have multiple instances of the extension running on your machine.

Every time we test an extension, it is as if it's the first time we are installing it. The behavior persists.

That’s really strange and is not expected behaviour. I have a few troubleshoot steps that you could please take.
1: can you delete everything related to the extension in its support path
2: check that you don’t have multiple instances of the extension running on your machine.

Every time we test an extension, it is as if it's the first time we are installing it. The behavior persists.

I’ll try and troubleshoot this further. (The reason I asked for you to check the supportPath was because you reviewed it) 😀 I’ll contact you once I fix the issue

Hello @mil3na,
I wanted to update you that the issue with Discord sending multiple messages has been resolved. It turned out that the extension was unintentionally deleting non-expired messages, which caused them to be sent again.
Regarding the issues you reported with the delimiters and launchCommands not functioning properly, I wasn't able to replicate them on my end. However, I do have a suspicion that you might have two instances of the extension installed on your machine. The Discord webhook only sent two messages for me, while it sent four for you. Also, please note that delimiter handling is still a new feature for the extension so old versions likely dont have it. Ontop of this, the warning you recieved can occur when a extension tries to launch a command from another extension.
Moreover, I believe that you might have created the reminder on the new version, which handles delimiters, while the list was displayed on the old version, which doesn't handle delimiters (hence it showing the comma delemiter symbol). This could explain the warning you received for the launchCommand request.
I understand that you have already checked, but could you please double-check to see if you have two instances of the extension installed on your machine?
Thank you so much for your patience!

Your extension should not depend on you having only one instance installed. But, for the sake of testing, I uninstalled old versions and left only the latest. Here's what I got:

Also, when am I expected to see the webhook triggered? It posted nothing when I created it nor when it was about to expire.

Your extension should not depend on you having only one instance installed. But, for the sake of testing, I uninstalled old versions and left only the latest. Here's what I got:

Also, when am I expected to see the webhook triggered? It posted nothing when I created it nor when it was about to expire.

Still very strange. I’ll look into it again! Also the extension will only post the next item to expire to the webhook

Your extension should not depend on you having only one instance installed. But, for the sake of testing, I uninstalled old versions and left only the latest. Here's what I got:

Also, when am I expected to see the webhook triggered? It posted nothing when I created it nor when it was about to expire.

Hey @mil3na, I have finally fixed the issue regarding commas (looks like ESLint was causing it to break when running npx ray lint --fix)
Items posting to discord uses the menubar extension to call that code so it will only post the item that is going to expire next. Fore example, if these are my items:
Item 1 - Expires in 10hours
Item 2 - Expires in 3mins
Item 3 - Expires in 36mins

It would post Item 2 when the menubar command runs (interval 10s) and then once that expires, it will post item 3, then when that expires, it will post item 1.

Hi @Ek2100 ! The separator bug seems to be finally gone! 🙌 However, I think there is an odd behavior with the webhook. I only get a message on slack if I interact with the menu bar. Shouldn't it message slack when I create a Reminder or when it is about to expire? As the menu bar item is an optional thing, I don't see why the webhooks should be connected to that.

Hey @mil3na, so happy the bug has been patched. Anyway, I pushed an update which adds a preference that can change when the notification is sent.
PS. Sorry, the git commit message wasn't meaningful, I tried:

Anyway, I am excited to hear your feedback! 😄

Hi @mil3na, just the clarify, the default preference for when items should post is only “when they expire next”. This works as follows:
For example, if these are my items:

Item 1 - Expires in 10hours
Item 2 - Expires in 3mins
Item 3 - Expires in 36mins

It would post Item 2 when the menubar command runs (interval 10s) and then once that expires, it will post item 3, then when that expires, it will post item 1.
However, this is customisable as there is a preference for this which allows you to either choose for it to post only when it’s the next to expire, when it’s added to remember this or never.
You likely have it set to the default causing it to only send one at a time however if the issue is still persistent, I can look into it further. Could you please just share what you have selected for the “when should notifications be sent” preference.
Thanks for your patience!😀

It was the default selection. The MenuBar item was already "on". And I got nothing on my discord hook.

Hey @mil3na I am extremely sorry for the delays. Due to the fact that school has just started again, it may be ~1 week before I can fully fix the issue.
For the time being, I would love if you could temporarily make this PR into a draft
Thank you so much! 😀

Hello @mil3na , I've been working on a fix for the issue, but I'm having some difficulty wrapping my head around it. Here's a summary of what I understand so far:

The code to post the Discord webhook runs even when the command is triggered by an interval.
When the code runs due to the interval, it gets stuck on the "Sending message to webhook..." message for some reason, even though the code runs.
However, if the menubar extension is manually triggered, it seems to send the message without any issues.

Here's a shortened version of the code I'm using to send the webhook:
try {
  console.log(`Sending message to webhook...`);
  const message = await webhookClient.send({
    username: "Remember This Reminders",
    avatarURL: "https://i.imgur.com/lFhK9Ys.png",
    embeds: [embed]
  });
  fs.appendFileSync(csvFilePath, `\n${message.id},${time}\n`);
  console.log(`Message sent with ID ${message.id}`);
  checktimes();
} catch (error) {
  console.log(`Failed to send message: ${error}`);
}

I would appreciate if you could answer any of these questions:

Does Raycast do any sandboxing to commands running in the background?
Is the process where Raycast runs commands in the background any different to how it runs command manually clicked on by the user?

Heres a video showcasing the issue happening:
https://github.com/raycast/extensions/assets/113011003/51890648-9f01-47e0-bee1-5ad6f87d19d0
I want to thank you again for your continued help throughout this PR! 😀

Hey! No, Raycast is not sandboxed. The extension is run on a node process. More info on how it works here: https://www.raycast.com/blog/how-raycast-api-extensions-work

Hey! No, Raycast is not sandboxed. The extension is run on a node process. More info on how it works here: https://www.raycast.com/blog/how-raycast-api-extensions-work

I have looked into this deeper. I must say I have absolutely no clue as to why it runs fine when ran manually however doesn't run fully in the background. Does raycast do absolutely anything different when running commands in the background compared to when a command is ran manually.

Have you considered writing a test for it? I think will help debug the issue.


ng-repeat Track By evaluates only on Array length or reference change.

Do you want to request a feature or report a bug?
bug
What is the current behavior?
Object properties in track by evaluates only on the change of the Array length or reference.
The steps to reproduce and if possible a minimal demo of the problem via https://plnkr.co

http://plnkr.co/edit/VOlmRHH0NnsaAfarR0hd
Click on "changeName"-button -> You will notice no changes and no console output
Click on "addItem"-button -> Now you will notice that the first item is rerendered and console logs access to all track by object properties

What is the expected behavior?
This behavior seems to be inconsistent. One of the following is expected, but not mix of them:

object properties in track by should get evaluated on every digest like other components like ng-model and lead to the removal of the old DOM and adding of new DOM on change.
only changes or new references should get evaluated.

First behavior is more preferable, because this introduces consistency with other angular mechanics.
Is there a possible workaround for this inconsistency to get the first behavior?

I believe this works as expected, as this happens only when you use one-time binding in the ngRepeat template. It's also documented that ngRepeat uses $watchCollection to watch the collection, i.e. it checks the reference of the items, but not the content of the items.
When you update the name property in items[0], the template will not be updated because the property is one-time bound and ngRepeat will not fire the change detection because no item reference in the collection changed.
When you add an item, ngRepeat must rebuild the rendered collection, and notices that item[0] has a new tracking id, which causes the template to be re-built, which also updates the one-time binding.
So in conclusion you shouldn't use one-time binding if you plan to change the contens of your items dynamically.

I agree with @IceFight. Technically, It's OK to use $watchCollection to watch the collection. But for track by documentation says:

If you are working with objects that have a unique identifier property, you should track by this identifier instead of the object instance.
If this unique identifier property changes, then it is expected that collection elements are not equal anymore. Think of default behavior of two-way-binding.

Furthermore, depending on state of ngRepeat, current behavior is like between (pay attention to :: after track by):

{{::item.name}}

and

{{::item.name}}
.

I think the description of track by is incorrect / misleading in this case. It only tracks the item's position in the rendered output with the trackBy function. That means, when ngRepeat notices a change in the collection, it goes through all items and calls their trackBy Fn. If ngRepeat finds a corresponding DOM element, it will update this element, but not re-create, for better render performance. If you don't have a track by Fn, ngRepeat will use a hash to detect if the object already exists (the hash is based on object identity). When the objects in the collection get replaced, this means ngRepeat has to re-render, because new objects mean new hashes. When the objects get replaced, but their track value is the same, ngRepeat can maintain the rendered output.

@Narretz you describe current technical behavior. As I understand, the question is of expected behavior. I think argue with technical behavior is not right think.

If ngRepeat would watch the trackBy Fn for changes, this would actually be much more expensive than watchCollection.

I don't think so. You can apply several cache/invalidation technics, or just use... property, which you can set. Think of

{{::item.name}}
. Just simple reference comparison. But with huge benefit: you can use one-time-binding for whole inner block! That's an expressive performance boost! Is ngRepeat not a reason for what one-time-binding was invented for in first place?

I am not just talking about the implementation, I am talking about the intention behind the feature. It's possible that you expect something different from track by based on description or your use case.
I'm not 100% sure what you propose there but changing the collection change detection strategy is something that is independent from the track by mechanism. It would have to be incorporated into the watch mechanism.

I'm going to close this issue because we haven't got any (further) feedback. Feel free to reopen this issue if you can provide new feedback.
I've re-read the ngRepeat docs, and I believe tracking is sufficiently explained as being a different operation than watching the underlying collection for changes.
Generic proposals for the $watch functionality: https://github.com/angular/angular.js/issues/10069, https://github.com/angular/angular.js/issues/11177

Our web app uses ngRepeat to display a list of items. The array and its objects are never changed, but values of the objects inside can be modified by the user. These models are stored in a service and can be accessed elsewhere in the app at the same time.
We are using the one-time binding syntax inside each item to reduce the number of watchers on the page, as it can quickly climb to the thousands, since each row can have ~100 bindings on it. Without one-time binding and "track by", the page is unusably slow.
We generate a unique trackId for each item. This trackId is updated every time the item's values change. However, when the trackId changes, the items are not rebuilt.
Here's a bare-bones example. The track ID changes but the item is not rebuilt.
https://plnkr.co/edit/Lklq3ZNDUuggjgwmkoxj?p=preview
From the docs:

Custom Expression: It is possible to use any AngularJS expression to compute the tracking id, for example with a function, or using a property on the collection items. item in items track by item.id is a typical pattern when the items have a unique identifier, e.g. database id. In this case the object identity does not matter. Two objects are considered equivalent as long as their id property is same. Tracking by unique identifier is the most performant way and should be used whenever possible.

This implies that if the trackId's in the collection are to change, they would no longer be considered equal and would thus be re-evaluated. So by definition, the items inside of the ngRepeat are now different and yet the view is not updated to reflect that.

This happens, because ngRepeat will essentially use $watchCollection('friends', ...) under the hood and only apply the track by logic if the collection has changed. This means that track by will only work if the collection changes (and will be able to map a new object to an old one). You can also see that all entries are  correctly updated when adding a new item to the collection.
Theoretically, we could watch the results of track by for each item, but that be a little expensive (which is a concern for such a commonly used directive such as ngRepeat).
As a workaround, you can use "immutable" objects (i.e. ensure that you create a new instance whenever you want to update a property, instead of updating it in-place).

@thSteve the way you are using track-by is essentially the opposite of what it was intended for, although you do highlight an interesting use case/bug. But I'm pretty sure fixing it would cause too many issues (digest performance) for the normal use case.
As @gkalpak noted one solution would be using immutable objects and removing the use of track by. Then using one-time like you are now to avoid many watchers within the ng-repeat.
Another solution we thought is using $scope.$suspend() (new in 1.6.10: https://github.com/angular/angular.js/commit/41d5c90f170cc054b0f8f88220c22ef1ef6cc0a6) instead of track by + one-time bindings.  I think this would be the best option for performance, as long as it's ok to make every expression within the ng-repeat "one-time". Essentially:

use ng-repeat (no track by) to watch for changes to the collection
put a $watch statement within each repeated item to detect changes and do $scope.$digest() on a child scope
use $scope.$suspend() on that child scope to disable non-manual change detection

Might be a little tricky getting a reference to that suspended child scope in the parent scope. Might be best with a help directive (or two? a child one that injects its scope into the parent one?). But I'm pretty sure it's possible...


increase logging level to debug.

This could do with being configured, but config.ts depends on logger.

Overrode merge needing review because will had already approved, and it was only because two rebases fighting with renovate for time that I lost it


missing code signatures on macOS 12.6/x86_64 but not macOS 12.6/arm64

For the same version of scipy on macOS (12.6), the .so files are missing code signatures in the x86_64 build but not in the arm64 build.
I saw mention of this in #16446 and that signing responsibility falls with the "installation tools", but I thought the difference was worth noting.
On macOS 12.6/arm64, as expected:
khp@Kevins-MacBook-Pro-M1 Temp % uname -m; sw_vers
arm64
ProductName:	macOS
ProductVersion:	12.6
BuildVersion:	21G115
khp@Kevins-MacBook-Pro-arm64 Temp % pip3 install --no-cache-dir -t . scipy
Collecting scipy
  Downloading scipy-1.9.3-cp39-cp39-macosx_12_0_arm64.whl (28.6 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 28.6/28.6 MB 16.2 MB/s eta 0:00:00
Collecting numpy<1.26.0,>=1.18.5
  Downloading numpy-1.23.4-cp39-cp39-macosx_11_0_arm64.whl (13.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.4/13.4 MB 16.0 MB/s eta 0:00:00
Installing collected packages: numpy, scipy
Successfully installed numpy-1.23.4 scipy-1.9.3
khp@Kevins-MacBook-Pro-arm64 Temp % for so in `find . -name \*\.so -print`; do codesign -d $so 2>&1 | grep "not signed"; done
khp@Kevins-MacBook-Pro-arm64 Temp %

On macOS 12.6/x86_64, most code signatures are missing:
khp@Kevins-Mac-mini-x86_64 Temp % uname -m; sw_vers
x86_64
ProductName:	macOS
ProductVersion:	12.6
BuildVersion:	21G115
khp@Kevins-Mac-mini-x86_64 Temp % pip3 install -t . --no-cache-dir scipy
Collecting scipy
  Downloading scipy-1.9.3-cp39-cp39-macosx_10_9_x86_64.whl (34.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 34.3/34.3 MB 19.6 MB/s eta 0:00:00
Collecting numpy<1.26.0,>=1.18.5
  Downloading numpy-1.23.4-cp39-cp39-macosx_10_9_x86_64.whl (18.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.1/18.1 MB 20.0 MB/s eta 0:00:00
Installing collected packages: numpy, scipy
Successfully installed numpy-1.23.4 scipy-1.9.3
khp@Kevins-Mac-mini-x86_64 Temp % for so in `find . -name \*\.so -print`; do codesign -d $so 2>&1 | grep "not signed"; done
./numpy/core/_operand_flag_tests.cpython-39-darwin.so: code object is not signed at all
./numpy/core/_simd.cpython-39-darwin.so: code object is not signed at all
./numpy/core/_rational_tests.cpython-39-darwin.so: code object is not signed at all
./numpy/core/_umath_tests.cpython-39-darwin.so: code object is not signed at all
./numpy/core/_struct_ufunc_tests.cpython-39-darwin.so: code object is not signed at all
./numpy/core/_multiarray_tests.cpython-39-darwin.so: code object is not signed at all
./numpy/fft/_pocketfft_internal.cpython-39-darwin.so: code object is not signed at all
./numpy/random/bit_generator.cpython-39-darwin.so: code object is not signed at all
./numpy/random/mtrand.cpython-39-darwin.so: code object is not signed at all
./numpy/random/_generator.cpython-39-darwin.so: code object is not signed at all
./numpy/random/_pcg64.cpython-39-darwin.so: code object is not signed at all
./numpy/random/_sfc64.cpython-39-darwin.so: code object is not signed at all
./numpy/random/_mt19937.cpython-39-darwin.so: code object is not signed at all
./numpy/random/_philox.cpython-39-darwin.so: code object is not signed at all
./numpy/random/_bounded_integers.cpython-39-darwin.so: code object is not signed at all
./numpy/random/_common.cpython-39-darwin.so: code object is not signed at all
./scipy/cluster/_hierarchy.cpython-39-darwin.so: code object is not signed at all
./scipy/cluster/_optimal_leaf_ordering.cpython-39-darwin.so: code object is not signed at all
./scipy/cluster/_vq.cpython-39-darwin.so: code object is not signed at all
./scipy/ndimage/_ni_label.cpython-39-darwin.so: code object is not signed at all
./scipy/ndimage/_nd_image.cpython-39-darwin.so: code object is not signed at all
./scipy/ndimage/_ctest.cpython-39-darwin.so: code object is not signed at all
./scipy/ndimage/_cytest.cpython-39-darwin.so: code object is not signed at all
./scipy/linalg/_solve_toeplitz.cpython-39-darwin.so: code object is not signed at all
./scipy/linalg/_cythonized_array_utils.cpython-39-darwin.so: code object is not signed at all
./scipy/linalg/_matfuncs_sqrtm_triu.cpython-39-darwin.so: code object is not signed at all
./scipy/linalg/_decomp_update.cpython-39-darwin.so: code object is not signed at all
./scipy/linalg/_matfuncs_expm.cpython-39-darwin.so: code object is not signed at all
./scipy/optimize/_lsap.cpython-39-darwin.so: code object is not signed at all
./scipy/optimize/_zeros.cpython-39-darwin.so: code object is not signed at all
./scipy/optimize/_moduleTNC.cpython-39-darwin.so: code object is not signed at all
./scipy/optimize/_minpack2.cpython-39-darwin.so: code object is not signed at all
./scipy/optimize/_bglu_dense.cpython-39-darwin.so: code object is not signed at all
./scipy/optimize/_highs/_highs_constants.cpython-39-darwin.so: code object is not signed at all
./scipy/optimize/_highs/_highs_wrapper.cpython-39-darwin.so: code object is not signed at all
./scipy/optimize/_lsq/givens_elimination.cpython-39-darwin.so: code object is not signed at all
./scipy/optimize/cython_optimize/_zeros.cpython-39-darwin.so: code object is not signed at all
./scipy/optimize/_minpack.cpython-39-darwin.so: code object is not signed at all
./scipy/optimize/_group_columns.cpython-39-darwin.so: code object is not signed at all
./scipy/optimize/_slsqp.cpython-39-darwin.so: code object is not signed at all
./scipy/optimize/_direct.cpython-39-darwin.so: code object is not signed at all
./scipy/integrate/_test_multivariate.cpython-39-darwin.so: code object is not signed at all
./scipy/io/matlab/_mio_utils.cpython-39-darwin.so: code object is not signed at all
./scipy/io/matlab/_mio5_utils.cpython-39-darwin.so: code object is not signed at all
./scipy/io/matlab/_streams.cpython-39-darwin.so: code object is not signed at all
./scipy/_lib/_uarray/_uarray.cpython-39-darwin.so: code object is not signed at all
./scipy/_lib/_test_ccallback.cpython-39-darwin.so: code object is not signed at all
./scipy/_lib/_ccallback_c.cpython-39-darwin.so: code object is not signed at all
./scipy/_lib/_test_deprecation_call.cpython-39-darwin.so: code object is not signed at all
./scipy/_lib/_fpumode.cpython-39-darwin.so: code object is not signed at all
./scipy/_lib/messagestream.cpython-39-darwin.so: code object is not signed at all
./scipy/_lib/_test_deprecation_def.cpython-39-darwin.so: code object is not signed at all
./scipy/special/_comb.cpython-39-darwin.so: code object is not signed at all
./scipy/special/_test_round.cpython-39-darwin.so: code object is not signed at all
./scipy/special/_ufuncs_cxx.cpython-39-darwin.so: code object is not signed at all
./scipy/fftpack/convolve.cpython-39-darwin.so: code object is not signed at all
./scipy/interpolate/_bspl.cpython-39-darwin.so: code object is not signed at all
./scipy/interpolate/_rbfinterp_pythran.cpython-39-darwin.so: code object is not signed at all
./scipy/interpolate/interpnd.cpython-39-darwin.so: code object is not signed at all
./scipy/interpolate/_ppoly.cpython-39-darwin.so: code object is not signed at all
./scipy/fft/_pocketfft/pypocketfft.cpython-39-darwin.so: code object is not signed at all
./scipy/sparse/_sparsetools.cpython-39-darwin.so: code object is not signed at all
./scipy/sparse/csgraph/_min_spanning_tree.cpython-39-darwin.so: code object is not signed at all
./scipy/sparse/csgraph/_traversal.cpython-39-darwin.so: code object is not signed at all
./scipy/sparse/csgraph/_tools.cpython-39-darwin.so: code object is not signed at all
./scipy/sparse/csgraph/_matching.cpython-39-darwin.so: code object is not signed at all
./scipy/sparse/csgraph/_reordering.cpython-39-darwin.so: code object is not signed at all
./scipy/sparse/csgraph/_flow.cpython-39-darwin.so: code object is not signed at all
./scipy/sparse/csgraph/_shortest_path.cpython-39-darwin.so: code object is not signed at all
./scipy/sparse/_csparsetools.cpython-39-darwin.so: code object is not signed at all
./scipy/spatial/_hausdorff.cpython-39-darwin.so: code object is not signed at all
./scipy/spatial/_ckdtree.cpython-39-darwin.so: code object is not signed at all
./scipy/spatial/_voronoi.cpython-39-darwin.so: code object is not signed at all
./scipy/spatial/_distance_pybind.cpython-39-darwin.so: code object is not signed at all
./scipy/spatial/transform/_rotation.cpython-39-darwin.so: code object is not signed at all
./scipy/spatial/_distance_wrap.cpython-39-darwin.so: code object is not signed at all
./scipy/signal/_spectral.cpython-39-darwin.so: code object is not signed at all
./scipy/signal/_sosfilt.cpython-39-darwin.so: code object is not signed at all
./scipy/signal/_peak_finding_utils.cpython-39-darwin.so: code object is not signed at all
./scipy/signal/_max_len_seq_inner.cpython-39-darwin.so: code object is not signed at all
./scipy/signal/_sigtools.cpython-39-darwin.so: code object is not signed at all
./scipy/signal/_upfirdn_apply.cpython-39-darwin.so: code object is not signed at all
./scipy/signal/_spline.cpython-39-darwin.so: code object is not signed at all
./scipy/stats/_levy_stable/levyst.cpython-39-darwin.so: code object is not signed at all
./scipy/stats/_qmc_cy.cpython-39-darwin.so: code object is not signed at all
./scipy/stats/_boost/hypergeom_ufunc.cpython-39-darwin.so: code object is not signed at all
./scipy/stats/_boost/binom_ufunc.cpython-39-darwin.so: code object is not signed at all
./scipy/stats/_boost/ncf_ufunc.cpython-39-darwin.so: code object is not signed at all
./scipy/stats/_boost/nbinom_ufunc.cpython-39-darwin.so: code object is not signed at all
./scipy/stats/_boost/beta_ufunc.cpython-39-darwin.so: code object is not signed at all
./scipy/stats/_sobol.cpython-39-darwin.so: code object is not signed at all
./scipy/stats/_biasedurn.cpython-39-darwin.so: code object is not signed at all
./scipy/stats/_statlib.cpython-39-darwin.so: code object is not signed at all
./scipy/stats/_unuran/unuran_wrapper.cpython-39-darwin.so: code object is not signed at all
./scipy/stats/_stats.cpython-39-darwin.so: code object is not signed at all
./scipy/stats/_mvn.cpython-39-darwin.so: code object is not signed at all
./scipy/stats/_hypotests_pythran.cpython-39-darwin.so: code object is not signed at all
khp@Kevins-Mac-mini-x86_64 Temp %

@khpeterson thanks for the report. Are you actually experiencing a problem on x86-64 due to the lack of code signing, or is this more of a "I'd like to understand what is happening here"?

Does the test suite pass? python -c "import scipy; scipy.test()"?

@rgommers no hard issue for me, just thought the discrepancy was worth noting in case it's unexpected.

@andyfaff The test suite finishes on arm64:
=================================== 37188 passed, 3336 skipped, 12061 deselected, 138 xfailed, 11 xpassed, 326 warnings in 416.61s (0:06:56) ===================================

And FYIY/not related to code signatures, on x86_64 pytest dies with "OSError: [Errno 24] Too many open files" after Fs in scipy/stats/tests/test_sampling.  Everything else finishes OK and when I rerun 'scipy.test(tests=['scipy/stats/tests'])' it finishes OK too.

And FWIW/not related to code signatures, on x86_64 pytest dies with "OSError: [Errno 24] Too many open files" after Fs in scipy/stats/tests/test_sampling. Everything else finishes OK and when I rerun 'scipy.test(tests=['scipy/stats/tests'])' it finishes OK too.

That is bad. Probably a relatively new issue. Is it reproducible? And what do you mean by "after Fs"?

Yes, seems reproducible, though I've only tried twice.  By "after Fs" I meant, the first hard failure cases reported by pytest:
scipy/stats/tests/test_sampling.py .......................................................................................................................................FFFF [ 97%]
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF.....F.....FFFFFFF.FFFFssFFFssssssssssFFsFF.....F.FF..........F.FFFFssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 97%]
ssssssssssssssssssssssssssssssssssssssFFFFFFFFFF..FFFFFFFFFFFFFFF.........FFFFFFFFF..sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 98%]
sssssssssssssssssssss.FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFssFFFssssssssssFFsFFFFFFFFF..........FFFFFF...                                                                             [ 98%]

I suspect it's a newly added and highly parametrized test that is failing to close a data file, or some such thing. If you could run it with higher verbosity (e.g., python dev.py test -s stats --verbose) so that the test output shows on which test it's failing, then hopefully we can get that fixed.

OK, I ran scipy.test(verbose=10) and have a log that shows the specific failing tests.  Would you like me to create another issue rather than conflate with this one?

Yes, that would be good, thanks (please Cc me on it).

I don't think there's anything left to do here, and nothing is actually broken. So I'll close this issue.


Fix Python3.5 windows artifact build

Addresses https://github.com/grpc/grpc/issues/9355
Build
https://grpc-testing.appspot.com/view/Artifacts/job/gRPC_build_artifacts/2612/

Just curious: what was the mechanism of failure and why does this fix it?

InetNtopA was undefined for msvc version used by setuptools for Python3.5.
This fixes it by changing InetNtopA->inet_ntop like it was before.

So... there are several reasons why using inet_ntop isn't such a good idea. The main problem is that it gives the false impression that this is the posix function call, which it isn't.
Now I can agree to that change, granted there's a comment there that explains this a bit. I'm going to propose a comment for that line.
Also, I'm guessing this is using the compiler from here ? https://www.microsoft.com/en-us/download/details.aspx?id=44266

And, yes, that also breaks normal Windows build, according to the test results.

Python 3.5 shouldn't be attempting to build with vspython27 (MSVC 2008) AFAIK. Python 3.x's hard coded MSVC should be the 2010 version (or whatever the more-recent-heck it finds and uses - distutils is a fickle thing).

Ah, right, yes, that link was for 2.7. Well, can someone figure me out which compiler and SDK python 3.x is using ? :-) There might be a simpler compile-time switch.

What changed with the windows build where inet_ntop is no longer vaild?  Can we just roll that back?

Python 3.5 uses MSVC 2015 because Python3.5 for windows is compiled with MSVC 2015.  The problem is a bunch of the runtime library stuff changed in MSVC, breaking compatibility with MinGW, so we need to use MSVC 2015.

Is there any objection to just changing this to InetNTop?
From the doc:
When UNICODE or _UNICODE is defined, InetNtop is defined to InetNtopW, the Unicode version of this function. The pStringBuf parameter is defined to the PSTR data type.
When UNICODE or _UNICODE is not defined, InetNtop is defined to InetNtopA, the ANSI version of this function. The ANSI version of this function is always defined as inet_ntop. The pStringBuf parameter is defined to the PWSTR data type.

I'm pretty darn confused that InetNtopA is outright undefined in the binaries we attempt to link to. Nothing in the docs said that InetNtopA is supposed to be missing from the system DLLs under certain conditions...

https://grpc-testing.appspot.com/view/Artifacts/job/gRPC_build_artifacts/2642/

Turns out InetNtop is also undefined.  I think the only approach here is an #ifdef
https://grpc-testing.appspot.com/view/Artifacts/job/gRPC_build_artifacts/2643/

@kpayson64 I hate to be that guy, but any chance this could be a include/grpc/impl/codegen/port_platform.h-esque precompiler option?

https://grpc-testing.appspot.com/view/Artifacts/job/gRPC_build_artifacts/2645/

https://grpc-testing.appspot.com/view/Artifacts/job/gRPC_build_artifacts/2647/

https://grpc-testing.appspot.com/view/Artifacts/job/gRPC_build_artifacts/2648/

https://grpc-testing.appspot.com/view/Artifacts/job/gRPC_build_artifacts/2651/


Deploy 2.4.0 to all chains

Current dependencies on/for this PR:

main

PR #370   👈

This stack of pull requests is managed by Graphite.


Review Contributing.md

Just noticed the Contributing.md file.
It appears as though it was inherited from some "Moya" project, and still contains references to that project.
If we want to follow those contribution guidelines, we need to reword this document to refer to the EmergentWorks curriculum project.
It also mentions that they open the project to push requests.   I don't know if this repo accepts unsolicited pushes (that would be unusual).  If it doesn't, then this document needs to be reworded (significantly, since it's mostly about the implications of that decision).   If this repo does accept pushes, that should be a conscious decision, and we should reword this a bit so that it's clear that it refers to the EmergentWorks curriculum repo.
I don't mind taking a shot at cleaning it up, but would need to know what our intentions are.

For now, let's remove the file since the committee are the owners of this repository. In the long run, we can think of how we can open this curriculum to contributions outside of the committee.

OK... it's gone


Question about headers inside the Tabs

So when using the tabs-plugin: Is there any way to get the prompt for Header inside the tab? It doesnt seem to be recognized like normal headers
When I use "[[##]]" to search for headers for linking, the one inside the tab is not recognized

Anything within the code block will be treated as plain text in obsidian. as well the heading.

Oh okay, I see


Add httpx to the gzip exceptions list

httpx supports GZip natively: https://gitlab.com/honeyryderchuck/httpx#httpx-a-ruby-http-library-for-tomorrow-and-beyond

@es, thank you for your contribution and sorry it took so long to get back to you. Can you please provide more information about what this change is about and is there any way you could test this?

No worries! It adds support for apps that use httpx as their HTTP client library (see link in PR description). I'm no longer working on this project so won't have time to shepherd this PR.
I can say it was running in production and had no issues, but understand if that's not sufficient 🙂

I have confirmed that :httpx works but needs gzip exception, see: https://github.com/zendesk/zendesk_api_client_rb_repl/pull/2/commits/a260056ac7c44ddb2a977f3f13cce52328d36f44 for the implementation.
Will bring into the main branch.
Thank you for your contribution @es.


Bug 64558 - Improve performances and throughput of Sample Results by lifting contention on writing SampleResults in CSV/XML

Hello Team,
As reported in bugzilla (https://bz.apache.org/bugzilla/show_bug.cgi?id=64558), we have noticed a major contention in JMeter that becomes a major problem at high scale.
The issue is related to the PrintWriter in ResultCollector.
In tests with high throughput (> 100 req/s), the lock taken by PrintWriter#println() will lead many threads to block waiting for the lock to be released (even with the underlying buffering).
Following review done by JMeter team on PR 601 and PR 602 (Thanks Felix ! , Thanks Vladimir !), we noticed important performance enhancement and more stable results using ArrayBlockingQueue.
Results with ArrayBlockingQueue show stable performance improvements
Here are the results of one run accross few , results are reproducible
sleepTime 10ms:
With PR:
jmeter -n -t test_bug_64558.jmx -Jjmeter.save.queue.size=524288 -Jthreads=2000 -Jduration=120 -Jrampup=10 -JsleepTime=10 -l results.csv
=> 3490469 samples
JMeter 5.3:
./jmeter -n -t test_bug_64558.jmx -Jthreads=2000 -Jduration=120 -Jrampup=10 -JsleepTime=10 -l results.csv
=> 2074536 samples
Improvement: 68%
sleepTime 0ms:
With PR:
jmeter -n -t test_bug_64558.jmx -Jjmeter.save.queue.size=524288 -Jthreads=2000 -Jduration=120 -Jrampup=10 -JsleepTime=0 -l results.csv
=> 5215534 samples
JMeter 5.3:
./jmeter -n -t test_bug_64558.jmx -Jthreads=2000 -Jduration=120 -Jrampup=10 -JsleepTime=0 -l results.csv
=> 28008428 samples
Degradation: -81%
Lower throughput with sleepTime=0 is due to queue being filled.
Implementation does the following:

Use a Queue within ListenerNotifier (enabled for now to see tests run, otherwise regressions could be missed), it can be disabled by setting size to 0 to revert to existing behaviour. This allows optimization to apply on all listeners, like Summarizer
Introduce 2 annotations JMeterThreadBoundSampleListener / JMeterThreadUnboundSampleListener as in fact some SampleListener MUST be executed within the JMeterThread and cannot be asynchronously executed.
Mark all listeners with one of the 2 annotations
Make ListenerNotifier a Singleton
Introduce a configurable buffer for output CSV/XML file  (property:jmeter.save.saveservice.buffer) => This alone improves slightly performance
Cache properties that are highly requested : Thread Group name, isSuccess, IsError , filename
Remove costly synchronization on some metrics in favor of multiple AtomicInteger, this looks an acceptable trade-off to me, but if needed we can revert it

Impacts on JMeter Behaviour
When Queue is enabled, the order of execution for SampleListener will be:

SampleListener that are not annothated JMeterThreadBoundSampleListener executed within JMeterThread as currently
SampleListener that are JMeterThreadUnboundSampleListener executed within asynchronous queue

Contributed by UbikLoadPack Team:
Florent
Benoit
Philippe

Website: https://ubikloadpack.com
Twitter: @ubikloadpack
How Has This Been Tested?

ListenerNotifier queue size to 0:
./gradlew clean test

All tests passing

ListenerNotifier queue size to 5000:
./gradlew clean test

All tests passing

benchmark tests as reported above

Throughput improved by 68%
Files:
test_bug_64558.jmx.txt

Hello Team,
I plan to merge the PR this afternoon.
Let me know if you have any blocker regarding this action.
Thanks
Regards

My concerns are:

"marker interfaces". The pattern was invented long ago when no other means were possible. Now we can have annotations and other means that enable better metadata tracking. Marker interfaces do make the maintenance more complicated, and it not clear why do you add interfaces to "sample listeners" only. For instance, do you intend to create "JMeterThreadBound..." for every JMeter component class type? Then we'll end up in 100 useless interfaces.

Then, as we move to async-based test plan execution, the notion of JMeterThreadBound would be even mooter.

The test you use looks contrived. Does the change produce noticeable improvement for, say, HTTP testing?

I see you observe improvements like 1M -> 1.7M requests/sec when doing no-op test. Ok. What is the number of requests per second you can achieve on the same machine with a single HTTP sampler (or HTTP + regexp extractor)? Is it 10K/sec?
Then the maximum possible rate after the improvement would be 1/(1/10K-1/(1.7M-1M)) == 10.1K/sec. Of course, I might be wrong, but it would be surprising if the end-users would observe more than say 2-5% improvement.
Of course, we can always rework or even undo the change, however, adding interfaces like JMeterThreadBoundSampleListener to the public API  looks super weird.

My concerns are:
1. "marker interfaces". The pattern was invented long ago when no other means were possible. Now we can have annotations and other means that enable better metadata tracking. Marker interfaces do make the maintenance more complicated, and it not clear why do you add interfaces to "sample listeners" only. For instance, do you intend to create "JMeterThreadBound..." for every JMeter component class type? Then we'll end up in 100 useless interfaces.

As I said I am ok to switch to annotation in this case.

Then, as we move to async-based test plan execution, the notion of JMeterThreadBound would be even mooter.
1. The test you use looks contrived. Does the change produce noticeable improvement for, say, HTTP testing?

I see you observe improvements like 1M -> 1.7M requests/sec when doing no-op test. Ok. What is the number of requests per second you can achieve on the same machine with a single HTTP sampler (or HTTP + regexp extractor)? Is it 10K/sec?

the No-op test is to only test the throughput of writing.
If I do a test with HTTP then it will involve other parameters.

Then the maximum possible rate after the improvement would be 1/(1/10K-1/(1.7M-1M)) == 10.1K/sec. Of course, I might be wrong, but it would be surprising if the end-users would observe more than say 2-5% improvement.

The contention was really faced in a real life test with real HTTP test.
The impact on test is very important and breaks the simulation. It's not only about throughput.
Did you try the PR build ?
From where do you get this 2-5% improvements number ?

Of course, we can always rework or even undo the change, however, adding interfaces like JMeterThreadBoundSampleListener to the public API looks super weird.

Ok,let's stick to annotations then

The contention was really faced in a real life test with real HTTP test.

Can you please clarify what is the improvement for a real-life HTTP case?

The contention was really faced in a real life test with real HTTP test.

Can you please clarify what is the improvement for a real-life HTTP case?

Where you previously had all threads waiting on lock to write to CSV , it is not more present.
This is particularly the case in a plan with no Think Time at low number of threads, or a plan with think times but at high number of threads (5000 in my case).

From where do you get this 2-5% improvements number ?

That is an estimation.
Your measurements show that the peak throughput is ~1-2M ops/sec.
That means a single write takes ~0.5..1microsecond (== 1sec / 1Mops/sec).
A real-life HTTP test would probably top at 10-50K/sec which is 20..100 microseconds per test.
If the improvement cuts 0.5 microseconds from each write, then the improvement for HTTP would be like (20...100us => 19.5..99.5us) which is 10..51K ops/sec.

Where you previously had all threads waiting on lock to write to CSV , it is not more present.
This is particularly the case in a plan with no Think Time at low number of threads, or a plan with think times but at high >number of threads (5000 in my case).

Do you have the results for the throughput / sustained operation rate?
I agree there might be improvements, however, I'm afraid, the improvements from the PR like this can't exceed 2-5%, and it is strange to hear "performance increased by 68%".
Of course, there might be edge cases when the improvement is 68%. However, it does not seem to be right to declare a major performance improvement for an unrealistic case.

Where you previously had all threads waiting on lock to write to CSV , it is not more present.
This is particularly the case in a plan with no Think Time at low number of threads, or a plan with think times but at high >number of threads (5000 in my case).

Do you have the results for the throughput / sustained operation rate?
I agree there might be improvements, however, I'm afraid, the improvements from the PR like this can't exceed 2-5%, and it is strange to hear "performance increased by 68%".
Of course, there might be edge cases when the improvement is 68%. However, it does not seem to be right to declare a major performance improvement for an unrealistic case.

In the approach I followed, I am tuning a piece of code, to see improvements on it, I need to build a case where it is the only (if possible) piece of code involved, and based on this I conclude whether optimization improves or not.
If I add other factors that could slowdown (HTTP) , how can I evaluate whether good/bad results come from my code of from all involved factors when using HTTP.
Second , in the test I proposed, you can adjust the waiting time of the Java Request to simulate a real life call.
I also made test with 10ms waiting time when working on it. Do you want me to share those results ?
Why don't you try it in your configuration and see what you get ?
If it's just a communication matter and you don't want to mention 68% improvement, no problem for me, I don't want to loose too much time on this.
If it's another matter then please clarify.
Thanks

I need to build a case where it is the only (if possible) piece of code involved, and based on this I conclude whether optimization improves or not.

That is indeed a way to go to measure the best possible improvement.

Second , in the test I proposed, you can adjust the waiting time of the Java Request to simulate a real life call.

In practice, sleep time is a wrong proxy for a real scenario. JMeter spends time on sending requests, and JMeter clones test plan elements, so in practice the are limits on the number of threads (in both CPU and heap resources) the end-users can have.

Please avoid naming like JMeterThreadBoundSampleListener.

The annotation is in org.jmeter.... package, so there's no need to duplicate jmeter
Why do you have SampleListener there? Is the annotation only for listeners?
Why do you have two annotations instead of a single annotation with an enum property?

Where you previously had all threads waiting on lock to write to CSV , it is not more present.
This is particularly the case in a plan with no Think Time at low number of threads, or a plan with think times but at high >number of threads (5000 in my case).

Do you have the results for the throughput / sustained operation rate?
I agree there might be improvements, however, I'm afraid, the improvements from the PR like this can't exceed 2-5%, and it is strange to hear "performance increased by 68%".
Of course, there might be edge cases when the improvement is 68%. However, it does not seem to be right to declare a major performance improvement for an unrealistic case.

In the approach I followed, I am tuning a piece of code, to see improvements on it, I need to build a case where it is the only (if possible) piece of code involved, and based on this I conclude whether optimization improves or not.
If I add other factors that could slowdown (HTTP) , how can I evaluate whether good/bad results come from my code of from all involved factors when using HTTP.
Second , in the test I proposed, you can adjust the waiting time of the Java Request to simulate a real life call.
I also made test with 10ms waiting time when working on it. Do you want me to share those results ?
Why don't you try it in your configuration and see what you get ?
If it's just a communication matter and you don't want to mention 68% improvement, no problem for me, I don't want to loose too much time on this.
If it's another matter then please clarify.
Thanks

It looks like I mixed up results previously.
With 10ms we have 68% improvement, while there is no improvements but degradation with 0ms sleepTime.
Anyway, I guess it would be better that reviewers of this PR make their own tests to double check.

Please avoid naming like JMeterThreadBoundSampleListener.
1. The annotation is in `org.jmeter....` package, so there's no need to duplicate `jmeter`

ok

2. Why do you have `SampleListener` there? Is the annotation only for listeners?

Yes for now

3. Why do you have two annotations instead of a single annotation with an enum property?

Ok , give me a name to avoid another round trip

I've tried the following:

I've installed a local nginx that serves Apache JMeter website

Then I created a test case that opens the home page, then it extracts "getting started" URL and opens it, then it extracts "user manual" URL and opens it. All the actions are run in a transaction controller.

I launched the benchmark as follows
 ../bin/jmeter -n -t jmeter_home_page.jmx -Jjmeter.save.queue.size=524288 -Jthreads=2000 -Jduration=120 -Jrampup=1 -l results.csv

The results are:
Before patch:
Starting standalone test @ Sat Jul 11 15:32:08 MSK 2020<PHONE_NUMBER>843)
summary +  76492 in 00:00:21 = 3650.8/s Avg:   506 Min:     1 Max:  6071 Err:  1101 (1.44%) Active: 2000 Started: 2000 Finished: 0
summary + 147463 in 00:00:30 = 4926.1/s Avg:   405 Min:   301 Max:   727 Err:     0 (0.00%) Active: 2000 Started: 2000 Finished: 0
summary = 223955 in 00:00:51 = 4400.9/s Avg:   439 Min:     1 Max:  6071 Err:  1101 (0.49%)
summary + 145472 in 00:00:30 = 4852.1/s Avg:   409 Min:     3 Max: 15673 Err:  1838 (1.26%) Active: 2000 Started: 2000 Finished: 0
summary = 369427 in 00:01:21 = 4568.2/s Avg:   427 Min:     1 Max: 15673 Err:  2939 (0.80%)
summary + 135559 in 00:00:30 = 4518.6/s Avg:   445 Min:   310 Max: 11305 Err:     0 (0.00%) Active: 2000 Started: 2000 Finished: 0
summary = 504986 in 00:01:51 = 4554.8/s Avg:   432 Min:     1 Max: 15673 Err:  2939 (0.58%)
summary +  58676 in 00:00:12 = 4981.4/s Avg:   366 Min:     0 Max:   733 Err:     0 (0.00%) Active: 0 Started: 2000 Finished: 2000
summary = 563662 in 00:02:03 = 4595.8/s Avg:   425 Min:     0 Max: 15673 Err:  2939 (0.52%)
Tidying up ...    @ Sat Jul 11 15:34:11 MSK 2020<PHONE_NUMBER>780)

After patch:
Starting standalone test @ Sat Jul 11 15:40:24 MSK 2020<PHONE_NUMBER>569)
summary +   9043 in 00:00:05 = 1761.7/s Avg:   679 Min:     1 Max:  3400 Err:   193 (2.13%) Active: 2000 Started: 2000 Finished: 0
summary + 146023 in 00:00:30 = 4865.3/s Avg:   416 Min:   127 Max:  4879 Err:     2 (0.00%) Active: 2000 Started: 2000 Finished: 0
summary = 155066 in 00:00:35 = 4412.1/s Avg:   431 Min:     1 Max:  4879 Err:   195 (0.13%)
summary + 137837 in 00:00:30 = 4601.0/s Avg:   416 Min:    28 Max:  4500 Err:   758 (0.55%) Active: 2000 Started: 2000 Finished: 0
summary = 292903 in 00:01:05 = 4499.0/s Avg:   424 Min:     1 Max:  4879 Err:   953 (0.33%)
summary + 130667 in 00:00:30 = 4355.9/s Avg:   478 Min:     2 Max: 24626 Err:  1996 (1.53%) Active: 2000 Started: 2000 Finished: 0
summary = 423570 in 00:01:35 = 4453.8/s Avg:   441 Min:     1 Max: 24626 Err:  2949 (0.70%)
summary + 104537 in 00:00:28 = 3793.1/s Avg:   508 Min:     0 Max: 11232 Err:     0 (0.00%) Active: 0 Started: 2000 Finished: 2000
summary = 528107 in 00:02:03 = 4305.4/s Avg:   454 Min:     0 Max: 24626 Err:  2949 (0.56%)
Tidying up ...    @ Sat Jul 11 15:42:27 MSK 2020<PHONE_NUMBER>561)

It does not look like the patch improves the performance.
jmeter_home_page.jmx.txt

@pmouawad , I've executed a test with a simple web plan (3 web requests, 2 regex extractors), and it looks like the improvement is not visible in that case.
That is why I still think the majority of the users won't notice any difference with the patch applied. That raises a question if the complexity is worth adding.

@pmouawad , I've executed a test with a simple web plan (3 web requests, 2 regex extractors), and it looks like the improvement is not visible in that case.
That is why I still think the majority of the users won't notice any difference with the patch applied. That raises a question if the complexity is worth adding.
Hello,
Did you adjust ephemeral port settings ?
Any TCP stack tuning ?
Thanks
Regards

I've added 10ms sleep test as well: -Jjmeter.save.queue.size=524288 -Jthreads=2000 -Jduration=120 -Jrampup=1
before:
summary + 191792 in 00:00:21 = 9219.0/s Avg:   156 Min:    10 Max:   991 Err:     0 (0.00%) Active: 2000 Started: 2000 Finished: 0
summary + 317236 in 00:00:30 = 10574.5/s Avg:   152 Min:    10 Max:   548 Err:     0 (0.00%) Active: 2000 Started: 2000 Finished: 0
summary = 509028 in 00:00:51 = 10019.4/s Avg:   153 Min:    10 Max:   991 Err:     0 (0.00%)
summary + 314744 in 00:00:30 = 10491.5/s Avg:   155 Min:    10 Max:  1218 Err:     0 (0.00%) Active: 2000 Started: 2000 Finished: 0
summary = 823772 in 00:01:21 = 10194.7/s Avg:   154 Min:    10 Max:  1218 Err:     0 (0.00%)
summary + 347093 in 00:00:30 = 11569.8/s Avg:   153 Min:    10 Max:   785 Err:     0 (0.00%) Active: 2000 Started: 2000 Finished: 0
summary = 1170865 in 00:01:51 = 10567.0/s Avg:   154 Min:    10 Max:  1218 Err:     0 (0.00%)
summary +  96680 in 00:00:10 = 9289.9/s Avg:   160 Min:    10 Max:  1339 Err:     0 (0.00%) Active: 0 Started: 2000 Finished: 2000
summary = 1267545 in 00:02:01 = 10457.3/s Avg:   154 Min:    10 Max:  1339 Err:     0 (0.00%)

after:
summary +      1 in 00:00:00 =    9.1/s Avg:    13 Min:    13 Max:    13 Err:     0 (0.00%) Active: 90 Started: 90 Finished: 0
summary + 320825 in 00:00:27 = 11825.9/s Avg:   157 Min:    10 Max:   884 Err:     0 (0.00%) Active: 2000 Started: 2000 Finished: 0
summary = 320826 in 00:00:27 = 11778.2/s Avg:   157 Min:    10 Max:   884 Err:     0 (0.00%)
summary + 371391 in 00:00:30 = 12342.3/s Avg:   157 Min:    10 Max:   946 Err:     0 (0.00%) Active: 2000 Started: 2000 Finished: 0
summary = 692217 in 00:00:57 = 12074.3/s Avg:   157 Min:    10 Max:   946 Err:     0 (0.00%)
summary + 375868 in 00:00:30 = 12513.5/s Avg:   157 Min:    10 Max:   954 Err:     0 (0.00%) Active: 2000 Started: 2000 Finished: 0
summary = 1068085 in 00:01:27 = 12225.3/s Avg:   157 Min:    10 Max:   954 Err:     0 (0.00%)
summary + 364263 in 00:00:30 = 12148.2/s Avg:   159 Min:    10 Max:  1309 Err:     0 (0.00%) Active: 2000 Started: 2000 Finished: 0
summary = 1432348 in 00:01:57 = 12205.6/s Avg:   157 Min:    10 Max:  1309 Err:     0 (0.00%)
summary +  38372 in 00:00:04 = 10097.9/s Avg:   167 Min:    11 Max:   566 Err:     0 (0.00%) Active: 0 Started: 2000 Finished: 2000
summary = 1470720 in 00:02:01 = 12139.5/s Avg:   158 Min:    10 Max:  1309 Err:     0 (0.00%)

That is roughly 10K -> 12K which is 20% improvement for the very limited case when Test plan is doing nothing.
I still insist that sleep is not a realistic test plan because it has no business logic. The web plan would perform HTTP request send/receive which consumes CPU, and it makes the contention on the result saver much less to be an issue.

Here's the result for jmeter_home_page.jmx, -Jthreads=2 -Jduration=120 -Jrampup=1
It does not look like TCP is an issue here. There's "same user on each iteration", and "use keepalive".
summary + 105948 in 00:00:22 = 4757.6/s Avg:     0 Min:     0 Max:   197 Err:     0 (0.00%) Active: 2 Started: 2 Finished: 0
summary + 173532 in 00:00:30 = 5784.4/s Avg:     0 Min:     0 Max:   311 Err:     0 (0.00%) Active: 2 Started: 2 Finished: 0
summary = 279480 in 00:00:52 = 5347.0/s Avg:     0 Min:     0 Max:   311 Err:     0 (0.00%)
summary + 177643 in 00:00:30 = 5921.4/s Avg:     0 Min:     0 Max:    37 Err:     0 (0.00%) Active: 2 Started: 2 Finished: 0
summary = 457123 in 00:01:22 = 5556.4/s Avg:     0 Min:     0 Max:   311 Err:     0 (0.00%)
summary + 182721 in 00:00:30 = 6090.7/s Avg:     0 Min:     0 Max:   240 Err:     0 (0.00%) Active: 2 Started: 2 Finished: 0
summary = 639844 in 00:01:52 = 5699.2/s Avg:     0 Min:     0 Max:   311 Err:     0 (0.00%)
summary +  48193 in 00:00:08 = 6177.0/s Avg:     0 Min:     0 Max:    14 Err:     0 (0.00%) Active: 0 Started: 2 Finished: 2
summary = 688037 in 00:02:00 = 5730.2/s Avg:     0 Min:     0 Max:   311 Err:     0 (0.00%)

Can you share the output you get? Does JMeter produce significantly different results for you?

For the HTTP test, are you running the server and JMeter on same machine ?

Yes, I'm running client and server on the same machine

Yes, I'm running client and server on the same machine
…

Ok, 2 other questions you may not have seen:

I notice you have an error rate that is not 0%, what are those ones ?
What are the limits of user running the test ?

I notice you have an error rate that is not 0%, what are those ones ?

The exceptions are Non HTTP response code: java.net.SocketException,Non HTTP response message: Broken pipe (Write failed)

What are the limits of user running the test ?

What do you mean?
$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 64000
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1418
virtual memory          (kbytes, -v) unlimited


Auto Generate rarreg.key

Hello bitcookies,
It's kinda a suggestion but will it be possible to make an exe that takes registration name as a text field input and outputs rarreg.key directly without running it through powershell ?
It's for the people who are not well versed in computers.
Thanks for the keygen thought i really like it.
PS :- I'm planning to make one but idk anything about making exe files so I'll have to learn and start it from scratch.

Hi,
Thanks so a lot for the suggestions. A keygen program with a GUI can be planned. Until then, you can use Github Actions to generate keys easily and simply.

Hello bitcookies, It's kinda a suggestion but will it be possible to make an exe that takes registration name as a text field input and outputs rarreg.key directly without running it through powershell ? It's for the people who are not well versed in computers.
Thanks for the keygen thought i really like it.
PS :- I'm planning to make one but idk anything about making exe files so I'll have to learn and start it from scratch.

I've made a web-based version: https://teknixstuff.github.io/misc-files/rargen.html

Hello bitcookies, It's kinda a suggestion but will it be possible to make an exe that takes registration name as a text field input and outputs rarreg.key directly without running it through powershell ? It's for the people who are not well versed in computers.
Thanks for the keygen thought i really like it.
PS :- I'm planning to make one but idk anything about making exe files so I'll have to learn and start it from scratch.

I've made a web-based version: https://teknixstuff.github.io/misc-files/rargen.html

That's cool


Create a voting strategy for Juicebox

Currently you need to use "contract-call" strategy to get voting power for a project on Juicebox https://juicebox.money , see this guide: https://juicebox.notion.site/How-to-use-Juicebox-tokens-in-a-Snapshot-strategy-4f7ea3518c31409dad8a4d649021a972
We need to create a custom strategy "juicebox" that make this easier, where you only have to add the symbol and the project id.
More context: https://twitter.com/erik_udahl/status/1465521855289344004

Hi, just submitted a PR here https://github.com/snapshot-labs/snapshot-strategies/pull/206 (as new contributor)

Worked in by @drgorillamd here: https://github.com/snapshot-labs/snapshot-strategies/pull/206

@drgorillamd You contact me or Laurent in our Discord https://discord.snapshot.org/


can't install platform-ide-terminal on my mac on atom

[x] I have reset Atom to defaults prior to submitting report.
[ ] I have not reset Atom to defaults prior to submitting report.

Description

I can't install platform-ide-terminal at all. it loads and stops. Other terminal gets installed but this one doesn't.
Steps to reproduce

Expected behavior:
Actual behavior:
Reproduces how often:
Versions

> atom --version
1.31.1

> apm --version

OS name and version:
Platformio-ide-terminal version:
MAC OS MOJave version 10.14.6
Additional Information

Thank you for reaching out with this bug report.
You are getting this reply because the issue template was not filled in its entirety, overwritten,  or some portions were partially left out.
This issue template contains important information to be able to provide any kind of support, and will help us triage or reproduce the issue. Without reproduction no workaround or fix can normally be derived...
Copy and paste the template located at https://raw.githubusercontent.com/platformio/platformio-atom-ide-terminal/master/.github/ISSUE_TEMPLATE.md and fill in all fields. Logs / Errors / other information should be added at the bottom in the Notes portion of the issue template.
Tickets without this information may be closed and labeled invalid at our discretion.
Thank you for your understanding.


'NoneType' object has no attribute 'ncores'

AttributeError                            Traceback (most recent call last)
 in ()
1 import os
2 os.environ["MODIN_ENGINE"] = "dask"  # Modin will use Dask
----> 3 import modin.pandas as pd
D:\Miniconda3\lib\site-packages\modin\pandas_init_.py in ()
225
226             client = Client()
--> 227         num_cpus = sum(client.ncores().values())
228 elif execution_engine != "Python":
229     raise ImportError("Unrecognized execution engine: {}.".format(execution_engine))
D:\Miniconda3\lib\site-packages\distributed\client.py in nthreads(self, workers, **kwargs)
3093         if workers is not None and not isinstance(workers, (tuple, list, set)):
3094             workers = [workers]
-> 3095         return self.sync(self.scheduler.ncores, workers=workers, **kwargs)
3096
3097     ncores = nthreads

Hi @lastrei, thanks for posting!
What is the version of Dask/distributed/Modin/Python you are using?
From the traceback, the source of the error is in the distributed package, and I haven't been able to reproduce this.

I have the same probelm and my warning tells:UserWarning: The Dask Engine for Modin is experimental.
Traceback (most recent call last):
File "", line 1, in
import modin.pandas as pd
File "D:\soft\python\lib\site-packages\modin\pandas_init_.py", line 227, in
num_cpus = sum(client.ncores().values())
File "D:\soft\python\lib\site-packages\distributed\client.py", line 3036, in nthreads
return self.sync(self.scheduler.ncores, workers=workers, **kwargs)
AttributeError: 'NoneType' object has no attribute 'ncores'

@chenwest95 Would you be able to tell me the versions of the packages:
import dask
print(dask.__version__)
import distributed
print(distributed.__version__)

I have been unable to reproduce this issue.

sorry i'm late
it's Modin version problem
i uninstall Modin and re install in an old version it's working fine

@mecaloza What version of Modin are you using? The code from this part of Modin has changed a lot so it should not be running into this anymore.
The error is getting thrown from within Dask, so it is not something that Modin can control. We changed the way we access parts of Dask so we do not rely on Dask to compute the number of cores anymore.

This hsould be resolved, please reopen if the issue persists.

Having the same issue on python3.9:
dask version: 2021.01.0
modin version: 0.8.3

Having the same issue on python3.9:
dask version: 2021.01.0
modin version: 0.8.3

@lucasczpnk Does the issue persist if you install from the github master?
https://modin.readthedocs.io/en/latest/installation.html#installing-from-the-github-master-branch

@lucasczpnk Does the issue persist if you install from the github master?
https://modin.readthedocs.io/en/latest/installation.html#installing-from-the-github-master-branch

@devin-petersohn Thank you!
It worked just fine.

@devin-petersohn Thank you!
It worked just fine.

the conda version has the same problem

@ma00 could you please post your dask and distributed versions:
import dask
print(dask.__version__)
import distributed
print(distributed.__version__)

Could you please also describe your operating system and your python version?
Does this answer from StackOverflow help you?

I have this issue in a conda base environment. Python 3.7, modin is 0.12.1, distributed is 2021.10.0 and dask is 2021.10.0. Error message while reading modin.pandas read_csv was - 'NoneType' object has no attribute 'ncores'. Please help.

@STTamhane I can't reproduce your error in an environment that should be similar. I have

Operating System: macOS Monterey
hardware: Macbook Pro (16-inch, 2019)
python: 3.7.13
modin: 0.12.1
distributed: 2021.10.0
dask: 2021.10.0

Could you please provide:

a complete reproducer of the failure, including the CSV you are trying to read. if you can't send the entire CSV, please send some other CSV that reproduces the error.
a complete stack trace
tell how you installed modin (e.g. conda forge)

Also, are you able to upgrade to the latest versions of modin, dask, and distributed?

@mvashishtha My os is windows 10. The csv is very large. I will send another one instead and include the trace. Please note, that the same code works perfectly with pure Pandas.
modin[all] was pip installed.
I am in a corporate environment and cannot upgrade to the latest versions.


Localization should also work for the cli-version.

Localization does work for both gui and cli now; however, we only do english, but users who want to write their own translations can do so easily.


Search Codebase only return several random file

Before submitting your bug report

[ ] I believe this is a bug. I'll try to join the Continue Discord for questions
[ ] I'm not able to find an open issue that reports the same bug
[ ] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
- OS:MacOS
- Continue version:0.8.61
- IDE version:VS CODE 1.96.0
- Model: ALL
- config.json:

// models[]
"tabAutocompleteModel": {
    "title": "Codestral",
    "provider": "mistral",
    "model": "codestral-latest",
    "apiKey": ""
  },
  "disableIndexing": false,
  "customCommands": [
    {
      "name": "test",
      "prompt": "{{{ input }}}\n\nWrite a comprehensive set of unit tests for the selected code. It should setup, run tests that check for correctness including important edge cases, and teardown. Ensure that the tests are complete and sophisticated. Give the tests just as chat output, don't edit any file.",
      "description": "Write unit tests for highlighted code"
    }
  ],
  "contextProviders": [
    {
      "name": "code",
      "params": {}
    },
    {
      "name": "docs",
      "params": {}
    },
    {
      "name": "diff",
      "params": {}
    },
    {
      "name": "terminal",
      "params": {}
    },
    {
      "name": "problems",
      "params": {}
    },
    {
      "name": "folder",
      "params": {}
    },
    {
      "name": "codebase",
      "params": {
        "nRetrieve": 200,
        "nFinal": 10,
        "useReranking": true
      }
    },
    {
      "name": "web"
    },
    {
      "name": "tree"
    },
    {
      "name": "docs"
    }
  ],
  "slashCommands": [
    {
      "name": "share",
      "description": "Export the current chat session to markdown"
    },
    {
      "name": "cmd",
      "description": "Generate a shell command"
    },
    {
      "name": "commit",
      "description": "Generate a git commit message"
    }
  ]

Description
When, i try to search codebase, it only give me random file and it not even related to the code, my project have 200 files, but it only return random files

It happen when i click search for codebase
To reproduce

Typing anything
Click search codebase
Click search
See the context items

Log output
No response

@khanh21011999 you might wanna have a look at reranker: https://docs.continue.dev/reference#reranker

@priyashpatil  thank for comment, but i think the codebase function should be search all the database for related, now if i place a related question related, it also give me answer base on the unrelated or very unknown file, even complied file


Unhandled exception in script

python is 3.10.8

Reinstall python and tell me what you did before this happened.

Reinstall python and tell me what you did before this happened.

Okay fixed the issue, you have to bind an executeable. I had it blank thinking it could create empty executeable that does nothing but grabs.
You can include that in readme or limit build without binding executeable :)

Reinstall python and tell me what you did before this happened.

Okay fixed the issue, you have to bind an executeable. I had it blank thinking it could create empty executeable that does nothing but grabs.
You can include that in readme or limit build without binding executeable :)

Not sure what you mean, are you saying that you need to bind an executable in order for it to work? If this is what you think, NO, you are not right. You can build the grabber without binding the executable. This is an error with your python installation I guess. You can try this on a VM.


Unwrap failed on clamp_len

Sometimes clamping force length in ForceGraph::update fails when calculating edge's force

Also vertices force. Turns out the force is (NaN, NaN)

Was probably a bug in the engine which had been fixed


Failing to compile pattern match against interface.

In the code below, I get an error Failed to compile a type check for type 'Samples.HelloWorld+IFoo' when pasting it into TryWebSharper. My guess is that WebSharper can not compile the interface pattern match.
[<JavaScript>]
module HelloWorld =
    type IFoo =
        abstract member Bar: int

    let measure (target: obj) =
        match target with //error on 'target'
        | :? IFoo as foo -> foo.Bar
        | _ -> 0

Are there any known workarounds for this? My original use-case would be to override object.Equals and implement System.IComparable for a type.

There has been a short ticket about this https://github.com/intellifactory/websharper/issues/575
Current workaround is only to check member name, not absolutely guaranteed to be from this interface. but WS base proxies has a unique name for all interface members and default translated interface names contain the full name of the type (you can use Name attribute on an interface member to set it explicitly).
[<JavaScript>]
module HelloWorld =
    type IFoo =
        [<Name "IFoo_Bar">]
        abstract member Bar: int

    let measure (target: obj) =
        if JS.In "IFoo_Bar" target then (As<IFoo>target).Bar else 0

A simpler solution with not full guarantee would be to compile type checks to this automatically, not fully safe, but convenient, I think that is reasonable.

Yes, I think compiling to the method name checks would be sufficient, with normal .NET naming conventions I don't think there's much chance of it not working, but the WS compiler could also give a warning about it.
The workaround seems applicable, too, at the moment. Thanks for the quick reply!

Adding name check only for the shortest name. Because default naming for interface members are guaranteed to be unique, this feels ok to me, Name attribute is an optimization you have to be careful with to give a unique name within your projects.


Remove the /year/month/date part from URL

It seems not including the date details is a better practice, because our blog articles are EverGreen-Content.

Many users search for and visit a recipe and notice that it was published years ago. Most will then form an unconscious bias regarding the timeliness of that recipe (or any other content for that matter) and question its accuracy.

How about the old URLs:

URL rewriting with Github Pages

See Also

Should I Remove the Dates in my Blog URLs? Yes!
Blog article URL - with or without date?
Matt Gemmel's argument against dates in URLs.

Done.
For whom is experiencing 404 Error when visiting the old url links, please let me know by leave comments on this issue.

https://blog.chatie.io/wechaty-101-presentation.html is broken.
Need to redirect it to `https://blog.chatie.io/wechaty-101-presentation/'


[libwebp] build failure ARM and ARM64

Host Environment

OS: Windows
Compiler: MSVC 14.23

To Reproduce
./vcpkg install libwebp:arm64-windows
Failure logs
The following packages will be built and installed:
    libwebp[core]:arm64-windows
  * opengl[core]:arm64-windows
Additional packages (*) will be modified to complete this operation.
Starting package 1/2: opengl:arm64-windows
Building package opengl[core]:arm64-windows...
CMake Error at ports/opengl/portfile.cmake:20 (message):
  Cannot find Windows 10.0.18362.0 SDK.  File does not exist: C:\Program
  Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\arm64\OpenGL32.Lib
Call Stack (most recent call first):
  scripts/ports.cmake:94 (include)

Error: Building package opengl:arm64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: opengl:arm64-windows
  Vcpkg version: 2019.09.12-nohash

Additional context
ARM and ARM64 Windows SDK (win32, uwp) does not have opengl32.lib (not supported), so it always causes a build error.
The extra vwebp requires opengl32, but the libwebp core is not required.
#9300

Hi @shibayan thanks for posting this issue.
Since the PR has been merged. I close this issue now.


[Pages] Typo _workers.js to _worker.js

Hi, it's may be a typo. This should be _worker.js, not _workers.js.

Thank you for reviewing.
@WalshyDev @deadlypants1973
Can I merge this by myself?

If you have perms and pcx (and eng if needed) have approved then yeah feel free to merge :)


trivial spell-check for default.rb

Setup is a noun; and probably should be set-up to avoid neu-style word-joining.  "Set up" appears to be the form we want here.

bah. L et me reformat that one.


⬆ Upgrade Starlette dependency to >= 0.37.1

v0.36.0 to v0.37.0 had a regression failing on missing .env file.
Fixed in v0.37.1: encode/starlette#2485

There is a PR that has the updates for starlette version >= 0.37.2, previous version has some bugs
https://github.com/tiangolo/fastapi/pull/11266

This was covered by https://github.com/tiangolo/fastapi/pull/11266, so I'll close this one now, thanks for the help! :coffee:


Specify team for generated pipeline

Concourse 2.0 introduced teams as a feature. The fly set-pipeline command now has the option of specifying the team to create the pipeline under. This PR exposes this functionality. It is backwards compatible in that if a team is not specified, it will omit the --team-name argument from the set-pipeline command.

Thanks!


Can't seem to use RST formatting in .h file (i.e. doxygen?) docstrings

I'm trying to put following as a docstring in .h file:
/**
 * @brief Create a network socket
 *
 * @details
 * See `POSIX.1-2017 article <http://pubs.opengroup.org/onlinepubs/9699919799/functions/socket.html>`_
 * for normative description. This function is also exposed as ``socket()``
 * if :option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined.
 */
__syscall int zsock_socket(int family, int type, int proto);

But the generated sphinx HTML is badly formatted and there's no really links for that URL/option. @dbkinder, please suggest how to deal with these.

You're right that embedding reST formatting in doxygen comments might render as you'd expect.  To fix this you need to explicitly tell doxygen that the enclosed lines are reST with @rststar and @endrststar markers:
 * @details
 * @rststar
 * See `POSIX.1-2017 article <http://pubs.opengroup.org/onlinepubs/9699919799/functions/socket.html>`_
 * for normative description. This function is also exposed as ``socket()``
 * if :option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined.
 * @endrststar
 */

The @rststar doxygen directive is an ALIAS (defined in doc/zephyr.doxyfile.in) that tells doxygen to create a verbatim block that contains reST formatted text and the leading asterisk on each line should be removed.
Put doxygen comments that have reST formatting within these markers and it should be rendered as you'd expect when it comes out the other side.  We normally don't need to explicitly use these markers because most doxygen formatting constructs are handled well, but the more interesting reST/Sphinx constructs aren't.  For those, we need to let doxygen/Sphinx know what's up.
I'll add mention of this to the documentation contributing guide.

Thanks for the quick response, works like a charm! And thanks for verbatim example, if you'd just mentioned @rststar, I'd probably have written it as @rststart and then wondered why it doesn't work ;-).


[REQUEST] On git push, show messages from remote in notification

When pushing to a remote branch/repo, sometimes remote will send back messages, even on success. For example, GitLab CE will give a similar message on every push:
remote:
remote: To create a merge request for feature-readme, visit:
remote:   https://gitlab.server/user/repo/merge_requests/new?merge_request%5Bsource_branch%5D=pushed-branch
remote:

Instead of showing these in the console, perhaps these could be shown as a user notification. I'm not sure on what color the notification should be - perhaps red for failure, green for success, yellow for unknown?

The notifications are typically too small to properly accommodate messages like that and for that reason, they have been put into the output view above the status bar. The notifications also disappear and the output view can be toggled by clicking the git+ logo in the statusbar


Login Title

Why there is no option to set the login title?

Hey there,
thanks for using our little plugin:)
I've already fixed this. I only need the ability to commit it to the repo.
After this commit you are able to pass a title and a section title in "storeLoginForUrl" function of the JacaScript interface.
I hope this will solve your issue.
The issue will be closed as soon as the commit gose online:)
Kind regards

Awesome @Raphy1302, what about open a PR with your changes?

@rodrigok
I've created a pull request.
unfortunately I was not able to test it. It should work, because the changes are not that complicated.
Maybe you could give me some feedback as soon as the commit is included.

@rodrigok
The commit is online!

The new version is published to npm.

Thanks


Was there a server issue preventing the delivery of requested test certificates to the client?

Your Question
Hi, a Twitter user reported that he wasn't able to get his requested test certificate today. For 6 hours his CWA showed that the certificate is not yet ready. Was there a server issue today?

Hi Tim, can you confirm that the user had the problems on 10.07.2021 and not on 09.07.2021?

@f11h
Yes, I can confirm this.

Yes we had some problems on 09.07 for some hours.

@f11h
Okay thanks for the feedback!


CHEBI:31429 structure missing HCl

There is a mismatch between name and structure in CHEBI:31429. Can you please fix?

Now fixed. Thanks


Add node to get all registered devices

Fixes #5

Pull Request Test Coverage Report for Build 25

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 21:
0.0%

Covered Lines:
12

Relevant Lines:
12

💛  - Coveralls

Pull Request Test Coverage Report for Build 25

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 21:
0.0%

Covered Lines:
12

Relevant Lines:
12

💛  - Coveralls


Remove outdated rkt guide

Closes #7279. Ping #7278.

This change is

/assign @yifan-gu

/approve

@heckj as it's a deletion, do I still need an LGTM from someone?

yeah - since you commented to @yifan-gu, i was thinking they would apply it, but if that was just for info i can add it here. wasn’t sure about your intent

Yeah, it was just for info, or in hope the @yifan-gu
https://github.com/yifan-gu would review sooner.
—
Ilya Dmitrichenko
On 12 February 2018 at 16:26, Joseph Heck<EMAIL_ADDRESS>wrote:

yeah - since you commented to @yifan-gu https://github.com/yifan-gu, i
was thinking they would apply it, but if that was just for info i can add
it here. wasn’t sure about your intent
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/website/pull/7376#issuecomment-364977105,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAPWSy90kJYTOUnqsFQgroaGtruKzRN8ks5tUGY0gaJpZM4SB11E
.

got it
/lgtm


Package sync

Dear,
We use package overview, Document and Tag.
Does it possible to Sync/Dump there package info too ?
Best Regards

Can you be more specific? It would be useful to provide some examples

Sure 👍
On Sandbox, Devs write Overview, Documents and Tag

We need to have there informations Sync and uploaded on Dev environment too.
Does it already possible ?
Thanks

Currently there is no functionality in FlashPipe to sync package level information. From the API provided by SAP, looks like syncing of the overview/description could be possible, but documents and tags will need further investigation.

Hi @Slydew, latest release 2.7.0 https://github.com/engswee/flashpipe/releases/tag/2.7.0 now supports sync and update of integration package. Documents are not supported by the standard API so those are not synced.


Add subject children to subjects in preprint provider taxonomies [EOSF-491]

Purpose
There are some cases where there is a need to retrieve subjects' children in the same request to save additional server calls from the front end. An example here is the need to show a tooltip of example subdisciplines for each top level subject in the preprint taxonomy. Currently, the subdisciplines are hard-coded in the preprint front-end, causing the display of one or more subjects that are not used (allowed) by the provider. This PR is related to PRs 326 in preprints and 202 in ember-osf
Changes

Update the preprint view
Update the taxonomy serializer

Side effects

Ticket

@sheriefvt Could you update this ticket with what the JSON output of the API will be before and after this change, please?

Also, since you're trying to optimize this endpoint, I need to know the relative speed differences. It looks like each request to Production for a taxonomies endpoint takes 100-200ms. What's the time difference on this? How long does the request take to get the children? I would compare locally to see, one at a time, how much the old endpoint took and the new endpoint. Also, would this be fixed by caching instead? If we just cached everything under the taxonomies endpoint and cleared it our every half an hour or so, would that just make everything better?
At what point is the API taxed? Is this really a problem, or is it a hypothetical problem? All good things to think about when you're optimizing.


Allow tagging of content

From uservoice:

Tagging is controversial, there are many rival implementations of the concept, which are not always used or useful where they appear. And yet after conceding all this there still seems to be a need to provide descriptive or classifying metadata for content, which can then be used to scaffold searches or browsing.

It's going to be included on the redesign


Serialization of primitive properties

While working on serialization I noticed that some property values (in particular boolean properties) are serialized as JSON booleans (e.g., true or false). My understanding is that all property values should be serialized as strings (e.g., "true" or "false"), so when copying https://github.com/LIonWeb-org/lioncore-typescript/blob/main/models/library.json into the lioncore-java repository I have changed those values.
I am opening the issue to discuss how to converge on this point.

Let's discuss on Wednesday.

Result: yes, all primitive values should be serialized as strings (including JSON).

fixed by commit 45c8912

Is there anything from your discussion to add to https://github.com/LIonWeb-org/organization/issues/34, especially regarding rationale?

It seems not. Maybe the biggest thing is that JSON is to be JSON.stringify-d at serialization and then JSON.parse-d at deserialization.