Corrected use of writable stream in description of duplex stream

The description suggested duplex wrote to the readable stream.

oops thanks


mesa: Fix build

Motivation for this change
Needed more LLVM outputs after #111487.
CC @jonringer this is the sort of breakage and fix I suspect.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

related, but not directly to this, rustc is broken on x86
builder for '/nix/store/sq7qf5yms654xir0dibrispgfv8p41vz-rustc-1.51.0.drv' failed with exit code 2; last 10 log lines:
      Finished dev [unoptimized + debuginfo] target(s) in 53.55s

  failed to execute command: "/nix/store/fhzrajri2q7c2nifww7wvksisqqkpmzb-llvm-11.1.0/bin/llvm-config" "--bindir"
  error: No such file or directory (os error 2)

  failed to run: /build/rustc-1.51.0-src/build/bootstrap/debug/bootstrap build --stage 2 --jobs 32
  Build completed unsuccessfully in 0:00:53
  make: *** [Makefile:12: all] Error 1

Thanks!


No showing any typescript error and just showing passed on the console.

I did have typescript error on my source code.
[0-0] PASSED in chrome - /test/specs/basic/01_new_apartments.spec.ts

Spec Files:	 1 passed, 1 total (100% completed) in 00:00:06

it('should take screenshot',() => {
    browser.thisIsACrapButButStillShowingSuccess()?????
});

Any idea?

i updated the packages and now it is showing correctly an error.


improve readability

improve readability of the values file

@rasheedamir Yikes!  Build has Failed!

@faizanahmad055 Validation Successful


Redirect View Services Button

"View Services" button is directing to whole new page and that page is having same content, which is already on home page, so we can just direct this button to the "Our Services" section on index.html page"

@SuzyQuant I have added reference links of same pages
Reference links:
https://alliedcare.org/index.html
https://alliedcare.org/about.html
https://alliedcare.org/services.html


Update README.md

Consistently denote placeholder text with square brackets.

Do you think this makes it more clear? My intent was to show a code sample that didn't have anything "extra" in it (like brackets), though there has definitely been some confusion around this.

I think this makes it more clear 👍

👍 looks good then


fix: small fixes

Codecov Report

Merging #329 (63833c3) into develop (d2e09ac) will increase coverage by 0.03%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##           develop     #329      +/-   ##
===========================================
+ Coverage    80.64%   80.67%   +0.03%
===========================================
  Files           20       20
  Lines         1281     1283       +2
===========================================
+ Hits          1033     1035       +2
  Misses         248      248

Impacted Files
Coverage Δ

splunk_connect_for_snmp/common/inventory_record.py
97.45% <100.00%> (ø)

splunk_connect_for_snmp/enrich/tasks.py
84.52% <100.00%> (+0.37%)
:arrow_up:

Continue to review full report at Codecov.

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

:tada: This PR is included in version 1.2.0-beta.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.3.0-beta.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

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


Document updating of CHANGELOG.md as part of release

Add notes for how we should ensure CHANGELOG.md is updated when cutting a new release.

Tagging in @jwm4 or @anastasds for a review here, as I need at least 1 approved review on GH before I can merge changes like this :smile:


Fix arc dashboard component order error

Saw this a couple of times - the PG dashboard container references stuff from the toolbar and so with the current ordering it would throw errors. Not the most ideal fix but as a quick solution this is fine - and it makes sense anyways since generally the toolbar would only reference container stuff when the buttons are clicked so having it go first is better anyways.

Pull Request Test Coverage Report for Build 538703835

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.001%) to 43.545%

Totals

Change from base Build 538688590:
-0.001%

Covered Lines:
24930

Relevant Lines:
52462

💛  - Coveralls


fix(spacewidget): add focus to the attach file button

https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-539198
Problem: The Choose a file button in the chat panel doesn't visually appear, focusable using the Tab key, and selectable using the Enter key to choose a file so the user cannot identify the functionality of the control.
Fix: Added the Button element to bring the keyboard focus for the input element used to attach files.

Priya, could you attach a ss or a gif of the changes? Just to understand the change better.

Priya, could you attach an ss or a gif of the changes? Just to understand the change better.

@adhmenon  Screenshot is uploaded


syscall/js: RangeError Offset is outside the bounds of the DataView

What version of Go are you using (go version)?

$ go version
go version go1.14.4 darwin/amd64

Does this issue reproduce with the latest release?
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/user/Library/Caches/go-build"
GOENV="/Users/user/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOOS="darwin"
GOPATH="/Users/user/go"
GOROOT="/usr/local/Cellar/go/1.14.4/libexec"
GOSUMDB="sum.golang.google.cn"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.14.4/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/user/Code/*****/*****/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/77/tr6w8vyx32l9yslxgbgvtb540000gp/T/go-build659170482=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

exec a golang wasm
load two files to wasm about 120MB each
get some call back from wasm to js
finally got a negative int to DateView.getUint32

What did you expect to see?
I want to know how to fix it or avoid it 😭

Looks like an incorrect memory address being generated. Are you able to post a code sample that triggers this?
/cc @neelance

Unfortunately, I can't post a code sample here. But there is another weird behavior:

Here has there functions code with golang build into wasm
After read those two files, this error occurs when calling function A
After read those two files, this time I call function B first, no error; Then I call function A, no error either.

Finally, If those files are small file under 20MB, this error will not occur.

Sorry, I have no idea what is causing this. I would need to be able to reproduce it to investigate.

Here is a sample code, occur this error. https://github.com/lianghx-319/golang-issue-40923
Maybe deploy a online preview soon.

Hi, random passer-by here! I found this issue last week because I was getting the same error message. This week, I tried updating to Go 1.15 and rebuilding my code, and this error message seems to have gone away. I haven't attempted to track it down any further.

Sorry, I have no idea what is causing this. I would need to be able to reproduce it to investigate.

Here is a sample code, occur this error. https://github.com/lianghx-319/golang-issue-40923
Maybe deploy a online preview soon.

Hello, @agnivade, I am colleague of lianghx-319 . Could take a look at this reproduce repo?
It seem that this bug is caused by high memory use. We have optimized memory use of golang wasm in our internal project code which reduce the whole tab memory footprint to about 1.3G with the same file, then this error message gone away.
The error we are specifically running into seems this one -
https://groups.google.com/a/chromium.org/g/chromium-dev/c/IKZvzuBP9QE
2GB memory limit per renderer (i.e. per tab)

Without looking too much into it, and just looking at the symptoms, I would guess you are hitting the limits of the wasm linear memory. Currently, wasm linear memory supports only 32 bit addresses, which limits its total size to 4GiB. So anything above that will not work (and is likely causing an overflow for a 32 bit number). I think we just need to handle this case better and throw a nice error message.
Digging into the reproducer should verify if this is indeed the case.
In any case, it might help if you could try with 1.15. That has a number of optimizations which might generally help you to reduce memory usage.

Without looking too much into it, and just looking at the symptoms, apart from the Chrome memory limit, it might also be possible that you are hitting the limits of the wasm linear memory. Currently, wasm linear memory supports only 32 bit addresses, which limits its total size to 4GiB. So anything above that will not work (and is likely causing an overflow for a 32 bit number). I think we just need to handle this case better and throw a nice error message.
Digging into the reproducer should verify if this is indeed the case. What is the behavior in other browsers?
In any case, it might help if you could try with 1.15. That has a number of optimizations which might generally help you to reduce memory usage.

The overall memory our website use is about 2GiB, so it not likely that 32 bits addr will overflow.


keyboard shortcut for toggle not working on right side

I'm trying to do cmd+alt+F to toggle between my terminal and open pane, which works, not all the time, but if it does, it works more often using the left command and alt instead of the right. Not sure why this happens.

Please retest again with platformio-atom-ide-terminal 2.9.0 is using node-pty-prebuilt instead unmaintained and outdated pty.js


Use the last @ for the version

This takes everything after the last @ as the version. This allows URLs to be specified as git+ssh://user@repository@version.

I'm guessing you enabled travis on this but it has no .travis.yml.


Enhance Errors

Thinking about catching errors when typing commands and handling them instead of Sponge so we can provide more help, and make it look good of course.
Errors To Enhance

[ ] /papi {error}
[ ] /papi enable {error}
[ ] /papi disable {error}
[ ] /papi parse {error}
[ ] /papi info {error}

While I am all for more specific error diagnostics, there are a couple of issues with this that we have to wait for resolutions. The first one is that the command API is changing in version 8.0. With version 8.0 we will see events and commands completely reworked, meaning this plugin will break. I am going to update for version 8.0 only (because I don't feel like maintaining multiple versions is useful). Until that happens, I would like to hold off on any command or event related fixes in case they become moot.
The other issue is that we cannot really use Sponge's advanced argument system if we want to go with our own error handling. We would effectively use the remaining strings joined and handle our own parsing which eliminates the usefulness of Sponge's system, and given that the next update to the command system will include much better error handling, usage parsing and suggestions, I think this is safe to hold off on for now, if not close. I will keep this open but I probably won't do much until I confirm that 8.0 won't overwrite what we do.

So I have been working on error handling for Placeholders that don't parse properly so that they can provide suggestions and stuff; As far as commands are concerned, I realized recently just how poorly Sponge seems to handle bad inputs so I understand why error handling would be nice, however I think with 8.0 it will be fixed. Hopefully that will be the case.


docker-compose service with no ports is mapped to k8s svc with no ports

When a docker-compose service is given with no ports, a corresponding k8s service is created with no port info, and this is wrong config, because port is required value.
docker-compose.yml file I used.
$ cat docker-compose-no-ports.yml
  mariadb:
    image: centos/mariadb
    environment:
      MYSQL_ROOT_PASSWORD: etherpad
      MYSQL_DATABASE: etherpad
      MYSQL_PASSWORD: etherpad
      MYSQL_USER: etherpad

convert
$ ./kompose convert -f docker-compose-no-ports.yml -o output -y
file "output" created
$ cat output
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: null
  labels:
    service: mariadb
  name: mariadb
spec:
  ports: []
  selector:
    service: mariadb
status:
  loadBalancer: {}
---
[SNIP]

When this definition is fed to kubernetes it says:
$ kubectl create -f svc
The Service "mariadb" is invalid.
spec.ports: Required value

Where svc is:
$ cat svc
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: null
  labels:
    service: mariadb
  name: mariadb
spec:
  ports: []
  selector:
    service: mariadb
status:
  loadBalancer: {}

IMO this should error out or should not create service, give warning loud and clear that service is not created, but still we can have deployment or ReplicationController depending on the provider(k8s/openshift).

@surajssd Good catch. Thanks for that. I will add a validation.

@ngtuna maybe @surajssd wants to assign this one to himself :)

In Henge we have solved this by interactively asking user to provide missing information.
But I don't think that interactive mode is good fit for Kompose.

Somehow, sometimes we might need interactive mode... but I am not sure at this moment we need it..

@surajssd can you take this one ?

@ngtuna sorry for late comment I will take this one!


fix(payment): BOLT-203 Bump checkout-sdk v1.237.1

What?
Change the card number data type to avoid skipping digits after converting a string to a number
Why?
Because of task: https://jira.bigcommerce.com/browse/BOLT-203
Testing / Proof
https://user-images.githubusercontent.com/9430298/161246306-b2950358-ba05-457c-8677-6fc8878d64ee.mov

@bigcommerce/checkout

@PavlenkoM looks like the build is failing.


Use Ref for implementation

This would make the library more easily portable.

Portable to what?

Portable for other backends, I believe.


Future version food for thought: Change the name of "constants"

The system currently uses the term "constants" in a way that is not consistent with people's expectations for that word.  Specifically, the quantities contained in the D, DI and DS arrays are not truly constant.  Similarly, while the CONTNT procedure / function is used to initialize these not-so-constant quantities, it also is used in other ways and thus the name is misleading.
Instead of using the term "constants", other possibilities include:

static terms
static variables
static quantities
problem quantities

Instead of naming the procedure / function CONTNT, it could be named:
problem_init
design_problem_init
designProblemInit
des_prob_init

This discussion has been moved to:  docs/design.
Closing.


[sw/host] Fix UART usage regarding control flow

Manual backport of #23571

Yes, I don't think this has made anything worse


Need way to veto tab selected

Using tabs with tab.active bound to my models tab.active I register for the select event and only set the "active" flag on my tab model to true if certain conditions are met (actually poping up an observable save dialog and giving option to cancel). When I dont set active to true I am left with a model that is out of sync with the UI. My model thinks tab 1 is active and the UI shows tab 2 is active. How can I force the UI to resync with the model and show the correct tab to be active. (short of toggling the tabs variable in a timeout)

Seems you are doing some some stuff our of zone lifecycle
you can try to use mark for check or some thing similar
this one could be helpfull
https://angular.io/docs/ts/latest/api/core/index/ChangeDetectorRef-class.html

I dont think its anything I'm doing out of the zone because I'm not doing anything!.  I'm simply not updating the active flag on my tab model to be true - expecting that the UI will then match my model and not show the tab as active, but it doesn't. (i.e. Im trying to ignore the active by not updating the active flag on my model object)
I looked around a bit and think that this is probably the same issue as https://github.com/valor-software/ng2-bootstrap/issues/694. The UI doesn't stay in sync with the active flag on the tabs as would be expected.
I tried adding a call to ChangeDetectionRef.detectChanges after active on the model and the UI are out of sync to the plunkter for that issue and it did not help.

Hey, can try immutable change of tab object?
Show me peace of code where you set tab active

Not sure what you mean. Basically I think its confusion on my part about the relation between the initial model that provides the inputs for the tabs and what happens when changes are made later.
If you dont do the equivalent of the code in the demo
(select)="tabz.active = true"
(deselect)="tabz.active = false"
Then the model and the UI will not be in sync. This is I think the problem in issue as #694. The active state for tab #1 is never set to false - nor are any others set to true.. Setting the first to true again has no effect since its already true... This quickly becomes confusing as the model and the UI get out of sync
In my case I do keep eveything in sync and set the selected tab.active to true and set all the rest of the tabs.active to false whenever selected is fired (I dont listen for deselect at all). This works as expected. Then in the case when I want to veto the tab becoming active I simply dont set the new tab to active or the old one to false. At this point the model and the UI are now out of sync - just as in the original case where they become out of sync when you dont listen to select/deselect and set the active flag.
The hack I used to get them back into sync is to set tabs to null and then in a timeout set them back to my original unchanged model.
Basically Im doing something like below (couldn't get plunker working with current version of angular and ng2-bootstrap)
In template:
<tabset>
    <tab *ngFor="let tabz of tabs"
         [heading]="tabz.title"
         [active]="tabz.active"
         (select)="tabSelected(tabz, true)">
    </tab>
</tabset>

Then in code
tabSelected(tab: any, selected: boolean): void {
    let deactivate = false; // really gets it from an observable
    if (deactivate) {
          this.tabs.forEach(t => {
            t.active = t === tab;
          });
        } else {
          //this.changeDetectorRef.markForCheck(); -- doesnt help
          //this.changeDetectorRef.detectChanges(); -- doesnt help

          // Hack to resync UI to model.
          let tabs = this.tabs;
          this.tabs = [{}];
          setTimeout(() => {
            this.tabs = tabs;
          }, 0);
        }
    });
}

Just to keep this issue updated my current workaround (since I now have the TabsetComponent as a ViewChild anyway to workaround another issue) is:
if (!success) {
    const activeTabIndex = this.tabs.findIndex(t => t.active); // find which tab my model thinks is active
    this.tabset.tabs.forEach((t, index) => t.active = index === activeTabIndex); // make the tabset component tabs match
    this.changeDetectorRef.markForCheck();
}

where success is false if the canDeactivate guard resolves to false.

Are there plans to implement this?

Closing this in favor of #1502


Don't start LeaderInitiator when creating a bean

https://github.com/spring-cloud-incubator/spring-cloud-kubernetes/issues/202

@iocanel could you merge this?


Themes not displaying ruby info in 10.10 Yosemite

After upgrading to 10.10 Yosemite all of the themes which should display ruby info are leaving that prompt section blank. I'm using RVM and ruby 2.1.2.

Hey @graf-abolmasov, do you remember what file you where pointing at? Github doesn't link anywhere now...

Blast from the past... Ok, so the change referred to is using ruby_prompt_info which requires using one of the above mentioned plugins to have a working ruby prompt (rvm, rbenv or chruby). Closing.


HDDS-4388. Make writeStateMachineTimeout retry count proportional to node failure timeout

What changes were proposed in this pull request?
Currently, in ratis "writeStateMachinecall" gets retried indefinitely in event of a timeout. In case, where disks are slow/overloaded or number of chunk writer threads are not available for a period of 10s, writeStateMachine call times out in 10s. In cases like these, the same write chunk keeps on getting retried causing the same chunk of data to be overwritten. The idea here is to abort the request once the node failure timeout reaches.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-4388
How was this patch tested?
Verified by checking the config value in tests.

@bshashikant Thanks for the contribution! I have merged the PR to master branch.


Update requirements.txt

Is this pull request associated with an issue(s)?
No.
Description
@twindus this should fix the dependabot alert.
TODOs
None. R2g.

Thanks!

🚀 [bumpr] Bumped! New version:v1.0.5 Changes:v1.0.4...v1.0.5


feat (cluster): [monitoring ci] change ContainerLogV2 to basic plan

WHY
we do wanted to experiment with the new basic plan that reduce costs when ingesting gibs into log analytics
WHAT Change?

configure ContainerLogV2 table with basic plan at creation time

Test

closes: #319587

Hey @ckittel would you please be able to review this one, since you proposed the work initially? Does it cover the scope of what you had in mind? It relates to https://dev.azure.com/msft-skilling/Content/_workitems/edit/319587

What's the cost impact on this based on things like Azure Monitor for Containers (Does that use the available logs? I'm not even sure) and our query-based alerts? We'd probably only do this if the overall cost is cheaper for this scenario. We'll want to address this question not only here, but as a decision point in the RA.
As far as the implementation goes, this is fine. But need the "why/benefit/tradeoff" bit understood, since the work item was first and foremost a "evaluate if we should" task.

great questions, please let's conduct this further analysis offline.

#sign-off


I need to be fairly close to the device for it to "hear" me

I have two devices running Willow built from a repo I cloned on June 11. Each device is in a completely separate part of the house (1st floor kitchen and lower level family/rec room).
I only ever use the wake word "Alexa".
I find that I need to speak pretty loudly even when I’m relatively close to the device (5-6 feet). There's very little to no background noise in the areas where the devices are located.
Please see issue #199 for a description and photos of the environment where my devices are located.

In the configuration step of the build, go to the Advanced settings menu -> Wake Word Recognition Operating Mode and select 'DET_MODE_2CH_95'. If you're feeling very adventurous you can also try 3 channel 95.
That increases the "aggressiveness" of wake word detection.
By default we have extremely conservative settings and it's feedback and testing like this that helps us update our defaults to serve more users better!

   I'll try 3CH_95 to see if that makes a difference.
I noticed in the config that microphone gain is set to the max. I don't remember exactly what it was; something like 35 dB. I assume that's a +dB value? Is that what it should be?

I should add that after the first "Alexa", I tried to not alter the tone, volume, or pace of subsequent "Alexa"s. Of course, I'm not sure how well I actually did that since I was conscious that the first "Alexa" didn't wake it.

Thanks. I'll do a build with save_audio=true on the URL. I'll flash both devices (I had only done 1 so far) and try to get a little more time with them. My daughter was visiting from out of town this w/e so I didn't have much time to spend testing.

No worries! Much to our (very pleasant) surprise we haven't had nearly as many fundamental audio issues as we were expecting. We take them very seriously (of course) so anything you can do to help track this down would be very appreciated!

Please try https://github.com/toverainc/willow/releases/tag/0.1.0-rc.1.


Remove outdated Composer extension- and skin-handling

Extensions and skins are no longer stored in the main vendor/ directory (if they ever were).

Sorry, I don't quite understand this PR—how do we know this won't break things?

Closing this PR, since @jeffw16 already implemented this change:
https://github.com/CanastaWiki/Canasta/commit/7d8c1d3bb36a2dbbe8c7b7f0774ceefb61fdf121


FR: Allow ability to update existing named instances with prefills

Maybe pushing it but here it goes.
Use case: I would like to have a persistent single instance of grug-far, but I would like to change scope of the search from nvim-tree re-opening or re-triggering it updating prefills
Example:
vim.keymap.set("n", "z", function()
	local node = lib.get_node_at_cursor()
	if node then
		-- get directory of current file if it's a file
		local path
		if node.type == "directory" then
			-- Keep the full path for directories
			path = node.absolute_path
		else
			-- Get the directory of the file
			path = vim.fn.fnamemodify(node.absolute_path, ":h")
		end

		-- open grug-far with the path
		require("grug-far").grug_far({
			prefills = {
				search = "",
				replacement = "",
				filesFilter = "",
				flags = "",
				paths = path,
			},
			instanceName = "far",
			staticTitle = "Find and Replace",
		})
	end
end, opts("Search in directory"))

Current behaviour:
on grug_far: A grug-far instance with instanceName="far" already exists!
on trigger: Just triggers, but prefills are not updated
Desired:
on grug_far: buffer with instance name located, non empty prefills updated (this is basically a focus option as well)
on trigger: tiggers, with prefills updated

on grug_far: A grug-far instance with instanceName="far" already exists!

i am guessing if we kill the instance with that name and recreate it, that would achieve the desired effect.
I need to do some thinking  if we need separate api like instance_exists and close_instance or not.

on trigger: Just triggers, but prefills are not updated

By trigger I assume you mean toggle_instance call, correct?

i am guessing if we kill the instance with that name and recreate it, that would achieve the desired effect.
I need to do some thinking if we need separate api like instance_exists and close_instance or not.
Yep, killing and re-creating will work, should you will loose other prefills, but thats ok for my use case.

on trigger: Just triggers, but prefills are not updated
Correct toggle_instance, should be cool if that supports prefills updates.

toggle_instance is great, but options like focus_instance, close_instance, update_instance would be really cool as well.

@choovick FYI, still needs unit tests, but I've added some API in https://github.com/MagicDuck/grug-far.nvim/pull/172
I have leant more in the direction of adding specific functions that do simple things as opposed to making the existing ones more complex since that tends to be harder to deal with long term. Here's an excerpt from the help:
require('grug-far').has_instance({instanceName})               *grug-far.has_instance()*
        Checks if grug-far instance with given name exists

        Parameters: ~
            {instanceName}(string)

	Return:
	    {exists}(boolean)

require('grug-far').is_instance_open({instanceName})           *grug-far.is_instance_open()*
        Checks if grug-far instance with given name is open.

        Parameters: ~
            {instanceName}(string)

	Return:
	    {is_open}(boolean)

require('grug-far').close_instance({instanceName})           *grug-far.close_instance()*
        Closes (kills) grug-far instance with given name.

        Parameters: ~
            {instanceName}(string)

require('grug-far').open_instance({instanceName})           *grug-far.open_instance()*
        Opens grug-far instance with given name if window is closed.
	Otherwise focuses the window.

        Parameters: ~
            {instanceName}(string)

require('grug-far').update_instance_prefills({instanceName}, {prefills}, {clearOld})
                                                  *grug-far.update_instance_prefills()*
        Updates grug-far instance with given input prefill.
	If clearOld=true is given, the old input values are ignored.

        Parameters: ~
            {instanceName}(string)
            {prefills}(PrefillsTableOverride) table
	       {search=, replacement=, filesFilter=, flags=, paths=}
            {clearOld}(boolean) if given, old input values are ignored

I did a quick test similar to what you have where each re-trigger increases a count that gets filled in and it seems to work:
      local count = 1
      vim.keymap.set('n', '<leader>so', function()
        local prefills = { search = 'something ' .. count }
        if not grugFar.has_instance('far') then
          grugFar.grug_far({
            instanceName = 'far',
            prefills = prefills,
          })
        else
          grugFar.open_instance('far')
          grugFar.update_instance_prefills('far', prefills, true)
        end

        count = count + 1

You can try the branch if you have time and let me know if you find any issue 😄 . I'll try to get to the tests soon...

api looks good, i'll play around with it now and will report.

https://github.com/user-attachments/assets/23e8bb04-e624-4bd8-8782-2a1924940933
vim.keymap.set("n", "z", function()
        local node = lib.get_node_at_cursor()
        local grugFar = require("grug-far")
        if node then
          -- get directory of current file if it's a file
          local path
          if node.type == "directory" then
            -- Keep the full path for directories
            path = node.absolute_path
          else
            -- Get the directory of the file
            path = vim.fn.fnamemodify(node.absolute_path, ":h")
          end

          local prefills = {
            paths = path,
          }

          if not grugFar.has_instance("tree") then
            grugFar.grug_far({
              instanceName = "tree",
              prefills = prefills,
              staticTitle = "Find and Replace from Tree",
            })
          else
            grugFar.open_instance("tree")
            -- updating the prefills without clearing the search
            grugFar.update_instance_prefills("tree", prefills, false)
          end
        end
      end, opts("Search in directory"))

works like a charm!
You need to slow down btw. Its not acceptable to have a repo with all issues addressed.

great! Thanks for trying it out!
Yeah, it's my first open source project and am also a bit OCD, haha. It's funny cause like a couple of months ago I was saying to myself that this project was pretty much complete and there was nothing more that could be added to it. I am always amazed how people find ways to use it. If it had only been me using it, it would have long stopped evolving 😆 .

it's merged now 😄 .
Just FYI that I've also updated grug_far() and with_visual_selection() to return an automatically generated instanceName if one is not given (something like __grug_far_instance_<count>) as that can be preferable in some situations where you just want an unique instance and don't want to bother with the name.
So the example above could be rewritten as:
      local count = 1
      local gfInstance
      vim.keymap.set('n', '<leader>so', function()
        local prefills = { search = 'something ' .. count }
        if not grugFar.has_instance(gfInstance) then
          gfInstance = grugFar.grug_far({ prefills = prefills })
        else
          grugFar.open_instance(gfInstance)
          grugFar.update_instance_prefills(gfInstance, prefills, true)
        end

        count = count + 1
      end)

Anyways, just one small request if you get a chance, could you create a PR to add a prettified example of your more advanced usage to the Cookbook section of the README.md?

@choovick btw, one last note, if you want to support paths with spaces in their names you need to do this in your code snipped above:
path:sub(“ “, “\\ “)

@choovick btw, one last note, if you want to support paths with spaces in their names you need to do this in your code snippet above:
path:sub(“ “, “\\ “)

Yep, found that out pretty quickly!  I will make PR for the README.md with my use case

awesome, thanks!


Scan for all rules when running pint ci

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (dfac7f9) 94.14% compared to head (9339d0a) 94.07%.
Report is 2 commits behind head on main.

Files
Patch %
Lines

internal/checks/rule_dependency.go
66.66%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #803      +/-   ##
==========================================
- Coverage   94.14%   94.07%   -0.08%
==========================================
  Files          92       93       +1
  Lines        9743     9775      +32
==========================================
+ Hits         9173     9196      +23
- Misses        433      440       +7
- Partials      137      139       +2

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


v4.0 contains breaking changes

With the latest version of slight, it leads to the error in the pod:
Error: failed to create containerd task: failed to create shim task: could not load runtime spec: failed to load spec: io operation failed: invalid argument.
This leads to the pod being running but not ready.

Link https://github.com/MicrosoftDocs/azure-docs/pull/106760

This update was just recently merged in https://github.com/MicrosoftDocs/azure-docs/pull/106760/files. I'll close this PR. Thank you!


Allow changing plugin names without breaking changes

Is your feature request related to a problem? Please describe.
Currently, if you want to rename a plugin it has to be a breaking change and there is no easy way to do it.
Describe the solution you'd like
We can achieve this by adding deprecatedName to existing DataPrepperPlugin annotation (credits: @dlvenable). For example,
@DataPrepperPlugin(name = "otel_trace", deprecatedName="otel_trace_raw", pluginType = Processor.class, pluginConfigurationType = OtelTraceRawProcessorConfig.class)

Describe alternatives you've considered (Optional)

Duplicate the entire plugin package.
Duplicate the plugin class with DataPrepperPlugin annotation and create a new class with new name in DataPrepperPlugin.

We can also update the plugin framework to log a warning when it detects that a deprecated name is used.


Maintainer Needed

Due to new work commitments I am no longer permitted to publish code to, or participate in, the node-apn project. Therefore I am seeking a maintainer to take good care of it and ensure it remains a useful module.
Please DM me via Twitter (@argon) or send an email to the address on my GH profile if you wish to take it over. If you do take it over, please follow these rules:

Do not claim to be the original author, so the license should retain my name, but feel free to add yourself to it once you have made any substantial contributions. Please keep my name and Twitter handle intact in the README - but you can move it around as you see fit.
If at any point in the future, you want to stop maintaining the project:

If you find someone else to takeover the project, please ensure they will continue following these rules.
If you cannot find anyone to take it over, please add an unmainted badge (see here) to the README and transfer the project back to my GitHub account (@argon). That will allow me to find a new maintainer myself or to at least keep the project available for historical purposes.

My GitHub account (@argon) should continue to be one of the owners of the project, but you will have full control over its future direction.

I am the new node-apn maintainer. However, it would be great if additional maintainers would join the node-apn team. Please get in touch.

We use node-apn in our stack and I will start monitoring this repo.

I am interested :)

@debjeet-sarkar Just start watching this repo and reply to issues or create pull requests.
I'll add maintainers to the node-apn organization after they've made a few contributions. Ping me if you want to be added to the organization.

We use this pretty heavily in our stack too so I'd love to help maintain. Will watch and contribute where I can.

I use this npm package, I will watch and contribute ;)

@florianreinhart if we'd like to contribute whats the best way to ensure someone else isnt already working on a particular issue? just commenting on the issue itself?

@alexcorre Yes, commenting on the issue would be the best way.

@florianreinhart we use apps for parse-server, we'll try to make sure we contribute as much as we can on user reported bugs! Thanks for the hard work and thanks @argon for everything!

@florianreinhart If you are now maintaining this you need to publish some form of email or contact information. For issues that require urgent attention or shouldn't be made public there should be a way to contact a maintainer of the project.

@fishcharlie my email address has always been in the package.json. No idea what you are talking about.

Hello,
I would like to participate in maintaining this repo.
Best regards,
Tarek M.

Thanks a lot for you work. I've added all of you as collaborators.
I hope I have some time to check PRs, etc. in October.

@florianreinhart Great to see this thread active after a while. Would love to join node-apn org

Hey,
We're already using a fork https://github.com/Netatmo/node-apn in production with the native HTTP/2 version.
@florianreinhart I'd be happy to contribute to this repository as it's less of a hassle to maintain and backport fixes to our own fork. If you're interested in accepting new contributors let me know! :)

@ArtemisMucaj hi.  @florianreinhart added me and two other of the core [Parse-Server] (@davimacedo  & @dplewis ) (https://github.com/parse-community/parse-server) contributors.  We'll open up a pr to merge our branch into master.  I don't think we have native HTTP/2 though so we'll want to get that in from you and we can see what else is needed?

@funkenstrahlen, interested in lending a hand here?
Do you have an opinion on how best to proceed?
Here's the diff between the v3alpha tag and the parse master: https://github.com/node-apn/node-apn/compare/v3.0.0-alpha1...parse-community:master
Any interest in reviewing the queue of open prs?
Would be nice if we could get a release together and if you're game, I think you've got a handle on this code base?

I'm also happy to help out as a collaborator @florianreinhart

I would like to help as collaborator.

I replaced this library with AndrewBarba/apns2 in production and it's been great. I'd recommend giving it a try if you're looking for a better-maintained alternative.

Hello, who are the current maintainers? There are a few PRs to update node-forge to 0.10.0 which is pretty straight forward and would remove a security vulnerability. @florianreinhart @acinader Please see: https://github.com/node-apn/node-apn/pulls


pyzmq cannot be installed with "pip install --isolated"

pip install --isolated translates to setup.py install --no-user-cfg, which is not supported by pyzmq's setup.py
error: error in command line: command 'Configure' has no such option 'no_user_cfg'
Running setup.py install for pyzmq: finished with status 'error'

(See https://trac.sagemath.org/ticket/9536)

I just ran pip install --isolated with pip 9.0.1, setuptools 28.8.0, and it does work. What versions are you using?

Thanks for looking into this.
In Sage we are using pip 8.1.2 and setuptools 24.0.2.
I'll try with upgrading these packages.

@mkoeppe it looks like it's not an issue with pip version or pyzmq, but the command sage is using to install pyzmq, which is:
$PIP_INSTALL --global-option configure --global-option --zmq="$SAGE_LOCAL" .

configure is not a global option, it's a command. The result is that any arguments pip wants to pass to install are getting passed to configure instead. Since configure is run by default anyway, I think removing --global-option configure should fix the sage build.

Thanks very much! Just removing --global-option configure didn't suffice; but a soluting in which I pass zmq configure option via setup.cfg does work. Thanks again, this issue can be closed.

Oh, I think the other should be changed to --install-option instead of --global-option, too.

Well, if I try pip install --ignore-installed --verbose --no-deps --no-index --isolated --install-option --zmq="$SAGE_LOCAL" ., I still get
error: error in command line: command 'Configure' has no such option 'no_user_cfg'
(But this is still using the old versions of pip and setuptools)

Okay, strange.


Tool Calls with large parameters are blocking between on_chat_model_stream and on_chat_model_end

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangGraph/LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangGraph/LangChain rather than my code.
[X] I am sure this is better as an issue rather than a GitHub discussion, since this is a LangGraph bug and not a design question.

Example Code
import getpass

api_endpoint = getpass.getpass("API Endpoint")
api_key = getpass.getpass("API Key")

from datetime import datetime

from langchain_core.messages import HumanMessage
from langchain_openai import AzureChatOpenAI
from langgraph.graph import END, MessageGraph
from langgraph.prebuilt import ToolExecutor
from langchain.tools import tool

from langchain_openai import AzureChatOpenAI

@tool
def file_saver(text: str) -> str:
    """Persist the given string to disk
    """
    pass

model = AzureChatOpenAI(
    deployment_name="cogdep-gpt-4o",
    model_name="gpt-4o",
    azure_endpoint=api_endpoint,
    openai_api_key=api_key,
    openai_api_type="azure",
    openai_api_version="2024-05-01-preview",
    streaming=True,
    temperature=0.1
)

tools = [file_saver]
model = model.bind_tools(tools)

def get_agent_executor():
    def should_continue(messages):
        print(f"{datetime.now()}: Starting should_continue")
        return "end"

    async def call_model(messages):
        response = await model.ainvoke(messages)
        return response

    workflow = MessageGraph()

    workflow.add_node("agent", call_model)

    workflow.set_entry_point("agent")

    workflow.add_conditional_edges(
        "agent",
        should_continue,
        {
            "end": END,
        },
    )
    return workflow.compile()

agent_executor = get_agent_executor()

messages = [HumanMessage(content="Think of a poem with 100 verses and save it to a file. Do not print it to me first.")]

async def run():
    async for event in agent_executor.astream_events(messages, version="v1"):
        kind = event["event"]
        print(f"{datetime.now()}: Received event: {kind}")

await run()

Error Message and Stack Trace (if applicable)
This is part of the output (in this case, there is a 23s gap between `on_chat_model_stream` and `on_chat_model_end`)

(...)
2024-07-09 05:29:35.705573: Received event: on_chat_model_stream
2024-07-09 05:29:35.713679: Received event: on_chat_model_stream
2024-07-09 05:29:35.724480: Received event: on_chat_model_stream
2024-07-09 05:29:35.753143: Received event: on_chat_model_stream
2024-07-09 05:29:58.571740: Received event: on_chat_model_end
2024-07-09 05:29:58.574671: Received event: on_chain_start
2024-07-09 05:29:58.576026: Received event: on_chain_end
2024-07-09 05:29:58.577963: Received event: on_chain_start
2024-07-09 05:29:58.578214: Starting should_continue

Description
Hi!
When receiving an llm answer that leads to a tool call with a large amount of data within a parameter, we noticed that our program was blocked although we are using the async version. My guess is that the final message is built after the last message was streamed and this takes some time on the cpu? Also, is there a different approach that we could use?
Thank you very much!
System Info
System Information
------------------
> OS:  Linux
> OS Version:  #1 SMP PREEMPT Thu Nov 16 10:49:20 UTC 2023
> Python Version:  3.11.6 | packaged by conda-forge | (main, Oct  3 2023, 11:57:02) [GCC 12.3.0]

Package Information
-------------------
> langchain_core: 0.2.11
> langchain: 0.2.6
> langsmith: 0.1.84
> langchain_openai: 0.1.14
> langchain_text_splitters: 0.2.2
> langgraph: 0.1.5

Packages not installed (Not Necessarily a Problem)
--------------------------------------------------
The following packages were not found:

> langserve

Thanks for flagging. I think I can reproduce the lag, though it's less pronounced than in your case. Thanks for the excellent code snippet.
Looks like a disproportionate amount of time is being spent on just parsing the json values, which is something we can improve (I think by not doing redundant work, though haven't looked at it deeply yet). Thanks for bringing it to our attention.
Statistical profile:

cprofile attached as well.
profiles.tgz

Going to transfer to the langchain repo however since the underlying issue is there. Will flag to the team.


Fix server restart and client issues

Issue: Client Messages Disappear After Server Restart
Description
Currently, the server passes messages between clients as expected, and the client successfully receives these messages. However, the issue arises when the server is restarted — all messages in the client's chat interface disappear.
While it's true that the server does not retain messages in-memory, Mirage saves all messages to a folder named messages, where each room has its own text file. To solve this issue, the client could read messages from the corresponding text file upon reconnecting to the server. This way, messages would still be available even after a server restart, significantly improving user experience.
How to Reproduce the Issue on Your Local Environment

Run the server.py once.
Copy client.py to two different locations and launch both instances.
Join the Same Room from both clients and start sending messages.
You will notice that messages are exchanged correctly between both clients.
Restart the server.
Try to reconnect to the room with either client — you will notice that all messages are gone from the client view.
Check the corresponding text file in the messages folder — it has all the messages from that room saved.

Proposed Solution
To address this issue, the client can read the saved messages from the room's text file upon reconnecting. This would ensure that messages persist in the client's interface, even after a server restart.
Action Items
Interested contributors, please review the server and client code, and propose changes to improve the client's behavior regarding message persistence.

Hey ! I'd be happy to help you with improving the client code.

assigning

fixed now at #33


Certain Enforcer Group 'Set' parameters are mis-matched

There are several cases for Enforcer Group parameters where the key and value passed to the ResourceData struct's Set method are not aligned (likely via copy/paste errors when duplicating code snippets); that is, the wrong referenced value (obtained via a GetEnforcerGroup call to the hostsbatch API) is used to set the value associated with the specified ResourceData object's key.
For example, r.ContainerAntivirusProtection is used to set the value of the key container_activity_protection for the ResourceData object d (this key's source value should actually come from r.ContainerActivityProtection).
In this collection of Set calls, there is also a duplicate case of type being set, which should be removed.
Expected Behavior
Each ResourceData object's key should have its value set by its corresponding actual value, retrieved via a GetEnforcerGroup call to the hostsbatch API.
Actual Behavior
In those cases where parameters are mis-matched, the value of a ResourceData object can be incorrectly set via an update to an unrelated parameter. For example, the auto_discover_configure_registries key is currently being set by the value of r.AllowKubeEnforcerAudit, instead of by r.AutoDiscoverConfigureRegistries.
Identified Enforcer Group parameter mis-matches
The following entries in the resourceEnforcerGroupRead function (in the file aquasec/resource_enforcer_group.go) contain errors and should be corrected, as shown:
From: d.Set("container_activity_protection", r.ContainerAntivirusProtection)
To:   d.Set("container_activity_protection", r.ContainerActivityProtection)

From: d.Set("host_behavioral_engine", r.BehavioralEngine)
To:   d.Set("host_behavioral_engine", r.HostBehavioralEngine)

From: d.Set("host_protection", r.HostNetworkProtection)
To:   d.Set("host_protection", r.HostProtection)

From: d.Set("auto_discover_configure_registries", r.AllowKubeEnforcerAudit)
To:   d.Set("auto_discover_configure_registries", r.AutoDiscoverConfigureRegistries)

Duplicate to remove: d.Set("type", r.Type)

Similarly, the following entries in the dataEnforcerGroupRead function (in the file aquasec/data_enforcer_group.go) contain errors and should be corrected, as shown (these actually mirror the errors present in the resourceEnforcerGroupRead function):
From: d.Set("container_activity_protection", group.ContainerAntivirusProtection)
To:   d.Set("container_activity_protection", group.ContainerActivityProtection)

From: d.Set("host_behavioral_engine", group.BehavioralEngine)
To:   d.Set("host_behavioral_engine", group.HostBehavioralEngine)

From: d.Set("host_protection", group.HostNetworkProtection)
To:   d.Set("host_protection", group.HostProtection)

From: d.Set("auto_discover_configure_registries", group.AllowKubeEnforcerAudit)
To:   d.Set("auto_discover_configure_registries", group.AutoDiscoverConfigureRegistries)

Duplicate to remove: d.Set("type", group.Type)

Fixed by #117


about how to wrap a label

Dear developer，
I have successfully run demo.py to register the liver. I am confused that if I have a label, which is an array of 0 and 1, how can I apply the predicted deformation field to this label?
Thank you in advance, I am looking forward to receive your response.

你好，我可以和你交流几个问题吗？我做这个级联的项目也做了很久了，如果可以交流麻烦加QQ244040023谢谢啦


Fix Deadly Earth and Cloud (and more)

Problem:
Web, Stinking Cloud, Blade Barrier, Wall of Light, Deadly Earth, and Cloud all take effect twice immediately when you cast them. Deadly Earth and Cloud also already do double damage vs pnp rules (should be 1/4, it is 1/2). So Deadly Earth and Cloud are way too strong because they effectively do 4 times more damage than they should every time you use them.
Request:
First, make Web, Stinking Cloud, Blade Barrier, Wall of Light, Deadly Earth, and Cloud all only take effect once when cast. Then, make Deadly Earth and Cloud do 1/4 damage like they're supposed to.
Note: Owlcat has been made aware of this repeatedly for years and won't fix it for some reason. I have tried to get them to fix it multiple times over the years. The only thing they did was fix the Evocation Specialist Wizard's Elemental Wall, which used to do the same thing. So, I believe a fix is possible, Owlcat just won't do it.

Any thoughts on this? This bug really makes the game difficult to play fairly, especially if you have a Kineticist in the group.

I have looked into it a couple of times. Reason it triggers twice is that the effect is applied OnEnter and OnRound. If you remove OnEnter, it feels really weird, as people can walk out of the effect and not take damage at all. If you remove OnRound they can stand in the area-effect on only get hit once at the start.
I checked the blueprint of Evocation Wizard and cannot find any difference to the other abilities. No idea why it would work there.
I am working on a solution. I will save the GameTime at which OnEnter triggered and make sure OnRound is skipped in that round. Although that might make new bugs. Need to check about how non-damaging spell like Web function.

I made my first tests. It seems to work as intended. But there are a lot of features that might interact unexpected, so I won't celebrate too early.
If you want to take a look here is the class:
https://github.com/Truinto/DarkCodex/blob/6c12c54404ba006600019ce0b8b5b36d9f98e91c/DarkCodex/Patches.cs#L198
(is a harmony patch AND must also be subscript on the event bus)
@Vek I won't mind, if you copy this code (which goes for anything I publish under MIT). Although would be great, if there were an easy way for me to detect that your mod has this active. Maybe a property getter that returns true/false whenever the options is enabled.
@night44: If you install this mod, let me know your results.

I just realised a major flaw. I forgot to differentiate between different effects. Ups.

Well the Round concept exists globally, but as implemented it applies at the top of the round rather than at x players turn. It is worth looking into fixing this, probably would end up in me moving it into a new action component that respects rounds properly so as to not break some other features that do expect the current behavior.

Not sure the best way to provide setting visibility for other mods, do you have any concepts? I could simply make sure ModSettings is statically available if you want to try and read it, but that would require referencing TTT I believe.

So, this entire issue is solved by starting the timer at 6 seconds, like so:
https://github.com/Truinto/DarkCodex/blob/c3934366b6c6dff32d67a772fa4c62fc63ccf1fa/DarkCodex/Patches.cs#L269
I did play around with the damage being applied at the end of each turn (instead of the casters turn). But it really makes little difference damage wise. Status effects are sometimes active sooner, which could give attackers a bonus to hit. I read a few spell descriptions and it's inconsistent when the damage is dealt. So to be true to the rules, it would require individual patching.


test/util.py .tbl.p

https://github.com/anilshanbhag/crystal/blob/f2179e607eb923f2053a706c1e30aa2b6161b9db/test/util.py#L31
Looks like that .tbl.p should be .tbl?

I'm afraid not. The difference between .tbl.p and .tbl is .tbl.p files convert the type of some columns in .tbl files from char(n) to integer. These columns appear in the queries and crystal just processes integer type. Please check test/ssb/loader/convert.py for more details.


Whether it is possible for the user to input information at the front end to replace the configuration such as user name and password in the configuration file.

There is such a demand because, for example, to produce these sonoff26 plugs and sell them to customers, not all customers want to enter the configuration file and add information such as user name and password. Therefore, an input box can be added at the front end so that customers can set this information at the front end to achieve the effect of configuration file. This is just a guess. Can it be realized?

Users can set user/pass in secrets.yaml file


Auto-translated international channel support

This adds handling for "international" channels which function as a pair of one channel where non-English languages are allowed and one channel where only English is used, primarily for ease of moderation.
Any message sent to the international channel will be automatically translated to English, if needed messages can also be sent in the English channel as either replies to an autotranslated message or starting with "language code:" (ex. "ja: hello") to be translated back to that language in the international channel.

Should be good now I think. Just need to get a DeepL token and update the config, can use mine if needed but since I use that in a couple other places I think it would be ideal to have one specifically for this.

👎 2

imo we should at least give this a try for a few weeks or so and see how it goes. It's not that infrequent for there to be language barrier issues in #nds-modding-help and there's quite a few people on the server who can speak multiple languages so it'd just work a lot better to allow helping out in other languages without needing for it to be a big hassle.
Even if people talk via the auto machine translation (which ideally shouldn't happen much) it can still be better than copy pasting between google/deepl translate as it's A) easier and B) you can see what they actually meant, even if you don't understand the language you may be able to tell where machine translation is failing if they say something nonsensical.

I don't mind a trial run. My real issue with is this should probably be something private (i.e. on a case by case basis). I'd rather not promote the server being an international server just because of the fact that DeepL translations are usually okay. I use the word promote because more than likely users who come here speaking (let's say Spanish [or]) other languages will start telling their friends "Hey DSi Server can help in Spanish now"

The DeepL features are primarily aimed at making the channel moderatable, more so than helping using it ideally.
Is it really a bad thing if it becomes known that we offer support in Spanish and such? I guess it might lead to a bit of people trying to use Spanish outside of the help channel, but I'm not suggesting we remove rule 6 or anything (just need to exclude #nds-help-international), and I'd much rather people come to our Discord for help than the comments on some random Spanish vguide or such.

Closing due to lack of interest.


Wishlist: Scroll to correct point in html when toggling to source mode

For very long texts, it's difficult to find the correct place to continue editing when toggling to source mode.
If it would automatically scroll to the place where the cursor currently is in the 'normal' editor, this would make things a lot easier.

I think this is out of the scope of this plugin. Shipped ckeditor configuration can be easily extended with standard ckeditor addons.
I don't know if such an addon exists, though

Since the ckeditor is shipped with-in the plugin, should the plugin not be in control of the most ideal set of ckeditor plugins? We've noticed the very vanilla nature of the editor and how difficult it is to extend. Could the plugin provide some mechanisms to make this easier?

enabling standard ckeditor addons is as easy as extending CKEDITOR_SETTINGS declaring the new addons and put the addon files in static/djangocms_text_ckeditor/ckeditor/plugins/ in any application available in the project
Supporting every sensible ckeditor addon would render this plugin quite messy and burdensome to support


Add better support for thread id

Thread_id was inadvertently (?) picked up in NumberMetrics but not being parsed out of UserHost. This change will parse it out of UserHost and add it to NumberMetrics without significantly impacting the expected output.

Hi @winmutt, thank you for your contribution.
The only issue is that Thread_id is not really a NumberMetric. NumberMetrics can be aggregated e.g. Rows_examined = 2 and Rows_examined = 6 produce average metric 4. Aggregation that produces averages shouldn't be however applied to Thread_id. The aggregate of Thread_ids can be a list of those ids, not average. I would suggest adding ThreadID as separate field in Event struct for now. What do you think?
p.s. May I ask in which project/for what you are using this library?

So this doesn't get closed quite yet, I'll be starting work on it again shortly, been side tracked by a few things.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: winmutt:x: Rolf Martin-HosterRolf Martin-Hoster seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@arvenil Is that what you envisioned with thread_id? Sorry my PR got a little sloppy, having to go back and fix the author email for the match the CLA I managed to pick up some stray old commits.
Also, here is the related project I am working on https://github.com/winmutt/slow_log_parse. So far it was just a POC but now I am focused on replacing our use of pt-query-digest with it (but not in entirety at all). In testing it was ~5x faster and used ~4x less memory than pt-query-digest which we use heavily sampling random 10min every hour across ~1200 db instances.

@arvenil thanks so much for getting back and may your future adventures be grand! I did not consider a list of ID's was shooting for best effort.
@rnovikovP would be happy to help answer any questions you have around this PR.


istioctl version does not work with revisioned Istio control plane when ver>=1.7.2

Bug description
istioctl version does not work with revisioned Istio control plane when ver>=1.7.2
$ istioctl172 install --revision=rev172
This will install the default Istio profile into the cluster. Proceed? (y/N) y
✔ Istio core installed
✔ Istiod installed
✔ Ingress gateways installed
✔ Installation complete

$ istioctl172 version
no running Istio pods in "istio-system"
1.7.2
data plane version: 1.7.2 (1 proxies)

This bug is a result from
https://github.com/istio/istio/pull/27357/files reduced the query to label istio=pilot instead of label istio.
And
inconsistent label between revision-ed control plane and non-revision control plane. i.e.,
With revision, istiod is using istio: istiod for pods:
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: istiod
    istio: pilot
    istio.io/rev: oss17
    release: istio
  name: istiod-oss17
  namespace: istio-system
spec:
  selector:
    matchLabels:
      app: istiod
      istio.io/rev: oss17
  strategy:
    rollingUpdate:
      maxSurge: 100%
      maxUnavailable: 25%
  template:
    metadata:
      annotations:
        prometheus.io/port: "15014"
        prometheus.io/scrape: "true"
        sidecar.istio.io/inject: "false"
      labels:
        app: istiod
        istio: istiod <<<<<<< inconsistent label
        istio.io/rev: oss17

Without revision, istiod is using  istio: pilot for pods:
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: istiod
    istio: pilot
    istio.io/rev: default
    release: istio
  name: istiod
  namespace: istio-system
spec:
  selector:
    matchLabels:
      istio: pilot
  strategy:
    rollingUpdate:
      maxSurge: 100%
      maxUnavailable: 25%
  template:
    metadata:
      annotations:
        prometheus.io/port: "15014"
        prometheus.io/scrape: "true"
        sidecar.istio.io/inject: "false"
      labels:
        app: istiod
        istio: pilot <<<<<<< inconsistent label
        istio.io/rev: default

[ ] Docs
[x] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[x] User Experience
[ ] Developer Infrastructure
Expected behavior
Steps to reproduce the bug
Version (include the output of istioctl version --remote and kubectl version --short and helm version if you used Helm)
How was Istio installed?
Environment where bug was observed (cloud vendor, OS, etc)

This was fixed in master but not in release-1.7.  @elfinhe 's PR should be merged.

fixed by https://github.com/istio/istio/pull/27763?

yes


Stop Sequenced Not Supported by AWS Bedrock

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
import boto3
import json
import os
import langchain
from langchain.llms.bedrock import Bedrock
from langchain import hub
from langchain.agents import AgentExecutor, create_structured_chat_agent
from langchain_community.llms import Bedrock
from langchain.tools import tool
AWS_ACCESS_KEY = os.getenv('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.getenv('AWS_SECRET_ACCESS_KEY')
AWS_REGION = os.getenv('AWS_REGION', 'us-east-1')
bedrock = boto3.client(
service_name='bedrock-runtime',
aws_access_key_id=AWS_ACCESS_KEY,
aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
region_name=AWS_REGION
)
llm = Bedrock(
credentials_profile_name="default",
model_id="mistral.mistral-large-2402-v1:0")
@tool
def multiply(a: int, b: int):
"""Multiply two integers"""
return a * b
tools = [multiply]
prompt = hub.pull("hwchase17/structured-chat-agent")
agent = create_structured_chat_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools)
result = agent_executor.invoke({"input": "what is 123 * 456"})
print(result)
Error Message and Stack Trace (if applicable)
File ".../env/lib/python3.11/site-packages/langchain_community/llms/bedrock.py", line 654, in _prepare_input_and_invoke_stream
raise ValueError(f"Error raised by bedrock service: {e}")
ValueError: Error raised by bedrock service: An error occurred (ValidationException) when calling the InvokeModelWithResponseStream operation: Malformed input request: #: extraneous key [stop_sequences] is not permitted, please reformat your input and try again.
Description
I'm using AWS Bedrock for an agent application. It throws an error due to a stop sequence parameter that isn't supported by the AWS api.
The error can be mitigated by commenting out lines 611 - 619 in langchain_community.llms.bedrock
    # if stop:
    #     if provider not in self.provider_stop_sequence_key_name_map:
    #         raise ValueError(
    #             f"Stop sequence key name for {provider} is not supported."
    #         )

    #     # stop sequence from _generate() overrides
    #     # stop sequences in the class attribute
    #     _model_kwargs[self.provider_stop_sequence_key_name_map.get(provider)] = stop

System Info
langchain==0.1.14
langchain-community==0.0.31
langchain-core==0.1.40
langchain-openai==0.0.3
langchain-text-splitters==0.0.1
langchainhub==0.1.14
boto3==1.34.79
botocore==1.34.79

Same issue for me on crewai, need help

I am having the same problem, and commenting out these lines just seems to freeze the pipeline.

Same issue when combining any Bedrock model with Langchain Agents.

go the langchain_community/llms/bedrock.py file  >  line 331, change the  "mistral": "stop_sequences"  to  "mistral": "stop"
provider_stop_sequence_key_name_map: Mapping[str, str] = {
"anthropic": "stop_sequences",
"amazon": "stopSequences",
"ai21": "stop_sequences",
"cohere": "stop_sequences",
"mistral": "stop_sequences",
}
to
provider_stop_sequence_key_name_map: Mapping[str, str] = {
"anthropic": "stop_sequences",
"amazon": "stopSequences",
"ai21": "stop_sequences",
"cohere": "stop_sequences",
"mistral": "stop",
}

How do I implement this for the llama models? Bedrock.py file doesnt seem to mention anything regarding the llama models


added to typechat.js

Added type declarations for the callback functions createRequestPrompt and createRepairPrompt:
createRequestPrompt: (request: string) => string;
createRepairPrompt: (validationError: string) => string;
Use more descriptive names for some variables:
request -> naturalLanguageRequest
responseText -> aiResponseText
jsonText -> parsedJsonText
Add some validation around the JSON parsing:
const startIndex = aiResponseText.indexOf("{");
const endIndex = aiResponseText.lastIndexOf("}");
if (startIndex == -1 || endIndex == -1 || startIndex >= endIndex) {
// invalid JSON, return error
}
Changed translate() to be async instead of using promises directly.

Thanks for the PR, but I'm having a hard time reading the diff and understanding the intent of the change. Could you elaborate a little bit on what you were trying to improve here?

Type Declarations for Callback Functions:
The type declarations for the callback functions createRequestPrompt and createRepairPrompt have been added to provide better type safety and clarity. This ensures that the callback functions accept the correct types of parameters and return the expected types of values.

More Descriptive Variable Names:
Some variable names have been changed to be more descriptive, making the code easier to understand. For example:

request has been renamed to naturalLanguageRequest to indicate that it represents a natural language user request.
responseText has been renamed to aiResponseText to clarify that it is the text received from the AI language model response.
jsonText has been renamed to parsedJsonText to highlight that it represents the JSON text extracted from the AI response and successfully parsed.

Additional Validation for JSON Parsing:
To ensure that the JSON parsing process is more robust, the code now includes validation checks before extracting the JSON text from the AI response. Specifically, it checks if the opening and closing curly braces are present in the aiResponseText, and if they are not, the code returns an error to handle the situation of invalid JSON.

translate() Function Now Uses Async/Await:
Instead of using Promises directly, the translate() function has been updated to use async/await syntax. This change improves the readability of asynchronous code and allows for better error handling within the function.

Overall, these changes aim to enhance the code's readability, maintainability, and error handling when working with JSON parsing and AI responses. The functionality of translating natural language requests into JSON objects remains unchanged.

@Saunakghosh10 - perhaps if you restore the export keyword it may improve the diff?

The type declarations for the callback functions createRequestPrompt and createRepairPrompt have been added to provide better type safety and clarity.

I'm not certain I see how that was done. These were always well-typed, it just looks like the original types lost their JSDoc.

Some variable names have been changed to be more descriptive, making the code easier to understand. For example

I can kind of see this, though it's a bit subjective.
If you are looking to make some changes, I would suggest making them at a much smaller level so that we can more easily evaluate the changes. If you'd be open to it, we'd consider a PR starting with the last 2 changes - additional JSON validation and the async version of the translate function. I can't guarantee that we'll accept the changes, but it will be easier for us to judge the diff and decide if we like it better.


Proper handling of TypeName = null from appsettings.json

What issue does this PR address?
Ability to set TypeName to null via appsettings.json. (Root cause of issue #375 )
Does this PR introduce a breaking change?
No
Please check if the PR fulfills these requirements

[x] The commit follows our guidelines
[ ] Unit Tests for the changes have been added (for bug fixes / features)
Unable to pass most of the unit tests as they seem to need a real cluster to run towards?

Other information:
TypeName was already exposed as configurable through appsettings.json but if set to null it is (by Microsofts configuration reader I belive) set to an empty string. This in turns make the already exisiting handling of TypeName in the sink (TypeName is deprecated in Elastic 7.x and unsopported (posts get 400 reply) in Elastic 8.x) not work as intentended.

Thanks for the PR. I merged it into dev so it will get a beta package.


Fix bugs of retrieving API data in frontend components

When fetching from API fails, the compents bugs out.

Completed with #292


How do I add content above a top tab bar?

Hey, thanks for the release!  I have a screen in my app that has some content that takes up about a third of the top of the screen, and below that I want to have a nested tab view with the tab bar just below the other content at the top.  With ex-navigation it was simple to render the <SlidingTabNavigation> component below the rest of my component contents, but I can't figure it out with this library.  It seems as I define my nested navigators as screens in a parent navigator, I don't know where I would even define that other content?  Do I need to write a custom navigator?
Thanks for the help!

Take a look here, where I've done a similar thing - https://github.com/satya164/PocketGear/blob/master/src/components/PokemonInfo.js
PR is welcome to add this too the docs,

Thanks a ton!

Take a look here, where I've done a similar thing - https://github.com/satya164/PocketGear/blob/master/src/components/PokemonInfo.js
PR is welcome to add this too the docs,

link not found

Take a look here, where I've done a similar thing - https://github.com/satya164/PocketGear/blob/master/src/components/PokemonInfo.js
PR is welcome to add this too the docs,

link not found

https://github.com/satya164/PocketGear/blob/master/src/components/PokemonInfo.tsx


[BUG] pkg_resources.DistributionNotFound for print version

Describe the bug
Hi ARIA-tools team, it seems like the recent print version (#269) is not working for me. Attached below is the printout msg from ariaDownload.py, and several other (did not try all) scripts are having the same error as well.
FYI, I use the requirements.txt file to install the dependencies and manually setup the PYTHONPATH and PATH environment variable, without using setup.py.
If I commented out the following lines, everything is working fine without issue:
from pkg_resources import get_distribution
print ('ARIA-tools Version:', get_distribution('ARIAtools').version)

To Reproduce
Steps to reproduce the behavior:

Command used

ariaDownload.py -h

Error Output

(insar) yunjunz:~>$ ariaDownload.py -h
Traceback (most recent call last):
  File "/Users/yunjunz/tools/ARIA-tools/tools/bin/ariaDownload.py", line 473, in <module>
    print ('ARIA-tools Version:', get_distribution('ARIAtools').version)
  File "/Users/yunjunz/tools/miniconda3/envs/insar/lib/python3.7/site-packages/pkg_resources/__init__.py", line 480, in get_distribution
    dist = get_provider(dist)
  File "/Users/yunjunz/tools/miniconda3/envs/insar/lib/python3.7/site-packages/pkg_resources/__init__.py", line 356, in get_provider
    return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
  File "/Users/yunjunz/tools/miniconda3/envs/insar/lib/python3.7/site-packages/pkg_resources/__init__.py", line 899, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/Users/yunjunz/tools/miniconda3/envs/insar/lib/python3.7/site-packages/pkg_resources/__init__.py", line 785, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'ARIAtools' distribution was not found and is required by the application

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

ARIA-tools git tag: [e.g. git show --summary], the latest version from upstream/dev branch.
OS: macOS 10.14

Additional context
Add any other context about the problem here.

@bbuzz31 could you look into this?
I though you added a try except for it such in case of failure it would pass.

@yunjunz how do you currently capture the Mintpy version?

@dbekaert mintpy calls git describe --tags and git log -1 --date=short --format=%cd commands for this purpose (https://github.com/insarlab/MintPy/blob/main/mintpy/version.py#L11).
It produces 1) a version number, e.g. v1.3.0-20, where "v1.3.0" is from the released version tag, and "20" is the number of commits since the released version tag and 2) a date for the last commit.

I actually started our implementation based of MintPy’s. It’s slightly different since we use setup.py; I didn’t test the version fetcher on an install without it, but should be an easy patch.

On Jun 23, 2021, at 3:25 PM, Zhang Yunjun @.***> wrote:
@dbekaert https://github.com/dbekaert mintpy calls git describe --tags and git log -1 --date=short --format=%cd commands for this purpose (https://github.com/insarlab/MintPy/blob/main/mintpy/version.py#L11 https://github.com/insarlab/MintPy/blob/main/mintpy/version.py#L11).
It produces 1) a version number, e.g. v1.3.0-20, where "v1.3.0" is from the released version tag, and "20" is the number of commits since the released version tag and 2) a date for the last commit.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub https://github.com/aria-tools/ARIA-tools/issues/273#issuecomment-867200114, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADWNVR7YVQCZR56H4VCH4LTTUJNNXANCNFSM47GSIOLQ.

Fix should be merged now.


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-1.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 1446

Questions ?
Please refer to the Backport tool documentation


typedef support for nanopb

I am experimenting with using nanopb to provide a backward and forward compatible linux kernel interface. I will be porting my data structures from C to proto. C supports typedef that enables us to define custom types which can be used in other data structures. This improves the readability and simplifies the structure of the code.
Most protocol buffer implementations don't support typedef with the argument that protocol buffers are designed to be language independent and thus don't want to introduce language specific features. However this is not the case for nanopb, which has been designed specially for C and has added support for language specific features using the nanopb.options file.
Example use case:
In C we often typedef uint64 as size_t and use it buffers like so:
typedef uint64 size_t

struct buffer {
    size_t size;
    char *data;
}

This kind be enabled in nanopb using nanopb.options like so
import "nanopb.proto"
message size_t {
    required uint64 value = 1;
    (nanopb).isTypedef = true;
}

We need to change the code generation fro message to check if the flag has been enabled and generate the typedef instead of defining the structure.

Adding submessages unnecessarily changes the encoding of the data. So it might be better to have something like:
option (nanopb_fileopt).include = "my_typedefs.h";

message MyMessage {
       uint64 offset = 1 [(nanopb).type_name = "size_t"];
}

which would then generate:
#include "my_typedefs.h"

typedef struct _MyMessage {
    size_t offset;
} MyMessage;

#define MyMessage_FIELDLIST(X, a) \
X(a, STATIC,   REQUIRED, UINT64,    offset,         1)

That would allow retaining message type compatibility with other libraries without introducing unnecessary submessages.
It also allows compile-time variation in my_typedefs.h to account e.g. 32 vs. 64 bit platform.

This is interesting. Using this way we can also support predefined types which might be included from some C libraries.
However won't this place the responsibility of finding the right data type (uint64 in the example you showed) on the user. Also since the user will be doing it manually it won't automatically pick that up from my_typedefs.h
I am trying to understand the encoding process from the code and the message structure will be generated based on the uint64 value which should match the exact datatype in my_typedefs.h. Please correct me if I am misinterpreting something.

Is the goal just to provide aliases for base types that nanopb already understands? If so, maybe the most elegant solution is to have some directive that tells nanopb to use treat X in a proto file as a Y, and to use X in the generated headers.

The type in FIELDLIST define will determine which encoder/decoder function gets invoked, through this mapping:
https://github.com/nanopb/nanopb/blob/master/pb.h#L843-L864
As long as the substituted type maps to the same LTYPE, it can be easily replaced in the struct. The size of varint integers can be different, it is determined at compile time using sizeof().

So in case where the nanopb.typedef option is specified we change the output to produce a field with type mentioned in this option, while we set the LTYPE to the data type we want to use for encoding. Finding the correct datatype can be difficult as there can be nested typedefs
#define uint64 size_t
#define size_t buffer_size_t
#define buffer_size_t string_size_t

For the above example we will need to keep track of the dependency structure of the typedef and replace the LTYPE with the base type that is uint64. Typedef can be used for struct also so the LTYPE can be PB_LTYPE_MAP_MESSAGE as well, though I don't think that should be a problem. Moreover with this approach we lose the capability of using types defined in some other header like "my_typedefs.h". So we can't automatically accommodate for compile time variations to account for int32 and int64

int32 and int64 are the same LTYPE, so there is no need to FIELDLIST for that specific pair.
Changing protobuf encoding types based on some C typedefs does not make sense to me.
Protobuf encoding stays compatible exactly when the LTYPE remains the same.
The main point of protobuf is to have the portable .proto file as interface specification.
If you ditch that, you might as well just transfer raw structs.

Ok, that makes sense. So the final idea is to change the LTYPE of the field based on the typedef and for this we need to maintain a tree of dependencies which will tell us what the LTYPE for any typedef should be.

No, I do not think changing LTYPE based on typedef makes any sense.
LTYPE must always match the type in .proto, otherwise the encoding doesn't have any chance of interoperability.

Ok, I am getting confused between the original and this new idea.
Original idea was that the typedef will be defined as a message, which will be written out as typedef declaration and then the other messages can use it as a type. Example:
import "nanopb.proto"
message size_t {
    required uint64 value = 1;
    (nanopb).isTypedef = true;
}
message buffer {
    required size_t size = 1 [(nanopb).type_name = "size_t"];;
    required string data = 2;
}

The above proto generating:
typedef uint64 size_t

struct buffer {
    size_t size;
    char *data;
}

The new idea is instead of using submessages we want the fields to be defined as typedef and change the LTYPE based on the type of the typedef. The important point being that the typedef is defined in the proto file itself so that it stays interoperable.
message size_t {
    required uint64 value = 1;
    (nanopb).isTypedef = true;
}
message buffer {
    required size_t size = 1;
    required string data = 2;
}

But instead of replacing size in buffer with a submessage we change the LTYPE of size based on the LTYPE of value in size_t, while writing out size_t as the type in the pb.h file.

Ok, I obviously do not understand your idea.
The example usecase seems very weird. Why size_t as a submessage? Why data as string instead of bytes? Why size separately when it is already part of bytes?

My idea is to provide the feature of defining custom types using typedef for clarity and simplicity in the C code being generated. All the arguments supporting the existence of typedef in C can be applied here.
My example might have been a little confusing. Yes it makes more sense to use bytes in the example I described but that is only for this particular example. Let me give another example.
Assume we have a queue which has a queue ID. This ID field is of type uint32 and the ID is being used in multiple structures. Now if we define the type as uint32 we will define the ID as uint32 queue_id everywhere we use the ID. Lets say in the future we want to change the size of queue_id to uint64, now we will have to look through all the uses of this queue_id and replace each one of them with uint64. Note that the variable name might be different making it a lot harder. Now if we had typedef we can do typedef uint32 queue_id_t and then use queue_it_t queue_id wherever we want a variable to store the queue id.  Now to change from uint32 to unit64 we simply change the typedef to typedef uint64 queue_it_t and we are done.

For such an use, I would just typedef it in C, and if needed, make a static assert that the size generated from .proto is equivalent.

That will work but that will be a workaround and not a very clean solution.
Can you help me understand, the problem with supporting it in nanopb? You mentioned that changing the LTYPE can mess with encoding/decoding process. Can you expand more on that and mention the concerns you have with supporting typedef in C?

The numeric LTYPE value (which it gets through the #define mappings) directly defines the format the field gets in encoded message. Changing this to anything other than the value defined in .proto file will break compatibility with other protobuf libraries, which I do not want.
In any case, I have decided that the presented use cases are not important enough to warrant the inclusion of this feature in main nanopb codebase.


I believe the dbc parser is incorrect.

in the cantools.database.can.formats.dbc._load_messages function the code for checking the frame_id to see if it is extended or not is as follows.
        frame_id = frame_id_dbc & 0x7fffffff
        is_extended_frame = bool(frame_id_dbc & 0x80000000)

The CAN 2.0B specification does not place the IDE bit at bit 32. it places it at bit 19
Shouldn't the proper code be?
        frame_id = frame_id_dbc & 0x7FFFF
        is_extended_frame = bool(frame_id_dbc & 0x80000)

scratch that. This is how the dbc is formatted. I am just now seeing it.


ES6 Default Parameters

It looks a bit weird, but why not use Default Parameters. Merge it if you want to. Suit Yourself. :smiling_imp:

Ohh got it node js >= 6 only supports default params. So changed version. Do whatever you want to do man. :wink:

Yo man tests don't pass bcz of node js 4.x :frowning:

Can't do this, sorry. I target Node.js 4 in all my modules.


Make the chaosduck jitter

/hold
I want to import this downstream in serving (and maybe eventing) before I land this.

The downstream eventing PR is fine with this: https://github.com/knative/eventing/pull/3665
The serving PR was unhappy with what I based this on (included istio), but net-contour was happy: https://github.com/knative/serving/pull/8721
I backed out istio chaos from the baseline PR, so 🤞 this is good to go.

/lgtm

/unhold


Provide Microsoft Edge-team feedback on PositionObserver

I have our engineers reviewing my typed version of the feedback we generated at an internal review meeting. Hoping to get it finalized and posted tomorrow.

Some preliminaries:

This is a sketch! We've tried to pattern the initial design  Object.observe()  and DOM's Mutation Observers. It's unclear if we should simply make this a special form of Mutation Observer.

I think this is a different enough scenario that it probably shouldn't be consider a kind of element "mutation".

There's a question about occlusion: should we try to lean on computed opacity or should the API only ever report quads that have no occlusion/filtering/transforms of any kind?

We tended to think that the raw occlusion info should be provided for the author to decide. Not sure yet how to provide this data (bboxes, element refs?)

The specific timing of of change record delivery is also TBD.

Yep; would need some specific timing or time limit constraints.

Is the magical top-level viewport too magical? What are the alternatives?

Not sure if I understand what is meant by this. We have a couple of viewports to consider, and then we have yet another implementation-specific rendering surface that is a bit larger than a viewport for scrolling/zooming/panning optimizations.

Is it meaningful to have overdraw queries against the default viewport?

We didn't think the query format was going to be successful, but we did recognize that having a bit of viewport + extended region would be an important feature--doesn't have to be too complicated.

Microsoft Feedback on PositionObserver Proposal
Summary
We all clearly understood (and have empathy for) the problem space that this proposal addresses (though we think some of the scenarios are reaching). We certainly see room to improve the state-of-the-art. Specific points of feedback are filed as separate issues--this represents the general feedback.
Honestly, tackling this problem is not our highest priority at the moment (we would not drop what we are planning in order to start working on this right away). We are sensitive to the problems with jank and related user-experience issues and are planning to address and minimize this, but from a quality-of-implementation standpoint (before prioritizing an API solution). Yet, to enable websites to start to address this problem on their own, we recognize that an API can be a great solution to start evangelizing.
At a high-level, the current proposal seems over-engineered. It appears to be catering to too many scenarios at once. We believe some of the aspects of the design will be difficult for average web devs to reason about.
We also have questions about the proposed scenarios. Of the three target scenarios we object to this approach for one (data scrollers), question another (lazy loader), and are under-informed about the third (advertising impressions). We think there's an opportunity to get better agreement and mutual understanding of the scenarios we’re trying to solve before bike-shedding the details.
Issue index:

Feedback on the scenarios: #3, #5, #6
Specific proposal feedback: #7, #8, #9, #10, #11
Alternative idea: #4

Thanks!
-Travis on behalf of the MS Edge Platform Team

I believe we've addressed all the MS feedback on comments and in person in Paris except for issue 10. Closing this for now. Please reopen if I missed anything.


bug fixes

So part of this PR is mainly for the situation where a context can get canceled right after Create handler enters the critical portion (MD Write), and it takes too long for the rest to finish. Since for open() that creates a file, an Attr is followed after the Create. This can cause Attr to fail.
I couldn't come up with an easy way to test this, but I did try cancelling at the end of the Create handler, which results in failure before the change and success after the change.

Actually on a second look, I think the issue was probably caused by the delayed cancellation bug, where canceled was set to try right after original cancellation was cancelled, even though it had not cancelled the actual context yet. This caused the Enable... call afterwards for Attr to get a context.Canceled error even though the context might not have been canceled.
In other words, it seems the eiCache is probably not absolutely necessary unless we are worried about MD write taking longer than the grace period. What do you think? @strib

I thought we checked in the logs and saw that the write was indeed taking a long time?

I was not sure about that, which was part of reasons why I brought it up. But yeah, sounds good!


Added support for vita target

Added support for tier 3 armv7-sony-vita-newlibeabihf target.
Rust std actually defines that by target_env = "newlib", but I am not entirely sure about other newlib targets.
If the goal is to align with std, I can change it to that.

I found this code, so it does seem like other newlib targets will use __errno too, so it seems best to follow Rust std here.

I've updated the PR to use target_env = "newlib".
I didn't remove espidf from cfg. Even though both espidf targets have newlib env in their specs (riscv32imac_esp_espidf and riscv32imc_esp_espidf), it is possible (though highly unlikely) that somebody uses this crate with a custom spec that is not newlib, and a change like that would break this crate for them.

Sounds good.

This is now released in errno 0.3.6.


V1.10 still has the problem: command 'markdown.extension.onEnterKey' not found

V1.10 has the problem: command 'markdown.extension.onEnterKey' not found

I have downloaded v1.1.0, this error appear
it doesn't happened to me before today

You need to update vscode to v1.21.0 at the same time because there is a breaking change in the API.