revise strange file path.

Description
When I want use my template from Rakefile,
 YARD::Rake::YardocTask.new{|t|
    t.files=['lib/**/*.rb']
    t.options=[]
  }
  YARD::Rake::YardocTask.new {|t|
    t.files=['**/*.md']
    t.options=['-t mathjax']
  }

above half works well, but below half dosn't.
The error tells
ArgumentError: No such template for  mathjax/fulldoc/html
/usr/local/lib/ruby/gems/2.2.0/gems/yard-0.9.5/lib/yard/templates/engine.rb:41:in `template'

The path in engine.rb puts a character ' ' at the front.  When I write the template in .yardopts, '-t mathjax' works well.  If the template description is '-tmathjax' not '-t mathjax', it should be ok but not a usual sense.
Completed Tasks

[o] I have read the Contributing Guide.
[o] The pull request is complete (implemented / written).
[o] Git commits have been cleaned up (squash WIP / revert commits).
[x] I wrote tests and they pass (if code is attached to PR).

YARD seems to be behaving as expected here. The options array needs to be delimited by argument, so it should be t.options = ['-t', 'mathjax']. Does this not work?

It works.  I misunderstand the options descriptions.  I appreciate very much for your fast response.

2016/08/20 16:46、Loren Segal<EMAIL_ADDRESS>のメール：
YARD seems to be behaving as expected here. The options array needs to be delimited by argument, so it should be t.options = ['-t', 'mathjax']. Does this not work?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Strand annotation fields not suggested in start action

Description:
Consider the following code:
public function main() {
    var tDesc = @strand{<cursor>} start aFn();
}

function aFn() {
}

At <cursor>, strand annotation's fields are not suggested.
Steps to reproduce:
See description
Affected Versions:
2201.1.1-SNAPSHOT

When investigated, the semanticMode.typeOf() method returns future as the type instead of a record symbol representing fields of the strand annotation data. Seems like the semantic model does not have the strand annotation information when I looked at the BLangVariableDeclaration node inside the compilation unit.


Asymmetric behavior for subscribes and unsubscribes

Currently, if a datastore subscribes to an endpoint, it will append a the appropriate callback, so that multiple subscribes to the same endpoint will result in multiple callback (rather than having the second subscribe override the first).
However, if a datastore unsubscribes against that endpoint, ALL the subscriptions will be cancelled associated with that endpoint: For example:
let parent=new Entangld();

// Attach first subscribe:
var call_count_1 = 0;
parent.subscribe('value', (path,value) => { call_count_1 += 1; console.log(`Sub 1 called for ${call_count_1}th time`) })
var call_count_2 = 0;
parent.subscribe('value', (path,value) => { call_count_2 += 1; console.log(`Sub 2 called for ${call_count_2}th time`) })

console.log(parent._subscriptions) // I know about both subscriptions
setTimeout(() => {
  parent.set("value",0) // I cause both subscriptions to trigger
  parent.unsubscribe('value') // I can't both subscriptions
  console.log(parent._subscriptions) // I print []
  parent.set("value",0) // no subscription is triggered
}, 50);

An added level of strangeness is that while .unsubscribe(path) checks for path matching to clear callback functions, the internal ._unsubscribe method uses uuid checking to clear callbacks. In that sense, the public methods seem to gloss over the fact that multiple callbacks can exist for the same path (which as far as I can tell is why the uuids are there in the first place), while the internal methods handle things more consistently.
Is it meaningful to add some functionality to the public .unsubscribe(path) method to be something more like: .unsubscribe(path_or_uuid) where if you give it a path is clears everything, but if you give it a uuid, it only clears the specifically indicated callback?

Fixed with commit c822f0691868cb8f1826f87fa0a804380c49fdfc


As a candidate using the job portal, I want to have the ability to create, customize, and manage my resume webpage, so that I can portray my personal information to potential employers.

Implemented successfully


Build wallaroo AMI for public use

The goal is to have a publicly-available AMI for each Wallaroo release, so that users don't have to build anything themselves.
This branch contains work to make that happen, but I'd appreciate input from @dipinhora and @JONBRWN on whether this is a reasonable approach to get something off the ground.
Right now, I extracted the function definitions from bootstrap.sh and put them in a separate file that is sourced by ami_install.sh to perform a subset of the things bootstrap.sh does.
Currently the AMI building process is done via packer, using the invocation:
(env) /home/p$ WALLAROO_VERSION=0.5.1 packer build template.json

The idea is to leverage our current release infrastructure to publish an AMI for every Wallaroo realease we have.

@JONBRWN please take a look when you have a second. I've implemented your suggestion regarding building the binaries on the vagrant box, thereby minimizing the bootstrapping necessary on the image itself.

@pzel the changes look good to me, were the current AMIs generated using this process? if so, I'll just test those instead of the whole process

Yes, the current AMIs were generated with rev. bd70c0f of this branch. I can also deregister them and you could test out the build process & related documentation.

@pzel deregister them and I'll test it out on my end

I think this should have updates to our documentation for "installation options". If its not there, it might as well not exist in terms of public usage.

When running the script as described in the accompanying doc, the following error was output:
    amazon-ebs: Found Image ID: ami-04169656fea786776
==> amazon-ebs: Creating temporary keypair: packer_5b759fc8-4159-f5a2-62ad-f0368afc7b84
==> amazon-ebs: Creating temporary security group for this instance: packer_5b759fcb-9954-862b-a95f-9c612d6cc0ea
==> amazon-ebs: VPCIdNotSpecified: No default VPC for this user
==> amazon-ebs: 	status code: 400, request id: 9495b6f0-5ca6-4e2b-b1db-6f7bac7efd8f
==> amazon-ebs: Deleting temporary keypair...
Build 'amazon-ebs' errored: VPCIdNotSpecified: No default VPC for this user
	status code: 400, request id: 9495b6f0-5ca6-4e2b-b1db-6f7bac7efd8f

==> Some builds didn't complete successfully and had errors:
--> amazon-ebs: VPCIdNotSpecified: No default VPC for this user
	status code: 400, request id: 9495b6f0-5ca6-4e2b-b1db-6f7bac7efd8f

==> Builds finished but no artifacts were created.```

Question: should the AMIs have the "normal" wallaroo examples included so users can follow along with the book/examples documentation?

@JONBRWN This issue is likely related. My guess ATM is that your default region us-east-1 doesn't have a default VPC, while mine (us-west-2) does. Let's see if explicitly specifying us-west-2 as the build region in the template alleviates that problem.

@dipinhora to address your question, here's the intended use case for this AMI:
I'm a developer, I know how Wallaroo works and I'm developing/testing my Wallaroo application day-to-day locally. I'd like to have a stable base that's accessible from AWS automation tools (awscli, terraform, pulumi), where this base image has the Wallaroo runtime installed.
This work doesn't cater to the curious user who wants to try out Wallaroo -- I think we have much better stories for that with both the Docker environment and #2353. This is just the last-mile piece required for smooth automation. Ideally, the user of the AMI would never even ssh into boxes provisioned from this AMI. The flow would be more like:

[Automated] Provision Wallaroo machines with a known Wallaroo AMI
[Automated] Load up Python code
[Automated] Launch machida <MY_PYTHON_CODE>

In light of this, providing example apps on the AMI feels out of place, at least in my opinion.
However, this base image could be used for #2318 and perhaps even for #2317.

@pzel I understand that the use case I'm asking about wasn't the original motivation. I don't understand the downside to supporting it in addition to the use case you've outlined. The additional files wouldn't interact with or take away from your use case but would allow for someone to explore Wallaroo without requiring them to have a computer with resources to spare (i.e. don't have cpu/memory because it's all used by their "normal" work). It would also allow for someone to try out the Wallaroo examples in a clustered/multiple server configuration easily (and hopefully avoid the pitfall of compiling machida on different computers and running into a segfault because serialization wouldn't work).

I think my only argument here is that in a production environment, I don't expect nor appreciate 'extras' that are there and that don't support the actual application workload. A bunch of acronyms covers this: YAGNI, KISS, etc.
If a user asks for this, we could consider adding examples, but I'd much rather move on and add pulumi/ansible capabilities to the example apps themselves. That way, when someone indeed wants to try out an example app in a cluster, they can cd wallaroo/examples/python/reverse && ./stand-up-cluster.sh. This would build on the AMI work without adding unnecessary elements.
A strained analogy comes to mind, for what it's worth: If I stand up an EC2 instance using the MySQL Community AMI, I woudn't expect (or want) example SQL files or example tables included on-disk.

How's this going?


Getting hostIP in worker can crash the job when there's no internet connection

The worker/job runner gets the worker's host IP (externalIP() helper) and sends this back as part of the job logs. When there is no internet connection (for me, I was testing on my laptop without internet) the job will fail hard when getting this IP.
Expected behavior is to handle the error gracefully and not return a host IP in the job logs.

Looks like I fixed this in https://github.com/ohsu-comp-bio/funnel/commit/fd600a329899fbb8de89942e612bd890c3859cbd


Uploading Artifacts to Release

I know that the pipeline is uploading artifacts every time it builds, but is it possible to have those artifacts uploaded into release anytime there is a new build? I wanted to ask because it would make it much easier to grab them from a ci/cd pipeline since the url to the latest release will always be the same. My friend and I want to be able to easily grab the newest version of the plugin the second new changes become available.

Getting it from the build action should be possible via the GitHub API. Perhaps a version check can be integrated into the plugin which will check if it is the latest version or not. This would involve incrementing the plugin version and creating a tag for every commit. And then it can be uploaded as a release too.


make sure we can write to existing logs

This makes sure any logs that might be owned by previous buildstep users, are owned by the current running one.

I was playing around with something similar in the last round of changes. I scrapped it though as supervisord itself is run as root.
The Procfile child processes that it starts don't write to the log directory, only supervisord does. They just write to stdout/stderr and it gets redirected.
Is this necessary for some other use case? (ex: a process that wants to read it's own or it's siblings log files?)

Yeah a lot of our processes write their own logs.


Add IntegrationTests for Some Get Verbs

Type of Change

[ ] Bug fix (non-breaking change, fixes #)
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[X] Adding code coverage to existing functionality
[X] Pester test is included
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose

Include Pester Tests for several Get cmdlets which previously didn't have Integration tests
Approach

Create any objects that need to be retrieved using Get-
Get the object and validate values
Drop any objects that were created to test.
Commands to test

The tests for each cmdlet can be ran, or run the entire suite of tests should pass.

dream come true 😍  thank you. there was one failure, unsure if it's unrelated, so i merged from dev to spark off another round of tests

Cool. I will take a look there are still a few more tests that I have as part of the PR. It is odd that some of the tests that never failed the last two or three times failed on this most recent run.

That last tweak didn't work. I am going to work on some more tests to add to this PR and will re-run in a while.

Everything on this PR looks to be good now. Seems like I had some issues with Instance3 as well as some tests that worked in my test, but not in CI. Please feel free to merge. Still have quiet a few tests, but will do them in future PRs.

thank you! 🙇


docker bridge network broken caused by 'iptables=false' docker startup option, breaks 'docker build'

Is this a BUG REPORT or FEATURE REQUEST? (choose one):
BUG REPORT

Environment:

Cloud provider or hardware configuration: VMWare vSphere

OS (printf "$(uname -srm)\n$(cat /etc/os-release)\n"):
Linux 4.13.5-coreos-r1 x86_64
NAME="Container Linux by CoreOS"
ID=coreos
VERSION=1520.5.0
VERSION_ID=1520.5.0
BUILD_ID=2017-10-10-2231
PRETTY_NAME="Container Linux by CoreOS 1520.5.0 (Ladybug)"
ANSI_COLOR="38;5;75"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://issues.coreos.com"
COREOS_BOARD="amd64-usr"

Version of Ansible (ansible --version): ansible <IP_ADDRESS>

Kubespray version (commit) (git rev-parse --short HEAD):
7e46688
Network plugin used: flannel
Copy of your inventory file:
[kube-master]
master-01 ansible_host=x.x.x.251 flannel_interface=ens224 ip=<IP_ADDRESS>
[etcd]
master-01 ansible_host=x.x.x.251 flannel_interface=ens224 ip=<IP_ADDRESS>
[kube-node]
worker-01 ansible_host=x.x.x.252 flannel_interface=ens224 ip=<IP_ADDRESS>
worker-02 ansible_host=x.x.x.253 flannel_interface=ens224 ip=<IP_ADDRESS>
worker-03 ansible_host=x.x.x.254 flannel_interface=ens224 ip=<IP_ADDRESS>
[k8s-cluster:children]
kube-node
kube-master
Command used to invoke ansible:
ansible-playbook -u core -b -i inventory ../../kargo/cluster.yml
Output of ansible run:

Anything else do we need to know:

In my use case I run Jenkins in k8s with k8s workers which need to build a docker image, push this to my registry and apply the new deployment. Docker build breaks because of missing network connectivity in the 'intermediate containers' while building the image. Docker calls in the jenkins 'worker pods' use docker on the k8s nodes (via bind mount /var/run/docker.sock)
For my setup docker builds work again with 'iptables=true'. Kubernetes network setup also keeps functioning (flannel).

The reason why network connectivity is missing in containers with the standard bridge network, is the missing NAT rules. So adding the NAT rules for the docker0 interface is also a possible fix for my use case.

The iptables=false flag means that docker will not be writing any new rules to the hosts iptables. However this is required since this is exactly how docker provides network connectivity for all of its containers, by adding new rules in the hosts IP tables. If you need network connectivity for all containers, you need iptables to be set to true. This should be included in the config interface.

cc @mattymo?


PTX parser rewrite

Our PTX parser has been working surprisingly well and has been the same basically from the inception.
Lately, I've been running into limitations of the parser when working on other areas of the codebase. This rewrite is done for those explicit reasons (not all of them will apply right now):

Better support of inline assembly (out-of-order instruction modifiers)
More precise tracking of flush-to-zero flag
Better support for instruction visitors (we can only do move-and-map right now, but we want visit-by-ref and visit-by-mut-ref)
Less error-prone instruction definitions (no more ArgumentDescriptor)

Side benefits:

Slightly better compilation times
PTX parser will be split to a separate crate, making it easier for people who want to use just that part of ZLUDA

v4-reborn 🚀


Package_data object unused and misleading.

There's a strange object defined in shared-js model named PackageData (in
package_data.js). It seems to be unused and incomplete. The real structure passed from the host application is much more complex than this one.
Daniel Weck said: "Well, removing it would break the build, as there is one compile-time
dependency in the AMD (RequireJS) function signature of
js/models/package.js
That being said, the parameter is not actually used anywhere, so in
principle we could definitely nuke this JS "class"."

For reference:
https://github.com/readium/readium-shared-js/blob/develop/js/models/package.js#L25
https://github.com/readium/readium-shared-js/blob/develop/js/models/package_data.js#L27


Calibration grid off but saved when using chromecast

Switching into full screen when casting to chromecast changes the aspect ratio of the viewport to match the aspect ratio of the projector to fill out the projected space. That's great for using the whole projected area but it means the user has to remember to switch to full screen first if they want that full space or else it looks like the grid is off from last time.
When using full screen regularly, without casting, the app takes up the whole computer/tablet screen so the grid can't move unless the user moves a corner/edge. When using full screen while casting the tab/app, the casted viewport size can change if the window size is changed causing the grid location to change and wrecking the calibration.

I continued to have this issue, even without ever changing the window size. I have an example screen recording but it's too big to upload here. I reset my calibration, tweaked it while casting until it matched my mat, stopped casting, and then quit and reopened PP and you can see that the calibration grid looks skewed after reopening. This is before and after screenshots from my video immediately before quitting PP (after I stopped casting) and after reopening:

Please let me know if there's a good way to share the video if you want to take a look.
However, I kept playing with this trying to nail down the exact steps that could reliably reproduce this issue, and in the process, I deleted my saved calibration with the trash can many times (1 time didn't fix the issue). After deleting many times, I'm now unable to reproduce the issue.


Fix Nagios templating

Some values missing from the Nagios template. Also Jenkins user was not capable of being overridden because the env var was never passed to container

:eyes:

@matskiv new change pushed to allow update of PLATFORMS on re run of the playbook


[Improvement]: Enhance CLI to support @env() for enum options

What happened?
When doing this in the CLI:
dab init --config "dab-config.json" --host-mode "@env('mode')"
I got this:
Option 'host-mode' is defined with a bad format.
It seems to me that validation is being done prematurely. av --v
Version
Microsoft.DataApiBuilder 0.9.5-rc
What database are you using?
Azure SQL
What hosting model are you using?
Local (including CLI)
Which API approach are you accessing DAB through?
REST, GraphQL
Relevant log output
No response
Code of Conduct

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

It would be little harsh to say cli doesn't support @env().
For the case highlighted above, --host-mode is of Enum type, that can be supplied with only two values either Development or Production.
where as any options with string type can be easily supplied with @env(), for example --connection-string

Agreed. If we are going to support some and not all, we need to either "fix" it or document it.


Torch light is too high in saturation and intensity

Currently, the light provided when toggling 'Torch is lit' is extremely high saturation and intensity to the point of obscuring the token holding it among other things. This especially becomes an issue if two tokens in close proximity hold lit torches.

As such, I'd like to suggest to drop the colour intensity and saturation of the torch. Below is the results I obtained after fiddling, along with the settings to achieve it.

It appears you have two lights overlapping. Foundry will compound the intensity, so it's unfortunately out of our hands.

It appears you have two lights overlapping. Foundry will compound the intensity, so it's unfortunately out of our hands.

I'm very aware that foundry compounds colour which is not an issue that can be fixed for the PF2E module, but that being the case reducing the colour intensity for the baseline PF2E torch item fixes the issue of how saturated it appears no? As from what I can tell, Foundry compounds colour intensity but not light intensity, so reducing the colour in the light should result in it looking a little more normal, as per the screenshots.
Genuinely trying to gauge that this might make a party holding torches not look like star come to earth ^^'


Add support for RSA X509 certificates

Motivation

Current dependencies on/for this PR:

main

PR #68

PR #69

PR #70

PR #71

PR #72   👈

This comment was auto-generated by Graphite.

punting on implementing x509 chain parsing logic.


how to support chinese

How to support chinese language, thinks!

I have the same problem.

Currently, the code doesn't allow for the importing of custom fonts (that would allow you to import the Chinese language). It looks like this is possible with Flying Saucer:
http://stackoverflow.com/questions/16809464/flying-saucer-itextpdf-chinese-fonts
If you want, feel free to add that into the code and submit a pull request. If not, I will add it in whenever I am available to do so.


Updated Catch2 Header to Latest

Fixes failure of unit tests to build under Ubuntu 19.10.
Issue #695

CI gfxreconstruct build # 1645 running.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

CI gfxreconstruct build # 1645 passed.


[Question] There is no address after clicking the title

Question

hi we can not see the pic.

hi we can not see the pic.


EPSG:4326 projection's radius seems have two defination

in proj/epsg4326.js, it use 6378137 as radius to calculate meters_per_unit
but in proj/units.js, is use 6370997 as radius to calculate meters_per_unit (epsg:4326 use degrees as unit)
// units.js
export const METERS_PER_UNIT = {
  // use the radius of the Normal sphere
  'radians': 6370997 / (2 * Math.PI),
  'degrees': (2 * Math.PI * 6370997) / 360,
  'ft': 0.3048,
  'm': 1,
  'us-ft': 1200 / 3937,
};

// epsg4326.js
export const RADIUS = 6378137;
export const METERS_PER_UNIT = (Math.PI * RADIUS) / 180;

I found that the API document does not mention epsg4326.js, is it deprecated?
which one should i use?

It is because the reference ellipsoid used is different，6370997 is Normal sphere,6378137  is WGS84 ellipsoid,you can use meters_per_unit of units.js like openlayers code


[SPARK-40754][DOCS] Add LICENSE and NOTICE

What changes were proposed in this pull request?
This pach adds LICENSE and NOTICE:

LICENSE: https://www.apache.org/licenses/LICENSE-2.0.txt
NOTICE: https://github.com/apache/spark/blob/master/NOTICE

Why are the changes needed?
https://www.apache.org/licenses/LICENSE-2.0#apply
See also: https://github.com/apache/spark-docker/pull/2#issuecomment-1274807917
Does this PR introduce any user-facing change?
No
How was this patch tested?
No need

cc @tgravescs @HyukjinKwon

But its not clear to me how that applies to the binary generated from the docker file and what exactly needs to go into that docker file or in like. NOTICE-binary file. It would be good to ask Apache folks or see what other projects have done.

We (I and Tom) had some initial discuss in here: https://github.com/apache/spark-docker/pull/2#issuecomment-1274772242 , let me show more invistigation here:

spark (Docekr Official Image, DOI):

it published by Docker community
Docker community only required the dockerfile is under an OSI-approved license from link
https://github.com/docker-library/official-images/pull/13089 is the PR for Apache Spark.
For DOI, Only LICENSE and NOTICE needed, because it published in downstream.

apache/spark (Apache Spark Official image)

it published by Apache community
LEGAL-270: ASF allows dockerhub publish

The main Docker Hub at hub.docker.com is a public-facing downstream distribution channel – similar to Maven Central, PyPI, Debian package management.
Docker images can be built from our official source releases, but are derived distributions analogous to, say, Debian packages.

LEGAL-437: it might related to NOTICE-binary, but didn't get a clear results. However, according the ASF legal, leans to Any components in the parent container are the responsibility of the parent container (ie: owner of <image> in FROM <image>) to comply and generally trusting top level Linux OS images.
Consider above two JIRAs, so I think NOTICE-binary will be same with apache/spark repo, or we can just reference https://github.com/apache/solr-docker, https://github.com/apache/flink-docker, only LICENSE and NOTICE is enough in here.

also cc @srowen (who create the LICENSE for apache/spark)

cc @srowen  FYI

Ok, seems that plan is fine based on other projects.  Its to bad they didn't answer all the questions on LEGAL-437.

@HyukjinKwon @srowen @tgravescs Thanks! Merged to master.

Thanks for driving this @Yikun


Suggestion/Request

Hi,
I'm pretty new to all of this, so please be patient.
I wanted to know, if it's possible to have the respective apps running inside of the groups.
Kind of like different windows of Word or Chrome are grouped and you can just hover over it and switch between them.
Is there a way to implement this as a feature?
Have a nice day,
Matt

I would also like something like this, I don't use pinned icons personally, but I would like to be able to group programs together on the taskbar in a manner similar to how Discord severs can be grouped together.

I want this, too!


start failed with node v0.12.0

Fails with the below error:
\mean\node_modules\imagemin-pngquant\index.js:2 const execBuffer = require('exec-buffer'); ^^^^^ SyntaxError: Use of const in strict mode.
const is an ES2015 feature and failed on 0.12.0.
Why not update package file for node version to use LTS 4.5.0 or even to v6.x since it will be LTS starting october.

Upgrading to >=v4.5 will also help remove the mongoose mpromise deprecation message by overriding mpromise to use ES2015 promise. thoughts?

#1414 would resolve this issue. Marking as closed.


Add sexiarz.pl to sites.yml

Important: Please read all instructions carefully.
Select the appropriate category for what this PR is about
This PR is:

[x] Adding a new domain
[ ] Updating existing domain size
[ ] Changing domain name
[ ] Removing existing domain from list
[ ] Website code changes
[ ] Other not listed

Do not tick a checkbox if you haven’t performed its action. Honesty is indispensable for a smooth review process.

[x] I used the uncompressed size of the site
[x] I have included a link to the GTMetrix report
[x] The domain is in the correct alphabetical order
[x] This site is not a ultra lightweight site
[x] The following information is filled identical to the data file

- domain: sexiarz.pl
  url: https://sexiarz.pl/
  size: 154
  last_checked: 24-07-2021

GTMetrix Report: https://gtmetrix.com/reports/sexiarz.pl/sHorU3J4/

I'm not entirely sure what the site is about can you please describe it, and know that NSFW sites aren't allowed.
PS I fix the order of your site and the date format this does not mean it is automatically accepted.

It's a jokingly made website about sex but it doesn't include anything nsfw.

Im not completely sure will refer it to @kevquirk


[WC-1636] Gallery selection API

Pull request type

New feature (non-breaking change which adds functionality)

Description
Add item selection implementation to Gallery based on new "selection" property from Pluggable Widgets API.
E2E updates:
Test for sorting actually was testing enum filtering. To fix that I added new test case and moved enum filtering to appropriate test group.

@r0b1n, I think we should update mendix and pluggable-tools in separate PR. I'll do it on Monday.


FR: Support for sending notification to multiple devices

Currently there is support to send notifications to specific devices as documented here.
There is support for sending notifications to multiple devices in Node JS SDK and Java SDK.
Example:
const registrationTokens = [
  'YOUR_REGISTRATION_TOKEN_1',
  // …
  'YOUR_REGISTRATION_TOKEN_N',
];

const message = {
  data: {score: '850', time: '2:45'},
  tokens: registrationTokens,
}

admin.messaging().sendMulticast(message)
  .then((response) => {
    console.log(response.successCount + ' messages were sent successfully');

This operation uses the sendAll() API under the hood and return value is a BatchResponse.
It would be good if there was something similar in python sdk:
registration_tokens = [
       'YOUR_REGISTRATION_TOKEN_1',
       // …
      'YOUR_REGISTRATION_TOKEN_N',
]
message = messaging.Message(
    data={
        'score': '850',
        'time': '2:45',
    },
    tokens=registration_tokens,
)
response = messaging.send_multicast(message)
print(f"{response['successCount']} messages were sent successfully")

Unless I missed something, this issue was fixed by #283 and can be closed.
It would be nice to have a PyPI release with this feature :-) Thank you :-)

Release on its way.


separation of concerns

Hopefully this is not counterproductive/unhelpful -- I went through everything on the main process side and tried to separate things out into smaller files to reduce mental overhead for myself and future contributors. Organizing helps me understand things :)
Things I did:

renamed main to renderer to match electron process names.
moved everything related to the main process into main.
broke index.js into:

config.js - meant to house shared constants and such. I put startTime in there too for now although it's kind of a weird outlier
index.js - first thing to be required, starts up app, sets menu, creates window, sets ups IPC listeners.
ipc.js - exports an init function that handles all IPC listener binding
menu.js - exports appMenu (main menu built from template) and onToggleFullScreen (needed by windows.js)
windows.js - exports main (main window instance or null) and create

manages creation and state of main window, with room for adding other windows

Communicating between the different modules above is not great since a lot of the functions originally needed access to variables outside their own scope, and accessing variables from cached required modules is not a good idea. I'd like to add an event emitter for communication between files in the main process.

I should mention I tested locally, everything looks to be working exactly as before. The PR is bigger than it looks, mostly just rearranging things.

This looks really good! I agree that separating this stuff into separate files makes it easier to understand :+1:
Also, I do the same thing when I'm trying to understand code. Refactoring requires you to understand code on a deep level. It's kinda like in college, how reading a practice exam helps you prepare for a test a lot less than actually taking the practice exam, or even just copying out the solutions :)


Grammer Fix

Minor gramatical fix.

Thanks @alex-stout for your contribution.
PRs in this repo should target master, and we will propagate the fixes. I see you used the GitHub edit functionality so it points to 2.5.x.

Thanks @alex-stout for your contribution.
PRs in this repo should target master, and we will propagate the fixes. I see you used the GitHub edit functionality so it points to 2.5.x.


chore: jsonfmt reservations

Automation for azure-sdk-for-python

Automation for azure-sdk-for-ruby

Can one of the admins verify this patch?

Automation for azure-sdk-for-java

Automation for azure-sdk-for-go


{{ page.id }} fails to be passed into the plugin when used within a custom excerpt section

I'm using the block format instead of the tag because I want to do something like this:
{% responsive_image_block %}
    path: {{ site.responsive_image.base_path | append: page.id | append: "/image-name.jpg" }}
    alt: "Image caption"
{% endresponsive_image_block %}

However I get the following error for a post named 2009-03-15-post-title.md:
Liquid Exception: Invalid image path specified: assets/images/fullsize/blog/2009/03/15/post-title#excerpt/image-name.jpg

Notice that #excerpt appears in the error output. I have no idea where that comes from or why it seems to be added onto the end of page.id.
I've tried to {% assign path = {{ site.responsive_image.base_path | append: page.id | append: "/image-name.jpg" }} %} separately and then use the {{ path }} in the responsive_image_block, however that doesn't work either.
I've also confirmed that {{ site.responsive_image.base_path | append: page.id | append: "/image-name.jpg" }} outside of the responsive_image_block outputs the correct string without #excerpt.
The only thing that worked was explicitly writing out the path instead of using variables like so:
{% responsive_image_block %}
    path: "assets/images/fullsize/blog/2009/03/15/post-title/image-name.jpg"
    alt: "Image caption"
{% endresponsive_image_block %}

But obviously I'd like to make use of the variables I already have access to like I do elsewhere in my jekyll blog. site.responsive_image.base_path is defined in the _config.yml, and page.id is defined as part of Jekyll so the only thing I need to worry about is what the image is called.
Many thanks.

Hmmm....... this is very strange. I tried this again just now and it looks like it is working as desired. I'll close this for now and reopen if I spot it again. Sorry for the confusion.

Aaaand now it stopped working. Although I think I got to the bottom of it.
I use a custom excerpt marker. When I use your plugin from within the excerpt it fails with the same characteristics as I described in the original comment. i.e. it translates {{ page.id }} into page/id/post-title#excerpt. When I remove the excerpt marker from within my post I don't see that error.
I'm trying to port my site over from using the Jekyll Picture Tag plugin to using yours. I'm almost there but there is something in the way that jekyll-picture-tag worked that is holding me back fully porting over to use yours.
Having a look at this piece of code from that project, it looks like they forcefully parse the parameters sent into the tag and strip out any unwanted characters / strings.
For the time being I can do something like this to workaround the issue.
path: {{ site.responsive_image.base_path | append: page.id | remove_first: "#excerpt" | append: "/image-name.png" }}

My config looks like this for the excerpt settings.
excerpt_separator: <!-- more -->

If you don't mind I'm going to reopen this so that you can have a look and let me know. I'll also try and edit the title to be a bit more specific as to the fact it is a bug only within the excerpt boundary.

Hey, thanks for the detailed report! I've just created a (failing) test case in #50. I'm pretty busy this week but I'll let it mull in my head for a bit and hopefully come up with a fix this weekend.

I was looking at this again today and I'm not sure it's something that this plugin can fix. When you write
{% responsive_image_block %}
    path: {{ page.id }}
{% endresponsive_image_block %}

The {{ page.id }} part is evaluated before the plugin receives the value. By the time the plugin is initialised, all it receives is:
path: /2017/03/13/my-post

So unfortunately to get around this, you'll need to continue stripping #excerpt from the paths.


Adding a preview on home page

Currently, there's no preview of pdf on the home page.
Add a small preview of the image there. Instead of the image icon present there.

Expected

I was working on this issue, I will make a PR!


Songkrannamprasan

``
[Enter feedback here]
<EMAIL_ADDRESS>Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 6133cb90-40c5-fb2b-25b4-153ba068f4c2
Version Independent ID: 6133cb90-40c5-fb2b-25b4-153ba068f4c2
Content: Overview of Community
Content Source: ce/customer-service/administer/community-overview.md
Service: dynamics-365-customerservice
GitHub Login: @lalexms
Microsoft Alias: laalexan

Thanks for your comment, @songkrannamprasanjoylove. This issue has been assigned to the doc author for review.

@songkrannamprasanjoylove did you have feedback about this article?


[Bug]: HMR not work for sidebar label

Version
System:
    OS: macOS 13.5.2
    CPU: (10) arm64 Apple M1 Pro
    Memory: 2.30 GB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Browsers:
    Chrome: 118.0.5993.88
    Safari: 16.6
  npmPackages:
    @rspress/shared: ^1.1.1 => 1.1.1
    rspress: ^1.1.1 => 1.1.1

Details
After updating the h1 of a markdown file, the sidebar label can not be updated, it cannot be updated even after refreshing the page.

Reproduce link
https://github.com/web-infra-dev/rsbuild/tree/main/packages/document
Reproduce Steps

Update h1 in markdown file.

It is an important bug and we will follow up for long term.


assert cardinality

fixes https://github.com/edgedb/edgedb-go/issues/36

This change is based on https://github.com/edgedb/edgedb-go/pull/72. WIP until upstream is merged.

This change is based on https://github.com/edgedb/edgedb-go/pull/72. WIP until upstream is merged.


Get rid of warnings when launching from the terminal

I'm seeing the following warnings when launching from the terminal. Is it possible to not showing them to users?

<IPython.core.display.Javascript object>
Warning: Roundtrip module could not be loaded. Requires jupyter notebook version <= 7.x.

I'll take a look at this. Should be easy to suppress. Maybe an option in the constructor, but otherwise shouldn't be a problem.


feat!: redesign website

What issue is this referencing?
this PR will closes #311, #139 (with breaking changes)
Description

use pnpm instead of npm (as it is much faster)

latest nuxt with @nuxt/devtools support

@nuxt/content for writing static content in markdwon

@nuxt/eslint for eslint setup with new flat configuration

@nuxtjs/seo for SEO tools like ogImage, SchemaOrg, LinkChecker and ...

new component structure

nuxt-icon for iconify icons

moved the data from store to constants (with auto-import enabled now). maybe we can move it to composables in the future.

improved lighthouse score: (the score is improved but the performance might not always be at 100, jsut a little heads up)

the board recruitment page seems to 404 https://deploy-preview-315--dev-edmonton.netlify.app/board_recruiting

Okay general thoughts:

This is beautiful and I am so excited. Thank you for all the work you have put into it.
How do we deal with the TODO's? Is your plan to make issues for them and fix later or fix before the pr merges in?
Most important question: when I am confused about something with nuxt content in the next 6 months can I DM you hahahah

@MarkBennett You do not have to review but I think you would find this pr really fun. The resdesign is so cool!

Okay general thoughts:

This is beautiful and I am so excited. Thank you for all the work you have put into it.
How do we deal with the TODO's? Is your plan to make issues for them and fix later or fix before the pr merges in?
Most important question: when I am confused about something with nuxt content in the next 6 months, can I DM you hahahah

@arashsheyda: I really love how good the redesigned landing page looks. Great job on the redesign and the improved light house scores.
@MandyMeindersma: I was literally thinking the same thing you mentioned in #3. It would be nice to have some support if we end up having issues later on. Also, an FYI, I am helping my brother move today, so I can't review the PR until later this evening.

@MarkBennett You do not have to review but I think you would find this pr really fun. The resdesign is so cool!

Thanks for the heads up @MandyMeindersma! I'm just heading out for a spring break trip with the family but I might lurk on this just to see. Very cool and great work @arashsheyda! 😄

It has a dark theme! So cool @arashsheyda! 🤯

@MandyMeindersma

How do we deal with the TODO's? Is your plan to make issues for them and fix later or fix before the pr merges in?

yes, the TODO's are more like nice to have things in the future, except contact page

Most important question: when I am confused about something with nuxt content in the next 6 months can I DM you hahahah

yes for sure, anytime! I'de be super happy to help with anything related to vue & nuxt :DD

@MarkBennett @deejayjay thanks!

I'm not going to go through a whole review due to the quantity of changes, but I do have a few comments after a quick glance.
Great work on these changes by the way.

use pnpm instead of npm (as it is much faster)

I don't necessarily agree with this change. At the very least I think it should be separated into it's own PR.

It looks like our test and format npm commands have been removed, and also removed from the PR guidelines.
It looks like our test setup has been removed entirely. That's a pretty big regression.

I could maybe do a more in depth look later, but these are the things that jumped out for me right away that I thought might merit some discussion.

I don't necessarily agree with this change: pnpm

here is why we sohuld use pnpm pnpm vs npm
also in my experience pnpm works better in many ways but if you want we can roll back to npm 😄

At the very least I think it should be separated into it's own PR.

I thought including it here made sense because of all the changes. But if you think it's better separate, we can do that

It looks like our test and format npm commands have been removed, and also removed from the PR guidelines.

format comamnd has been replace with lint (prettier is good but sometimes it can be too strict, and I think we can have what prettier has with eslint)
also there is this article about eslint & prettier

It looks like our test setup has been removed entirely. That's a pretty big regression.

the tests were removed as it had 3 basic tests, and I thought starting fresh will help us build better tests later on.

I could maybe do a more in depth look later, but these are the things that jumped out for me right away that I thought might merit some discussion.

thanks @DerrykBoyd

I thought including it here made sense because of all the changes.

It's definitely best practice to keep PRs as small as possible and single focus. Otherwise things can get stuck in limbo since now you end up with multiple discussions in the PR trying to work through opinions on each change.
on pnpm vs npm
That's an opinionated change, my main objection here is it's another small hurdle for contributors. But I'm not totally against it. If this does stay, I would like to see the README updated with clear instructions on how to get started on the project using pnpm, right now it's all npm commands which aren't relevant anymore if this PR is merged.
formatters vs linters
Here are the recommendations from the typescript-eslint project on this topic.
Again, this isn't something I would get behind, but I don't mind if others want to go ahead with it.
on tests
Yes we didn't have many tests, but what we did have was a working test setup, and that's valuable. Before if any contributor wanted to add a test all they had to do was create a x.test.js file and write the test, everything else was handled including running the tests on CI.
Having personally volunteered time to get that setup up and running, it stings a little bit to see it removed without replacement.
Again, overall I don't want these things to detract from the work done here. It's incredible that you volunteered this much time to improve the site! And if this was merged as is, I would still be incredibly pleased.
Suggested action items before merge for me:

Update the README so that contributors can quickly get setup with the new tooling
Bring back a working test setup (optional - maybe a follow up PR)

@arashsheyda please don't revert the prettier change 😄 I think if others are ok with it it would be good to try the eslint only setup and see how that goes.
It might help with some issues we had recently with contributors editing files directly in github

Thanks for doing those other changes! I'm glad the tests are back
Excellent work again @arashsheyda
Feel free to open up a follow up PR for switching to pnpm

A couple odd behaviours around scrolling that I noticed in the deploy preview

After a navigation there is a jarring jump to the top of the current page before the next page loads (if there is no cache of that page yet)

https://github.com/devedmonton/DES-Website/assets/24216368/ea11307a-7a43-4905-8ab9-f5b9dbaf6256

Between around 1020px to 1300px something (I assume the slack animation) is causing the horizontal scroll to trigger and move (see the scrollbar at the bottom)
The "As a business" image link appears to be broken (can see in this video as well)

https://github.com/devedmonton/DES-Website/assets/24216368/eb3ab84e-99c7-457d-bd6f-c55f95662436

@DerrykBoyd the navigation thing is because we are getting the content of that page from content directory (@nuxt/content) and that requires a api fetch, we can make the fetch lazy (so the page would load instantly but we have to show some skeleton UI to user while the data loads) or we can prefetch the data (but it might effect the site's performance) let me know what way you want to approach

yes I'm aware of that 😄 I don't have illustrator at the moment but when we convert the illustrations to svg, we can set their size easier

that must've been a bad build from netlify (it was working before and it works locally)

@DerrykBoyd the navigation thing is because we are getting the content of that page from content directory (@nuxt/content) and that requires a api fetch, we can make the fetch lazy (so the page would load instantly but we have to show some skeleton UI to user while the data loads) or we can prefetch the data (but it might effect the site's performance, edited: the pages are loading faster now with prefetch enabled, the performance is not effected that much) let me know what way you want to approach

Ideally the solution would be that the scroll on the page doesn't change while waiting for that transition. But I don't think this is a major problem, could be a follow up issue for someone to look into.

I don't have illustrator at the moment but when we convert the illustrations to svg, we can set their size easier

All good 😄 again, minor issue

must've been a bad build from netlify

Possibly, I'm not convinced though. Probably ok to see after final deploy if it's working. What I did notice is that image is not using our image-kit setup while the others are. Also the image in production points directly to unsplash, where the one on the deploy preview seems to be processed by Netlify now.
At this point I'll defer to @MandyMeindersma to get this over the line.
Thanks for you patience with those comments @arashsheyda much appreciated.

So I think in one of the recent changes we lost the "randomization" of the meetups and community events.
Like if a refresh the highlighted 5 tiles seem to stay the same?

I have a couple more comments but they will probably have to wait until Thursday! Sorry to make you wait @arashsheyda
Thank you again!

@MandyMeindersma I have the same code built on vercel and it's working fine (randomization and the unsplash image https://devedmonton.vercel.app/)

new assets in imagekit:

https://ik.imagekit.io/des/meetups/DataScience (updated image version)
https://ik.imagekit.io/des/events/clc.png (updated image version)
https://ik.imagekit.io/des/events/gdgLogo.png (updated image version)
https://ik.imagekit.io/des/weeklydevchat.svg?updatedAt=1711891116380
https://ik.imagekit.io/des/amii.svg?updatedAt=1711891076887
https://ik.imagekit.io/des/python.svg?updatedAt=1711891265404
https://ik.imagekit.io/des/edmontonUnlimited.svg?updatedAt=1711891076630
https://ik.imagekit.io/des/r.svg?updatedAt=1711891284058

Again amazing work @arashsheyda
Other than answering my random nuxt context questions I think there are only 2 things I am worried about:

Just delete that server/api/contact.post.ts file
the randomization of the meetups and stuff is still not working on netlify and I would love to see that working but it's not a blocker for this pr

@MandyMeindersma the randomize function is in /utils/index.ts

@MandyMeindersma in order for randomize to work we need SSR.

netlify
vercel

@all-contributors add @arashsheyda for code and ideas


[Task]: Support Native Tokens metadata standard

Task description

And endpoint which will get a tokenId and try to fetch the Foundry metadata (using TIP-30 standard)
In AssetTable, try fetch metadata for each token and render it if available

Relevant TIP https://github.com/iotaledger/tips/blob/main/tips/TIP-0030/tip-0030.md
Requirements
N/A
Acceptance criteria
N/A
Creation checklist

[X] I have assigned this task to the correct people
[X] I have added the most appropriate labels
[X] I have linked the correct milestone and/or project

Merged into feature branch feat/token-and-nft-metadata-support.
Deployed to alphanet.


[Feature] Add option to ignore StacklessClosedChannelException

As in the title, what would be awesome. I didn't find anything to ignore it.
Eventually option for efficent check if the channel is closed.

Does it really makes sense?

What do you mean?

Show the code and console

What does it have to do with the problem?

My logs are really full of it, how to fix that?

You can handle exceptions by overwriting the exceptionCaught method in a channel handler. By default all channel handlers forward exceptions to the next handler by calling ctx.fireExceptionCaught(throwable). Check out this stackoverflow post for more details.

You can handle exceptions by overwriting the exceptionCaught method in a channel handler. By default all channel handlers forward exceptions to the next handler by calling ctx.fireExceptionCaught(throwable). Check out this stackoverflow post for more details.

I have this method overwritten.

Then the exception should be caught in the exceptionCaught method and you can ignore it. If that's not the case please provide the stacktrace and the code of your channel handler which overwrites the exceptionCaught method. Also where is your exception handler located in the pipeline?

Then the exception should be caught in the exceptionCaught method and you can ignore it. If that's not the case please provide the stacktrace and the code of your channel handler which overwrites the exceptionCaught method. Also where is your exception handler located in the pipeline?

Exception is on added last, I didn't see it was handle by that.

Can you please provide the code of your exception handler and entire the stacktrace of the exception?

Can you please provide the code of your exception handler and entire the stacktrace of the exception?

io.netty.channel.DefaultChannelPipeline - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception. io.netty.channel.StacklessClosedChannelException at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, ChannelPromise)(Unknown Source)

An exceptionCaught() event was fired, and it reached at the tail of the pipeline
This means the exceptionCaught was not overridden (at least not in the correct channel handler). You must override it either in the channel handler which threw the exception or any channel handler afterwards. Please check out the stackoverflow post for more details. I can't really further help you with this without seeing the code and the full stacktrace.

An exceptionCaught() event was fired, and it reached at the tail of the pipeline

This means the exceptionCaught was not overridden (at least not in the correct channel handler). You must override it either in the channel handler which threw the exception or any channel handler afterwards. Please check out the stackoverflow post for more details. I can't really further help you with this without seeing the code and the full stacktrace.

I added exceptionCaught() to every channel handler without success.

There is a write(Object, ChannelPromise) operation somewhere that gets called on a Channel that is closed. This immediately fails the ChannelPromise. Then, somewhere else, there's a sync() or syncUninterruptible() call on that promise, or its ChannelFuture view, and that re-throws the exception that failed the promise. The exception then bubbles through the pipeline in the in-bound direction (so we were processing a read) until it reaches the tail context and gets logged.
That's how much of the situation that can be understood from the data provided so far.

There is a write(Object, ChannelPromise) operation somewhere that gets called on a Channel that is closed. This immediately fails the ChannelPromise. Then, somewhere else, there's a sync() or syncUninterruptible() call on that promise, or its ChannelFuture view, and that re-throws the exception that failed the promise. The exception then bubbles through the pipeline in the in-bound direction (so we were processing a read) until it reaches the tail context and gets logged.
That's how much of the situation that can be understood from the data provided so far.

So there's no way to ignore that? Is it safe to have this exception by the way?
For sure it happens when channel is closed, because method for checking if the channel is open is a little bit slow.

ClosedChannelException (including the stackless one) can always happen in a connection due to the inevitable nature of network (it can always be closed unexpectedly). It can also happen, as others pointed out, when there's some race in the code that leads to a write happening after the connection is closed.
However, we can't really hide or ignore this completely at the framework level, because it gives a good hint to devs about whether a certain write operation was successful or not.
If you're concerned about the verbosity of the exception, consider filtering it out for the case where it's safe to ignore them. For example, Armeria defines a set of 'expected' exceptions, and we found it suppresses most of the noises:
https://github.com/line/armeria/blob/5b384fbe27e7e6f9225d6db91cbb684d09dfbb5e/core/src/main/java/com/linecorp/armeria/common/util/Exceptions.java#L150
My recommendation is to make your application configurable so that you can choose to log these 'expected' exceptions depending on the situation, e.g. you could log them when you're investigating socket-level failures.

ClosedChannelException (including the stackless one) can always happen in a connection due to the inevitable nature of network (it can always be closed unexpectedly). It can also happen, as others pointed out, when there's some race in the code that leads to a write happening after the connection is closed.
However, we can't really hide or ignore this completely at the framework level, because it gives a good hint to devs about whether a certain write operation was successful or not.
If you're concerned about the verbosity of the exception, consider filtering it out for the case where it's safe to ignore them. For example, Armeria defines a set of 'expected' exceptions, and we found it suppresses most of the noises:
https://github.com/line/armeria/blob/5b384fbe27e7e6f9225d6db91cbb684d09dfbb5e/core/src/main/java/com/linecorp/armeria/common/util/Exceptions.java#L150
My recommendation is to make your application configurable so that you can choose to log these 'expected' exceptions depending on the situation, e.g. you could log them when you're investigating socket-level failures.

These exceptions happen for me after sending packets to the closed channel. Does it create less performance than checking if channel is open (it works slowly in netty)?
The thing is I tried catching the exception without big success, it was catched for a moment, but after that I couldn't do it.

These exceptions happen for me after sending packets to the closed channel. Does it create less performance than checking if channel is open (it works slowly in netty)?

It has some performance implication but StacklessClosedChannelException is fairly cheap to create, so I wouldn't bother unless you actually see any performance issue because of it.

The thing is I tried catching the exception without big success, it was catched for a moment, but after that I couldn't do it.

That means you sometimes write before the connection is closed and sometimes not. Fix the race in your code if there's one. Otherwise, swallow it if possible, as I explained above.

These exceptions happen for me after sending packets to the closed channel. Does it create less performance than checking if channel is open (it works slowly in netty)?

It has some performance implication but StacklessClosedChannelException is fairly cheap to create, so I wouldn't bother unless you actually see any performance issue because of it.

The thing is I tried catching the exception without big success, it was catched for a moment, but after that I couldn't do it.

That means you sometimes write before the connection is closed and sometimes not. Fix the race in your code if there's one. Otherwise, swallow it if possible, as I explained above.

I would still prefer to get rid of it.

Old, but this was my solution:
`public class ExceptionHandler extends ChannelInboundHandlerAdapter {
private boolean closed;

@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
    try {
        if(suppress(cause))
            return;

        DebugMessage m = new DebugMessage().add("Netty Exception");

        m.add("\n  ip", IPAddress.get(ctx.channel()));
        ctx.channel().pipeline().forEach(h -> m.add("\n  " + h.getKey(), h.getValue().getClass().getName()));
        m.add("\n  cause", StringUtils.toString(cause));

        Server.logError(m.toString());
    } finally {
        closed = true;
        ctx.close();
    }
}

private boolean suppress(Throwable cause) {
    if(closed && cause instanceof ClosedChannelException)
        return true;

    if(cause instanceof ReadTimeoutException)
        return true; // no need to log

    if(cause instanceof IOException) {

    }

    return false;
}

}`


nested resolvers by id possible?

Amplify CLI Version
12.4.0
Question
Just quick question I'm using a query to get nested items and I want to get a child item from another table where userId == my user id.
I only want to get a single nestedItem that belong to me and the parent item (which is a single item but the parent item can have many nestedItems from different users)
So i got something like this
 items {
        id
        nestedItems(filter: { userId: { eq: $userId} }) {
          items {
            id
          }
        }
}

my model for nestedItems has an index on userId  will this filter access the index when getting the record?
lets say there are 1000+ nestedItems with same parent but different userId's .... will this still always return the nestedItems where a nestedItem has a userId or is it possible it'll return nothing because the filtered items weren't in the first 100 limit?
if thisis the case, is there a way to specify the nested resolver as listNestedItesByUserId  instead of listNestedItems something like
items {
  id
  nestedItemsByUserId(userId: $userId) {
     items {....

thank you in advance!

Hi @ryanSoftwareEngineer, since you want to get the child item and the connected parent and each parent can have multiple children, your use-case can be achieved using a hasMany - belongsTo relationship between the 2 models. This automatically creates a GSI that is used to effectively query the connected records.

@phani-srikar thank you for your response, in a dynamic list where I need to get a variable number of  child records based on parent records how can I use bidirectional relationship here?
lets say I'm trying to query for parent records for the most recent items so im querying ParentByIdAndCreatedat  and it returns items { id }
 items {
    id
    fields
}

in this query the parent returns 100 records and for each parent about half of them have a nested child item that belongs to my userId. So how can I query directly for those child items with 100 parentId's and userId is a single value?

For example:
type Foo @model {
  id: ID!
  name: String
  bar: [Bar] @hasMany
}

type Bar @model {
  id: ID!
  name: String
  foo: Foo @belongsTo
}

With the above schema Foo is the parent and Bar is the child. If want to find all of the Bars that belong to a given Foo but also further filter that based on some attribute of Bar I can use a query like below.
query MyQuery {
  listBars(filter: {fooBarId: {eq: "7e0f0705-edf0-4b53-a856-ff1a934ed2b1"}, name: {le: "bar2"}}) {
    items {
      id
      name
      foo {
        name
        id
      }
    }
  }
}

fooBarId is created by the hasMany/belongsTo relationship.
This will give me all Bars that have a name less than or equal to bar2 and that also belong to the Foo with ID 7e0f070....

  listBars(filter: {fooBarId: {eq: "7e0f0705-edf0-4b53-a856-ff1a934ed2b1"}, name: {le: "bar2"}}) {
is it possible it'll return 0 results because the first 1000 Bars weren't eq and le to the params supplied? but in the next 1000 Bars a lot of them have those fooBarId and are le than bar2?
i'm getting the parent by an id and I wanted to get child by id so that i dont have that situation . Chat gpt told me that amplify filter will perform a  scan and that the situation is possible.

When the hasMany/belongsTo relationship is established a GSI with fooBarId as the partition key is created. When using listBars with a filter on the fooBarId a query is preformed on the GSI.

yes! thank you!


Implemented book search functionality with filtering by title, descri…

Implemented book search functionality with filtering by title, description, and author.
Added sorting by popularity, newest, price (cheapest to most expensive).

Fill this please

@Bohdan120 you need to configure your signing of commits, otherwise I cannot accept it


(Exactly once delivery) BatchError: Failed to "modifyAckDeadline" Reason: 3 INVALID_ARGUMENT.

Is this a client library issue or a product issue?
Client Library Issue.

Did someone already solve this?

[x] Search the issues already opened: https://github.com/googleapis/nodejs-pubsub/issues
[x] Search the issues on our "catch-all" repository: https://github.com/googleapis/google-cloud-node
[x] Search or ask on StackOverflow (engineers monitor these tags): http://stackoverflow.com/questions/tagged/google-cloud-platform+node.js

Do you have a support contract?
No.

If the support paths suggested above still do not result in a resolution, please provide the following details.
Environment details

OS: Mac OS Monterey 12.3.1 (M1)
Node.js version: v14.19.1
npm version: 6.14.16
@google-cloud/pubsub version: ^2.19.0

Steps to reproduce

Create a Topic and Subscription for a project in the PubSub console.
a) Assign the google API scope<EMAIL_ADDRESS>to the topic and subscription.
b) Enable "Exactly once delivery" for the subscription.
Create a project which watches a mailbox for unread messages and gets the subscription just created:

const pubsub = new PubSub({ projectId: 'example-project' });
const sub = await pubsub.subscription('example-project-sub');

sub.on('error', async (error) => {
  console.info('Pubsub subscribe error: ', error);
});

sub.on('message', async (message) => {
  try {
    message.ack();
  } catch (err) {
    console.info(err);
  }
});

await gmail.users.watch({
    userId: 'me',
    requestBody: {
      labelIds: ['UNREAD'],
      topicName: `projects/example-project/topics/example-project-topic`,
    },
  })

(Authentication Code):
  const { google } = require('googleapis');

  const JWT = google.auth.JWT;
  const auth = new JWT({
    keyFile: 'credentials-service.json',
    scopes: ['https://www.googleapis.com/auth/gmail.readonly', 'https://mail.google.com/'],
    subject<EMAIL_ADDRESS>  });

  await auth.authorize();

  const gmail = google.gmail({
    auth,
    version: 'v1',
  });

Run the project concurrently with at least 2 instances.
Send 10 unique emails to the email matched to the topic in fast succession.
Witness the error appear:

BatchError: Failed to "modifyAckDeadline" for 1 message(s). Reason: 3 INVALID_ARGUMENT: Some acknowledgement ids in the request were invalid. This could be because the acknowledgement ids have expired or the acknowledgement ids were malformed.
   at ./example-project/node_modules/@google-cloud/pubsub/src/message-queues.ts:258:15
   at async Promise.all (index 0)
   at async ModAckQueue._sendBatch (./example-project/node_modules/@google-cloud/pubsub/src/message-queues.ts:262:5)
   at async ModAckQueue.flush (./example-project/node_modules/@google-cloud/pubsub/src/message-queues.ts:142:7) {
 ackIds: [
   'BhYsXUZIUTcZCGhRDk9eIz81IChFEgADZ3kiHkYfYmhcXHUHUAUZei5hcmNbRwkIR1Z0X3MrFZ22qtYxUa3P8PXZdUh6FwULRVp_WV8ZC2tfX3YPUyWguYL5j-KZJBs-faaUqfgtLZu7y682Zi09WhJLLD5-NTZFQV5AEkw-A0RJUytDCypYEU4EISE-MD5FU0RQ'
 ],
 code: 3,
 details: 'Some acknowledgement ids in the request were invalid. This could be because the acknowledgement ids have expired or the acknowledgement ids were malformed.',
 metadata: Metadata {
   internalRepr: Map(2) {
     'google.rpc.errorinfo-bin' => "EXACTLY_ONCE_ACKID_FAILUREpubsub.googleapis.com�
�BhYsXUZIUTcZCGhRDk9eIz81IChFEgADZ3kiHkYfYmhcXHUHUAUZei5iI2gPG1AIRlp0X3MrFcCaqtYxUa3P8PXZdUh6FwULRVp9X10TDWlVX3IGVCWguYL5j-KZJBs-ffu4qfgtLYDZlqg2Zi09WhJLLD5-NTZFQV5AEkw-A0RJUytDCypYEU4EISE-MD5FU0RQ PERMANENT_FAILURE_INVALID_ACK_ID",
     'grpc-status-details-bin' => "�Some acknowledgement ids in the request were invalid. This could be because the acknowledgement ids have expired or the acknowledgement ids were malformed.�
(type.googleapis.com/google.rpc.ErrorInfo�
EXACTLY_ONCE_ACKID_FAILUREpubsub.googleapis.com�
�BhYsXUZIUTcZCGhRDk9eIz81IChFEgADZ3kiHkYfYmhcXHUHUAUZei5iI2gPG1AIRlp0X3MrFcCaqtYxUa3P8PXZdUh6FwULRVp9X10TDWlVX3IGVCWguYL5j-KZJBs-ffu4qfgtLYDZlqg2Zi09WhJLLD5-NTZFQV5AEkw-A0RJUytDCypYEU4EISE-MD5FU0RQ PERMANENT_FAILURE_INVALID_ACK_ID"
   },
   options: {}
 }
}

Additional Details:

There is no online record of this extended error log: "Some acknowledgement ids in the request were invalid. This could be because the acknowledgement ids have expired or the acknowledgement ids were malformed.".

Except for this PR in the pubsub .net repo.

Closing for now as I am able to remove the error by removing more of the code from my project.
At first I had thought the problem stemmed from the ack() call on the subscriber message,  but it may be due to how I am handling history and messages further into the project.

I have reopened as I was able to verify the bug is reproducible with the above code.

@JaegarSarauer Thanks for the report and all the info. The Node library for Pub/Sub doesn't currently support Exact Once, but it's a feature that's currently in progress.

No problem, thanks for the reply.
For anyone who may come across this problem and need a solution, I ended up using a distributed lock (using redis).
With dist locks, I was able to lock the resource I was using on one of my program instances, so I didn't mind getting excess messages from Pub/Sub.

@JaegarSarauer Ah, thanks for the follow-up (sorry for my slow follow-up follow-up). I'm hoping we'll have proper exactly-once support in Node soon but it's good you found a solution.

I don't get it, why should the nodejs library have support for it? shouldn't it be a behaviour from the pubsub backend side?

@shoxsz It is, but it requires a fair amount of client library support to work gracefully and correctly. Specifically, we need to allow users to get a response from calling ack() on a message, to see if they actually claimed it or not.

Thanks for the quick reply, can you tell me if this have been solved in the current version 3.1.0?

@shoxsz It hasn't been merged, but it's in the later stages of development right now, fingers crossed that it won't be too long.

Waiting for it, thanks for the help.

3.2.0 issue still actual
error: OTHER : 3 INVALID_ARGUMENT: Some acknowledgement ids in the request were invalid. This could be because the acknowledgement ids have expired or the acknowledgement ids were malformed.
at /Users/capgemini/projects/medable/screenshot-service/node_modules/@google-cloud/pubsub/src/message-queues.ts:419:21
at Array.forEach ()
at ModAckQueue.handleAckFailures (/Users/capgemini/projects/medable/screenshot-service/node_modules/@google-cloud/pubsub/src/message-queues.ts:418:12)
at /Users/capgemini/projects/medable/screenshot-service/node_modules/@google-cloud/pubsub/src/message-queues.ts:563:33
at async Promise.all (index 0)
at async ModAckQueue._sendBatch (/Users/capgemini/projects/medable/screenshot-service/node_modules/@google-cloud/pubsub/src/message-queues.ts:574:45)
at async ModAckQueue.flush (/Users/capgemini/projects/medable/screenshot-service/node_modules/@google-cloud/pubsub/src/message-queues.ts:269:23) {
errorCode: 'OTHER'

Have been experiencing the same issue. Furthermore it is crashing my app. Is there some kind of missed error propagation missing and is thrown "into the void"? I've made everything according to examples available on google docs pages.

Same issue appears after upgrade to 3.2

I'll reopen this.

@feywind Hello! Could you help - how can I intercept and suppress this error so that it does not lead to restarting pods in Kubernetes. if i put a call of message.ack(); inside try/catch doesn't help. subscription.on("error", () => {}) doesn't catch this error either

In my case, I think this error occurs because ackDeadline > 600, what happens if I use modAck(0) instead of ack() ?

@mkorpar Hello! Could you please share for me your solution

Is there any progress made on this part?
I get the same error when using exactly once delivery and NodeJs.
ackError: INVALID : 3 INVALID_ARGUMENT: Some acknowledgement ids in the request were invalid
Is the solution for now not to use exactly once delivery with NodeJs?

Occurred for us today as well (NOT using exactly-once delivery), leading to pods in K8s having to be restarted. This persisted for a while until it seemingly resolved on its own. Still detrimental to the availability of our services.
 "AckError: INVALID : 3 INVALID_ARGUMENT: Some acknowledgement ids in the request were invalid. This could be because the acknowledgement ids have expired or the acknowledgement ids were malformed.
    at /app/node_modules/@google-cloud/pubsub/build/src/message-queues.js:330:29
    at Array.forEach (<anonymous>)
    at ModAckQueue.handleAckFailures (/app/node_modules/@google-cloud/pubsub/build/src/message-queues.js:328:18)
    at /app/node_modules/@google-cloud/pubsub/build/src/message-queues.js:470:43
    at async Promise.all (index 1)
    at async ModAckQueue._sendBatch (/app/node_modules/@google-cloud/pubsub/build/src/message-queues.js:476:31)
    at async ModAckQueue.flush (/app/node_modules/@google-cloud/pubsub/build/src/message-queues.js:195:29) {"

Bumped into the same issue yesterday using the latest version 3.2.1. Downgrading to 3.2.0 reduced the amount of errors, and acknowledging messages works fine. So for now I have catch all on uncaughtException that logs the error when this particular one occurs, otherwise I just exit the process. This is a workaround and it's not ideal, hoping for a fix soon

Hello,
Same issue over there, is there any new about it ?

Any news? getting the same issues:

'uncaughtException' instead of a properly propagated exception (that can be caught on.('error')
Exactly once delivery - i am holding a message unacked and still get re-deliveries of un-acked messages within each hour....what is the client library logic regarding that duration? (it seems that the ackDeadline has no effect whether it is 10 seconds, or 600 seconds) see images below.
Is the Exactly Once delivery could be said to be operational in any sense?

I'm also running into this issue.
From what I've found it's caused by this deferred promise.
https://github.com/googleapis/nodejs-pubsub/blob/main/src/message-queues.ts#L191
...
const responsePromise = defer<void>();

// TC1. Doing this still causes the 'unhandledException'.
responsePromise.promise.catch(() => {});

// TC2. Doing this prevents the 'unhandledException'. Note the existing promise in 'responsePromise' is being updated.
responsePromise.promise = responsePromise.promise.catch(() => {});

this._requests.push({
...

So this .catch handler is being ignored.
https://github.com/googleapis/nodejs-pubsub/blob/main/src/subscriber.ts#L531-L533
For the time being, my workaround is to use an uncaughtException handler.

Hey,
Issue still persists on 3.3.0 version
INVALID : 3 INVALID_ARGUMENT: Some acknowledgement ids in the request were invalid. This could be because the acknowledgement ids have expired or the acknowledgement ids were malformed.
<EMAIL_ADDRESS>in <anonymous> at line 419:21
<EMAIL_ADDRESS>in Array.forEach
<EMAIL_ADDRESS>in ModAckQueue.handleAckFailures at line 418:12
<EMAIL_ADDRESS>in <anonymous> at line 563:33
<EMAIL_ADDRESS>in Promise.all
<EMAIL_ADDRESS>in ModAckQueue._sendBatch at line 574:45
<EMAIL_ADDRESS>in ModAckQueue.flush at line 269:23

Actual: INVALID : 3 INVALID_ARGUMENT: Some acknowledgement ids in the request were invalid. This could be because the acknowledgement ids have expired or the acknowledgement ids were malformed.

Hey guys, is there any news in this issue? Any workaround?
I'm facing the same here when consuming a message from a subscription with  exactly-once delivery activeted, this is intermittent, can't find the root cause exactly.
UnhandledPromiseRejectionWarning: Error: INVALID : 3 INVALID_ARGUMENT: Some acknowledgement ids in the request were invalid
the whole error is:
(node:1) UnhandledPromiseRejectionWarning: Error: INVALID : 3 INVALID_ARGUMENT: Some acknowledgement ids in the request were invalid.  This could be because the acknowledgement ids have expired or the acknowledgement ids were malformed.  at /app/node_modules/@google-cloud/pubsub/build/src/message-queues.js:330:29  at Array.forEach (<anonymous>)  at AckQueue.handleAckFailures (/app/node_modules/@google-cloud/pubsub/build/src/message-queues.js:328:18)  at AckQueue._sendBatch (/app/node_modules/@google-cloud/pubsub/build/src/message-queues.js:401:42)  at async AckQueue.flush (/app/node_modules/@google-cloud/pubsub/build/src/message-queues.js:195:29)

Those look like errors coming from the Pub/Sub service itself, and there's not a lot we can do from the client library end outside of entering a support ticket (to be able to look at the backend to try to match up times and errors). :(
If these are resulting in an error when exactly once delivery is disabled, or an unhandled rejection that user code can't catch, that's something I can look at library-side. Without EOD enabled, this error shouldn't occur at all. And if you've got a try/catch around the ack() call, it shouldn't turn into an unhandled rejection.

Experiencing the same error here with other packages as well (e.g. @algoan/pub-sub).

The issue is still present.

the event ackDeadline is set to 120
the event handler took 2 seconds to complete the job (artificially extended)
the event handler sends ackWithResponse - if the job was successful, and within the error handler
package version: ^4.1.1

the error:
OTHER : 3 INVALID_ARGUMENT: Some acknowledgement ids in the request were invalid. This could be because the acknowledgement ids have expired or the acknowledgement ids were malformed.

Some update?
this error still persists


problem with pplacer

i'm trying to start an assembly and keep getting an error that seems to indicate that pplacer is missing. I've tried to install pplacer through bioconda and it seems like the package is missing. any suggestions on how to proceed?
BIO-C02TX0H0HV2V:Bioinformatics kpeay$ atlas assemble configKP.yaml
[2018-02-09 15:35 INFO] Executing: snakemake --snakefile /Users/kpeay/miniconda3/lib/python3.5/site-packages/atlas/Snakefile --directory /Users/kpeay/Documents/Kabir_Documents/Bioinformatics --printshellcmds --jobs 4 --rerun-incomplete --configfile '/Users/kpeay/Documents/Kabir_Documents/Bioinformatics/configKP.yaml' --nolock --use-conda  --config workflow=complete --
Building DAG of jobs...
Creating conda environment /Users/kpeay/miniconda3/lib/python3.5/site-packages/atlas/envs/optional_genome_binning.yaml...
Downloading remote packages.
CreateCondaEnvironmentException:
Could not create conda environment from /Users/kpeay/miniconda3/lib/python3.5/site-packages/atlas/envs/optional_genome_binning.yaml:
Fetching package metadata .................
ResolvePackageNotFound:

pplacer 1.1.alpha17*

[2018-02-09 15:35 CRITICAL] Command 'snakemake --snakefile /Users/kpeay/miniconda3/lib/python3.5/site-packages/atlas/Snakefile --directory /Users/kpeay/Documents/Kabir_Documents/Bioinformatics --printshellcmds --jobs 4 --rerun-incomplete --configfile '/Users/kpeay/Documents/Kabir_Documents/Bioinformatics/configKP.yaml' --nolock --use-conda  --config workflow=complete -- ' returned non-zero exit status 1

What platform are you on?
Atlas create seperate conda env for different steps. Your log shows that you have problems installing the genome binning, which comes after the assembly.
You could skip this step in the config file to get the assembly running.
You can also try to install the environment by something like conda env install -n env_test --file /Users/kpeay/miniconda3/lib/python3.5/site-packages/atlas/envs/optional_genome_binning.yaml
to debug it.

I'm using Mac High Sierra. I'll try and see if I can skip the genome binning step. When I do try to use the code suggested to debug I get the same error (install is not an option):
BIO-C02TX0H0HV2V:Bioinformatics kpeay$ conda env create -n env_test --file /Users/kpeay/miniconda3/lib/python3.5/site-packages/atlas/envs/optional_genome_binning.yaml
Fetching package metadata .................
ResolvePackageNotFound:

pplacer 1.1.alpha17*

It's possible I'm missing something here as I'm new to conda.

So the rest of the environments seem to install if I skip genome binning, however I did get a new error once I start with assembly (see below).  Apparently the "reformat.sh" command is missing. I seem to have been able to fix this by manually installing bbmap with conda, although I'm not sure why it didn't install in the first place.
BIO-C02TX0H0HV2V:Bioinformatics kpeay$ conda env list -n env_test --file /Users/kpeay/miniconda3/lib/python3.5/site-packages/atlas/envs/optional_genome_binning.yaml
usage: conda-env [-h] {attach,create,export,list,remove,upload,update} ...
conda-env: error: unrecognized arguments: -n env_test --file /Users/kpeay/miniconda3/lib/python3.5/site-packages/atlas/envs/optional_genome_binning.yaml
BIO-C02TX0H0HV2V:Bioinformatics kpeay$ atlas assemble configKP.yaml
[2018-02-12 08:45 INFO] Executing: snakemake --snakefile /Users/kpeay/miniconda3/lib/python3.5/site-packages/atlas/Snakefile --directory /Users/kpeay/Documents/Kabir_Documents/Bioinformatics --printshellcmds --jobs 4 --rerun-incomplete --configfile '/Users/kpeay/Documents/Kabir_Documents/Bioinformatics/configKP.yaml' --nolock --use-conda  --config workflow=complete --
Building DAG of jobs...
Using shell: /bin/bash
Provided cores: 4
Rules claiming more threads will be scaled down.

Finished job 26.
1 of 40 steps (2%) done
rule read_stats:
input: P-309-S13-L008-001/sequence_quality_control/P-309-S13-L008-001_raw_R1.fastq.gz, P-309-S13-L008-001/sequence_quality_control/P-309-S13-L008-001_raw_R2.fastq.gz
output: P-309-S13-L008-001/sequence_quality_control/read_stats/raw.zip, P-309-S13-L008-001/sequence_quality_control/read_stats/raw_read_counts.tsv
log: P-309-S13-L008-001/logs/read_stats.log
jobid: 9
wildcards: step=raw, sample=P-309-S13-L008-001
priority: 30
threads: 4
resources: mem=32
/bin/bash: line 3: reformat.sh: command not found
Error in rule read_stats:
jobid: 0
output: P-309-S13-L008-001/sequence_quality_control/read_stats/raw.zip, P-309-S13-L008-001/sequence_quality_control/read_stats/raw_read_counts.tsv
log: P-309-S13-L008-001/logs/read_stats.log
RuleException:
CalledProcessError in line 162 of /Users/kpeay/miniconda3/lib/python3.5/site-packages/atlas/rules/qc.snakefile:
Command ' set -euo pipefail;
mkdir -p P-309-S13-L008-001/sequence_quality_control/read_stats/raw/pe
                reformat.sh in1=P-309-S13-L008-001/sequence_quality_control/P-309-S13-L008-001_raw_R1.fastq.gz in2=P-309-S13-L008-001/sequence_quality_control/P-309-S13-L008-001_raw_R2.fastq.gz                     bhist=P-309-S13-L008-001/sequence_quality_control/read_stats/raw/pe/base_hist.txt                     qhist=P-309-S13-L008-001/sequence_quality_control/read_stats/raw/pe/quality_by_pos.txt                     lhist=P-309-S13-L008-001/sequence_quality_control/read_stats/raw/pe/readlength.txt                     gchist=P-309-S13-L008-001/sequence_quality_control/read_stats/raw/pe/gc_hist.txt                     gcbins=auto                     bqhist=P-309-S13-L008-001/sequence_quality_control/read_stats/raw/pe/boxplot_quality.txt                     threads=4                     overwrite=true                     -Xmx32G                     2> >(tee -a P-309-S13-L008-001/logs/read_stats.log P-309-S13-L008-001/sequence_quality_control/read_stats/raw/pe/read_stats.tmp ) ' returned non-zero exit status 127

File "/Users/kpeay/miniconda3/lib/python3.5/site-packages/atlas/rules/qc.snakefile", line 178, in __rule_read_stats
File "/Users/kpeay/miniconda3/lib/python3.5/site-packages/atlas/rules/qc.snakefile", line 162, in get_read_stats
File "/Users/kpeay/miniconda3/lib/python3.5/concurrent/futures/thread.py", line 55, in run
Exiting because a job execution failed. Look above for error message
Will exit after finishing currently running jobs.
Shutting down, this might take some time.
Exiting because a job execution failed. Look above for error message
Complete log: /Users/kpeay/Documents/Kabir_Documents/Bioinformatics/.snakemake/log/2018-02-12T084537.524673.snakemake.log
[2018-02-12 08:47 CRITICAL] Command 'snakemake --snakefile /Users/kpeay/miniconda3/lib/python3.5/site-packages/atlas/Snakefile --directory /Users/kpeay/Documents/Kabir_Documents/Bioinformatics --printshellcmds --jobs 4 --rerun-incomplete --configfile '/Users/kpeay/Documents/Kabir_Documents/Bioinformatics/configKP.yaml' --nolock --use-conda  --config workflow=complete -- ' returned non-zero exit status 1

yes bbmap should be a requirement for atlas.
I will integrate that into a bioconda package.


Document that jsonValue might return error/blank

In some cases jsHandle.jsonValue might error
an error or an empty JSON value.
Please refer to https://github.com/GoogleChrome/puppeteer/blob/9603bab0c731e6bd914b4b083537a20f7ae0a4da/test/test.js#L426-L443 .

I signed it!


yolox_s 训练自定义数据集到 epcoh3 卡住

环境是 Windows 11 下的 WSL2
每次训练到 epoch3就会卡住，GPU显存占用也没有释放
日志如下：

train_log.txt

我的也是啊，应该是死锁问题，我也是锁住了

Have you updated to the newest version?

Yes, just pulled this afternoon.

Seems the subprocess is not well supported for win10. We will add spawn backend as an alternative soon. For now, you may have to switch to a Linux system like Ubuntu or write the spawn backend by yourself.

Seems the subprocess is not well supported for win10. We will add spawn backend as an alternative soon. For now, you may have to switch to a Linux system like Ubuntu or write the spawn backend by yourself.

Thanks, it worked under Ubuntu, But I met another problem whatever I change the dataset the max_iter is always 13.

Any news regarding that issue on ubuntu? I face it on linux as well.

I also encountered the same problem on Linux, The training will always be stuck and unable to train. The gpu memory is not released, I need to kill the process manually. And regardless of the batch size, the gpu memory is full.


Only display welcome message on interactive builds

The new welcome message feature is great, but we see it on CI and other places where Gradle is non-interactive.

@eriwen I think this is reasonable. WDYT?

Could this be reopened?
I'm aware of #12550 being still open, but IMO even with some kind of welcome message opt-out being supported, Gradle as a tool should be smart enough to figure out it runs in an environment where welcome message quite likely isn't of value.
For example, I believe that the presence of one of the following environment variables could be considered a strong enough indicator that welcome message can be disabled:

CI=true
TERM=dumb


Update peerDependencies to support React 16 and 17

Could you change the peerDependencies to get rid of warnings on React 16, and 17?

The package name is 'react18-input-otp', that itself indicates that the project is mainly build for React v18, though we would add >=16 in the upcoming update to avoid this warning.

This is fixed in the new update!


Capture network Performance Data Using BrowserMob Proxy

Hi Kite team,
I just want to know that does kite has any feature to capture network performance data. if yes let me know.
For network data, I am trying to use browserMob proxy  (Third-party). which provide HAR file that has all network call-related data. But when I am using dependency of browserMob in Kite framework it gives me invalid signature error on runtime.
Please look into it. Thanks for considering

dependency
https://mvnrepository.com/artifact/net.lightbody.bmp/browsermob-core/2.1.5
Thanks
Imran

Hi,
Currently any network performance data that KITE tests collect is coming from statistics provided by the peer connection itself, including but not limited to:

bitrates
framrates
packet loss
jitter
RTT

For this particular tool (browserMob proxy) I think I saw this error when I tried this before. I'll revisit this a see if I get this again. In any cases, can you tell me how you are implementing this in KITE framework?

For this exception, you can take a look here:

https://stackoverflow.com/questions/34855649/invalid-signature-file-digest-for-manifest-main-attributes-exception-while-tryin
https://vispud.blogspot.com/2019/03/exception-in-thread-main.html

This will make the exception go away, but how to use this proxy is up to you.

Hi,
I tried what you suggested. It worked for me., but after using this dependency I am not able to hit the URL. it gives me your connection is not secure, I tried multiple times, but it didn't work.


Cannot build the project

Building the project failed.
JAVA: JDK19
Command Line:mvn -fn -Dmaven.repo.local=maven_repo clean install
Console Output:
 Picked up _JAVA_OPTIONS : '--enable-preview --enable-native-access=ALL-UNNAMED'
 [INFO] Scanning for projects...
 [WARNING]
 [WARNING] Some problems were encountered while building the effective model for org.dcache:vfs4j:jar:1.0-SNAPSHOT
 [WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-jar-plugin is missing. @ line 64, column 21
 [WARNING]
 [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
 [WARNING]
 [WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
 [WARNING]
 [INFO]

works for me on Fedora37 with standard packages
$ uname -a                                                                                (git)-[master]
Linux nairi 6.1.14-200.fc37.x86_64 #1 SMP PREEMPT_DYNAMIC Sun Feb 26 00:13:26 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
$ java -version                                                                                (git)-[master]
openjdk version "11.0.18" 2023-01-17
OpenJDK Runtime Environment (Red_Hat-<IP_ADDRESS>.10-1.fc37) (build 11.0.18+10)
OpenJDK 64-Bit Server VM (Red_Hat-<IP_ADDRESS>.10-1.fc37) (build 11.0.18+10, mixed mode, sharing)
$ /usr/lib/jvm/java-19/bin/javac -version                                                                                (git)-[master]
javac 19.0.2

Build as:
$ mvn -V clean package
Apache Maven 3.8.5 (Red Hat 3.8.5-3)
Maven home: /usr/share/maven
Java version: 11.0.18, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-11-openjdk-<IP_ADDRESS>.10-1.fc37.x86_64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "6.1.14-200.fc37.x86_64", arch: "amd64", family: "unix"
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for org.dcache:vfs4j:jar:1.0-SNAPSHOT
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-jar-plugin is missing. @ line 64, column 21
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
[INFO]
[INFO] --------------------------< org.dcache:vfs4j >--------------------------
[INFO] Building vfs4j 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ vfs4j ---
[INFO] Deleting /home/xxxx//vfs4j/target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ vfs4j ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ vfs4j ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 6 source files to /home/xxxx//vfs4j/target/classes
[WARNING] /home/xxxx//vfs4j/src/main/java/org/dcache/vfs4j/LocalVFS.java:[775,21] [deprecation] write(Inode,byte[],long,int,StabilityLevel) in VirtualFileSystem has been deprecated
[WARNING] /home/xxxx//vfs4j/src/main/java/org/dcache/vfs4j/LocalVFS.java:[666,13] [deprecation] read(Inode,byte[],long,int) in VirtualFileSystem has been deprecated
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ vfs4j ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/xxxx//vfs4j/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ vfs4j ---
[INFO] Changes detected - recompiling the module!
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ vfs4j ---
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ vfs4j ---
[INFO] Building jar: /home/xxxx//vfs4j/target/vfs4j-1.0-SNAPSHOT.jar
[INFO]
[INFO] --- maven-dependency-plugin:3.2.0:copy-dependencies (copy-dependencies) @ vfs4j ---
[INFO] Copying nfs4j-core-0.24.0.jar to /home/xxxx//vfs4j/target/lib/nfs4j-core-0.24.0.jar
[INFO] Copying oncrpc4j-core-3.2.0.jar to /home/xxxx//vfs4j/target/lib/oncrpc4j-core-3.2.0.jar
[INFO] Copying grizzly-framework-3.0.0.jar to /home/xxxx//vfs4j/target/lib/grizzly-framework-3.0.0.jar
[INFO] Copying je-7.3.7.jar to /home/xxxx//vfs4j/target/lib/je-7.3.7.jar
[INFO] Copying slf4j-api-2.0.3.jar to /home/xxxx//vfs4j/target/lib/slf4j-api-2.0.3.jar
[INFO] Copying logback-classic-1.4.4.jar to /home/xxxx//vfs4j/target/lib/logback-classic-1.4.4.jar
[INFO] Copying logback-core-1.4.4.jar to /home/xxxx//vfs4j/target/lib/logback-core-1.4.4.jar
[INFO] Copying guava-30.1-jre.jar to /home/xxxx//vfs4j/target/lib/guava-30.1-jre.jar
[INFO] Copying failureaccess-1.0.1.jar to /home/xxxx//vfs4j/target/lib/failureaccess-1.0.1.jar
[INFO] Copying listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar to /home/xxxx//vfs4j/target/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
[INFO] Copying jsr305-3.0.2.jar to /home/xxxx//vfs4j/target/lib/jsr305-3.0.2.jar
[INFO] Copying checker-qual-3.5.0.jar to /home/xxxx//vfs4j/target/lib/checker-qual-3.5.0.jar
[INFO] Copying error_prone_annotations-2.3.4.jar to /home/xxxx//vfs4j/target/lib/error_prone_annotations-2.3.4.jar
[INFO] Copying j2objc-annotations-1.3.jar to /home/xxxx//vfs4j/target/lib/j2objc-annotations-1.3.jar
[INFO] Copying canl-2.7.0.jar to /home/xxxx//vfs4j/target/lib/canl-2.7.0.jar
[INFO] Copying bcpkix-jdk15on-1.68.jar to /home/xxxx//vfs4j/target/lib/bcpkix-jdk15on-1.68.jar
[INFO] Copying bcprov-jdk15on-1.68.jar to /home/xxxx//vfs4j/target/lib/bcprov-jdk15on-1.68.jar
[INFO] Copying commons-io-2.6.jar to /home/xxxx//vfs4j/target/lib/commons-io-2.6.jar
[INFO] Copying picocli-4.6.3.jar to /home/xxxx//vfs4j/target/lib/picocli-4.6.3.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  5.224 s
[INFO] Finished at: 2023-03-09T21:12:11+01:00
[INFO] ------------------------------------------------------------------------

Do you have any details?


can't load scss alias

such as
// App.scss
@import<EMAIL_ADDRESS>

same issue here. I'm compiling sass with esbuild-sass-plugin

sorry but I've no plan to support such @import ... maybe you could fire an issue to esbuild-sass-plugin


Remove ngx-lite/json-ld dependency

Description
We're removing the dependency because they haven't issued newer releases to keep up with new Angular releases.
Copy the relevant part of their code and commit it to our repo, with attribution.
In testing it, I noticed that the json-ld was not showing up on the
home page. I thought I'd broken it, but it turns out that component
is not ever used (json-ld is not showing up in prod either, without my
changes). I deleted the component and moved the json-ld to the
actual home page component.
Review Instructions

Go to the home page, not logged into Dockstore
Open Browser developer tools
Verify there are 2 instances of a script tag, with the attribute type=application/ld+json

Issue
dockstore/dockstore#5218
Please make sure that you've checked the following before submitting your pull request. Thanks!

[x] Check that your code compiles by running npm run build
[x] If this is the first time you're submitting a PR or even if you just need a refresher, consider reviewing our style guide
[x] Do not bypass Angular sanitization (bypassSecurityTrustHtml, etc.), or justify why you need to do so
[x] If displaying markdown, use the markdown-wrapper component, which does extra sanitization
[x] Do not use cookies, although this may change in the future
[x] Run npm audit and ensure you are not introducing new vulnerabilities
[x] Do due diligence on new 3rd party libraries, checking for CVEs
[x] Don't allow user-uploaded images to be served from the Dockstore domain
[x] If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.

Justification for bypassing Angular sanitization, from checklist, FYI @david4096:

We were effectively invoking the same code before, just via an NPM module
The code has a test for an injection attack.


[youtube:tab] Extract video thumbnails from playlist

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[X] At least skimmed through contributing guidelines including yt-dlp coding conventions
[X] Searched the bugtracker for similar pull requests
[X] Checked the code with flake8

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[X] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[X] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
Extracts preliminary, mostly lower-quality thumbnails from playlist. Mostly useful for when parsing data when using flat playlist.
Closes #1184

This could possibly be merged with #2069.

You can merge this. I need to check some things for the other one


Allow negative bonus marks in Marks Spreadsheets

Assignments currently support positive or negative bonus marks, Marks Spreadsheets (grade entry forms) should also be able support both.
Some things to think about:

what should the minimum value be? (set by the user in the form? negative value of the total for that column? unlimited?)
should we extend this to regular (non-bonus) columns as well?

For now, we will just allow negative marks for bonus columns, with no lower limit. However, for the total mark we'll cap that at 0 (so the total mark can't be negative). This is consistent with what we do with assignment marks (only "extra marks" can be negative; result total mark can't be below 0).