ssh-agent does not work with backslashed path seperator on windows machine

I have an action script that uses ssh-agent, and it works fine on ubuntu for access private repo using deploy key, but failed on windows,
the error message is
Load key "C:\\Users\\runneradmin/.ssh/key-52016bfd3f72432689e062517edb001705ef0a8d1af12eb63b188417c75ca43e": invalid format
and i believe the reason is that windows  just cannot load key with / as its path seperator, we need to change / to \\ to make it work on windows. e.g. the key file path should be:
C:\Users\runneradmin\.ssh\key-52016bfd3f72432689e062517edb001705ef0a8d1af12eb63b188417c75ca43e

I've written a compatible action that has some extra tests and cleanups along with GitHub Enterprise support. The paths might work better since it uses path.join everywhere. https://github.com/marketplace/actions/ssh-agent-deploy-key give it a whirl if that helps.


[Bug] [example] IDEA cannot run the examples directly without Lombok plugin.

Search before asking

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

What happened
According to the Compiling project in README.md , and following the steps in the document Set Up Develop Environment, the IDEA fails to run the example successfully because there is no pre installed Lombok plugin. So, the doc should remind people to install the Lombok plugin, just as it reminds people to install Scala plugin.
In addition, should we discuss this issue #1213 again？
SeaTunnel Version
dev
SeaTunnel Config
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
######
###### This config file is a demonstration of streaming processing in seatunnel config
######

env {
  # You can set flink configuration here
  execution.parallelism = 1
  #execution.checkpoint.interval = 10000
  #execution.checkpoint.data-uri = "hdfs://localhost:9000/checkpoint"
}

source {
  # This is a example source plugin **only for test and demonstrate the feature source plugin**
    FakeSourceStream {
      result_table_name = "fake"
      field_name = "name,age"
    }

  # If you would like to get more information about how to configure seatunnel and see full list of source plugins,
  # please go to https://seatunnel.apache.org/docs/flink/configuration/source-plugins/Fake
}

transform {
    sql {
      sql = "select name,age from fake"
    }

  # If you would like to get more information about how to configure seatunnel and see full list of transform plugins,
  # please go to https://seatunnel.apache.org/docs/flink/configuration/transform-plugins/Sql
}

sink {
  ConsoleSink {}

  # If you would like to get more information about how to configure seatunnel and see full list of sink plugins,
  # please go to https://seatunnel.apache.org/docs/flink/configuration/sink-plugins/Console
}

Running Command
org.apache.seatunnel.example.flink.LocalFlinkExample

Error Exception
D:\workspaceSrc\apache-seatunnel-incubating-2.1.1-src\seatunnel-common\src\main\java\org\apache\seatunnel\common\config\CheckConfigUtil.java:93:38
java: 找不到符号
  符号:   方法 isSuccess()
  位置: 类型为org.apache.seatunnel.common.config.CheckResult的变量 item

Flink or Spark Version
local
Java or Scala Version
java 1.8.0_271,
scala 2.11.12
Screenshots

Are you willing to submit PR?

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

Code of Conduct

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

Thanks for your report and fiexed.


Another "Remove spaces between/around emotes" bug

Describe the bug
When "Remove spaces between/around emotes" is enabled, it causes the emote menu to overlap
Screenshots
On:

Off:

Chatterino version
42188345e
Operating system
Windows 10

note to self: check if it's something to do with 'compact emotes'


Remove unnecessary null pointer checks

An extra null pointer check is not needed in functions like the following.

discord_voice_client
role
webhook

thanks for the report, i'd welcome a PR for these.

:thought_balloon: Would you become interested to use a development tool like “clang-tidy” for corresponding source code adjustments?

we looked at this before, clang-tidy is extremely aggressive on changing things how we don't want them to be, and clang-format was a total pain in the ass. any systems that offer suggestions should do them in line with the coding style guidelines over at dpp.dev.

:thought_balloon: Do you prefer any other development tools for removing redundant pointer checks (in more convenient ways)?


Simplify pipeline execution with presets

For the default tasks you can use a short command:
python execute_pipeline.py --preset api-language-task
Note: now the task can be one of gapic | grpc | core
e.g.
python execute_pipeline.py --preset pubsub-java-gapic
Note: Either pipeline name or preset needs to be provided in the argument to execute the pipeline.
Please let me know what you think. Thanks!

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

Merging [#43][cc-pull] into [master][cc-base-branch] will not change coverage

@@             master        #43   diff @@
==========================================
  Files            28         28
  Lines           876        876
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            604        604
  Misses          272        272
  Partials          0          0

Powered by Codecov. Last updated by [1a38af6...feba802][cc-compare]
[cc-base-branch]: https://codecov.io/gh/googleapis/artman/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/googleapis/artman/compare/1a38af68228109b7ca8a60c2e0500cb531a1d553...feba802f468d16ce51fe3786e12ce320e6e8e711
[cc-pull]: https://codecov.io/gh/googleapis/artman/pull/43?src=pr


Not seeing any suggestions in input editor

Testing https://github.com/microsoft/vscode/issues/127378

@sandy081 I'm a bit confused, you also filed https://github.com/microsoft/vscode-jupyter/issues/6450 which shows you were getting intellisense at some point. Did suggestions stop working after a while?

Yeah, it stopped working all of a sudden

They were already fixed in latest Python Insiders.


Apps freezing on launch screen when used with on-demand VPN (iOS)

Device information:

Hardware: iPhone 7, 8, X, XS
Operating System and Version: iOS 12.4, 13.1
Forge Platform version: v2.7.6

App information:
Active modules:
contact v2.12
icons v2.9
launchimage v2.13
display v2.11
file v2.23
capture v2.0
notification v2.8
bolts v1.6
urlhandler v2.1
request v2.11
parse v3.0 (?)
share v1.2
tabs v2.23
httpd v1.4
prefs v2.2
browsersettings v1.6
platform v2.3
To Reproduce
One of our customers is using VMWare Workspace One MDM and VPN to distribute the app. They have an on-demand VPN set up which connects and disconnects automatically with the app starting up and shutting down. When both, the app and the VPN start up, the app freezes on launch screen.

Define a VPN on-demand profile
Start app --> Freeze
Force close app and directly re-start it (so VPN is still active) --> App starts fine

Expected behaviour
App starts as usual.
Actual behaviour
App freezes.
Related information:
We did some debugging already and the freeze occurs during native start up, before modules are initialized. No WebView initialized at that point. There is no app error thrown but we get logs from the VMWare stuff about failed proxy connections. Another customer is using MobileIron with a similar setup and symptoms.
It looks like at that point, iOS says it's online but no connection can be created. Maybe there is some call failing unhandled or needs a retry?

@ice8lue Any idea if something has changed here with iOS 13 and the new Trigger.io platform?

Root cause:

On iOS 12 the embedded webserver on the localhost interface is not accessible to the Forge runtime when the VPN starts up. This was because their VPN and/or iOS 12 was configured to re-route requests made to the device's loopback interface.
As of iOS 13 this, for unknown reasons, doesn't happen and the app starts up just fine the first time.
On both iOS 12 & iOS 13 the VPN interface would prevent the embedded webserver from binding to the device's loopback interface after the app had been backgrounded and then foregrounded again. (This is why the app appeared to work when starting it up a second time because, on failure of httpd, it falls back to loading the app's index.html from the local filesystem.)

Resolution:

Update apps to Forge platform v2.8.5 which provides:

iOS 12 workaround for VPN interface preventing the webserver from binding to localhost.
iOS 13 workaround for VPN interface preventing the webserver from binding to localhost.

Two new requirements for enterprise deployments of Trigger.IO Forge apps:

Add localhost and <IP_ADDRESS> to the exclusion list of any web proxy configurations provisioned to the app and/or device.
Add localhost and <IP_ADDRESS> to the exclusion list of any VPN tunnels provisioned to the app and/or device.

Fantastic, thanks so far @antoinevg - sounds great!
Can you share some rough intel on what has been touched for those workarounds to prevent the binding? We want to make sure to properly have regression testing for other types of connections of course 🙏

I had to patch the socket library (https://github.com/robbiehanson/CocoaAsyncSocket) the embedded web server library (https://github.com/thecatalinstan/Criollo) depends on to detect and exclude VPN interfaces when creating new listen sockets. Two sets of changes because iOS 12 is weird and iOS 13 is starting to depart quite violently from the BSD sockets interface.
I'm pretty sure it won't cause regressions on the app level, but things to check:

Make sure you still have a connection to the local webserver after you background the app and then foreground it again.
Make sure you still have a connection to the local webserver when you restart the app after starting it up and then shutting it down again as soon as the VPN connection is active.
Check that any remote content you're loading is still coming in when the VPN is active.

Also, two new undocumented functions (iOS only) that might be helpful:
forge.live.reloadInitialPage();
Forces the app's index.html to reload into the webview
forge.live.restartServer();
Forces the webserver to shut down and restart


Change color of footer

Change the color of the footer to #233240 as I think it would match the header and look better.

Hi, could I try this?

Hi Shahed,
I did update the issue with the suggested color and did a PR about it.

@beachgurl you can go ahead as you have commented first


Money: call static function handleCurrencyArgument() with self::

Hi Sebastian,
just being picky really.
Nice lib, I actually have done a similar class myself.
I am also glad not be the only one to think that IT systems dealing with money should use integers (cents) and not floats ...

Sorry, could this PR be closed


[FLINK-32741]Remove DataSet related descriptions in doc

What is the purpose of the change
Since All DataSet APIs will be deprecated in FLINK-32558 and we don't recommend developers to use the DataSet, the descriptions of DataSet should be removed in the doc after FLINK-32558.
Brief change log
(for example:)

The TaskInfo is stored in the blob store on job creation time as a persistent artifact
Deployments RPC transmits only the blob storage reference
TaskManagers retrieve the TaskInfo from the blob cache

Verifying this change
Please make sure both new and modified tests in this PR follows the conventions defined in our code quality guide: https://flink.apache.org/contributing/code-style-and-quality-common.html#testing
(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (100MB)
Extended integration test for recovery after master (JobManager) failure
Added test that validates that TaskInfo is transferred only once across recoveries
Manually verified the change by running a 4 node cluster with 2 JobManagers and 4 TaskManagers, a stateful streaming program, and killing one JobManager and two TaskManagers during the execution, verifying that recovery happens correctly.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Hi, @xintongsong, @WencongLiu ,
I deprecated all files on /dev/dataset on content/ and content.zh
in my private view, all dataset sub-document should be deprecated now.
https://github.com/apache/flink/blob/master/docs/content.zh/docs/dev/dataset/hadoop_compatibility.md for this I am not definitely sure about that, but in my user experience, It seems we have FLIP-27/143 FileSource/FileSink which could directly write to local/distributed file system? not sure if it is outdated.
And I correct several files as a result and I search 'Dataset' as a keyword. I correct them with my limited understanding and user experience.
feel free to correct me if there is any concern.

Thanks, @pegasas.
I think https://github.com/apache/flink/blob/master/docs/content.zh/docs/dev/dataset/hadoop_compatibility.md should be removed. Actually, this file only exist for the content.zh but not for content. If you check the git history, you'll find that hadoop format related documents have been moved to connectors/datastream/formats in FLINK-21407, where the Chinese translation was overlooked.
I'll review the other changes asap.

@pegasas, thanks for addressing the comments. LGTM. Merging.

Thanks @xintongsong for reviewing and suggestions!


bug: Unable to get rust_analyzer to work

Did you check docs and existing issues?

[X] I have read all the LazyVim docs
[X] I have searched the existing issues of LazyVim
[X] I have searched the exsiting issues of plugins related to this issue

Neovim version (nvim -v)
NVIM v0.9.0-dev-771+g18fb669b9
Operating system/version
Macos 12.4
Describe the bug
I have recently installed LazyVim and I am trying to use it for some rust development. However the rust_analyzer doesn't display any lsp information in the editor. I know I have it installed and it runs and indexing when I open a rust file, but even when I intentionally type errors in a file, I don't get any of the diagnostics information to display. I have this working in other neovim configurations on my system, but can't seem to get it to work using LazyVim. I was wondering if there was some configuration options that I might be missing to get things to work properly. Thanks.
Steps To Reproduce
Installed LazyVim starter.
Installed the rust_analyzer via Mason.
Opened up a rust project with toml and cargo files.
Type printf("Hello World!"); in a main.rs file and function.
No diagnostic information.
Expected Behavior
Should see diagnostic information from rust_analyzer.
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")
-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  "folke/LazyVim",
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

There's nothing different with LazyVim, so this is not a bug.
Please debug yourself before posting issues here.
This could help: https://github.com/LazyVim/LazyVim/pull/24


Blank tool window in WebStorm 2021.1 EAP 211.6222.6

WebStorm 2021.1 EAP
Build #WS-211.6222.6, built on February 26, 2021
WebStorm EAP User
Expiration date: March 28, 2021
Runtime version: <IP_ADDRESS>+11-b1145.77 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 10.16
GC: G1 Young Generation, G1 Old Generation
Memory: 512M
Cores: 8
Non-Bundled Plugins: com.github.beansoftapp.flutter.storm (2021.1.0), com.github.beansoftapp.reatnative.idea (2021.1.2)

caused by  new<EMAIL_ADDRESS>String text, @NotNull AnAction action) but the text is null by default


updating main.tf and adding to locals.tf to resolve ipv6 error

Description
Commit https://github.com/Guimove/terraform-aws-bastion/commit/df6830573f2832e9a50e419c8284c133fda19463 added the ipv6_cidr_blocks argument to the aws_security_group_rule  ingress resource  on line 39 of main.tf https://github.com/Guimove/terraform-aws-bastion/blob/e6332cdd7daf1b7fa004e248b58b07c7727660f7/main.tf#L39
This addition creates an error if the subnets do not have ipv6 addresses resulting in similar to the following error:
Error: "" is not a valid CIDR block: invalid CIDR address:
│
│   with module.test_bastion.module.test_bastion.aws_security_group_rule.ingress_bastion[0],
│   on .terraform/modules/test_bastion.test_bastion/main.tf line 39, in resource "aws_security_group_rule" "ingress_bastion":
│   39:   ipv6_cidr_blocks = concat(data.aws_subnet.subnets.*.ipv6_cidr_block, var.ipv6_cidrs)

Changes Made

added the ipv6_cidr_block parameter to the locals.tf file so that a list of empty strings will set the  ipv6_cidr_blocks  argument to null. The null value tells terraform to omit the optional argument.
updated the splat expression to latest syntax

Hello,
Thanks for your contribution, I've done that version just before seeing your PR : https://github.com/Guimove/terraform-aws-bastion/pull/133
Yours's better because it avoid any risk of null value, mine suppose that their is a default value for the var.ipv6_cidrs
Do you mind to do the same rework for ipv4 ?
Just to get the same way to manage both type of cidr
Thanks

LGTM !!!! 🚀


Postgres Async Kotlin/Native

Hello! Can you add support Kotlin Common?
Very soon I will make release 0.1.26 Binom Library. It contains PostgreSQL Connector for Kotlin Common (jvm/native). Also, later I can add async connector for MySQL

We will support asynchronous and coroutines on top of R2DBC, but currently no plan to support Kotlin/Native yet.


short paths may not always be valid file names, targets labels seems …

…like a better bet for this.
This fixes an issue with external git repository building with the master copy of Bazel too.

Can one of the admins verify this patch?

Thanks @ianoc!


Collect jsdoc comments with string +=

Instead of string[] push, like I learned in Python. It might be faster to use +=.

@typescript-bot perf test this

No major changes, but parse time and memory usage on Angular, the perf project that I know to be consistently jsdocced, is slightly worse. This change doesn't improve readability much, so I don't think it's worth it.


Feature/add selectors documentation

Notes for Reviewers
This PR fixes #10034
Signed commits

[x] Yes, I signed my commits.

🚀 Preview for commit aac8a7bcd19677d0bbd9545071c66a765de53005 at: https://65abfaea70a827bb2b649e98--meshery-docs-preview.netlify.app

Hi @RipulHandoo  ,
Thanks for your PR! I encourage you to share this in the Website Meeting tomorrow at 6:30 PM IST. Share your screen, and walk us through it. It's cool to take and share feedback. Check the Doc here to include this PR.
You're welcome at the meeting
Check to community calendar for more details of meetings at Layers.

@MUzairS15 please write a section on the evaluation engine and its behaviors in terms of munging of relationships, their selectors, their selector sets, and their scopes. Include how scopes can be controlled on a per evaluation basis (specific policies evaluated vs all policies).

🚀 Preview for commit fc8fe23abdc093acc944506e1703984edcf463ce at: https://65ae4c8231747e206e3596be--meshery-docs-preview.netlify.app

🚀 Preview for commit a697df3cf9116cbcb2deaca94111855e25bbeff2 at: https://65b1e63f2cfb502087031550--meshery-docs-preview.netlify.app

@RipulHandoo will you put together a master design that has all relationships in it?

@RipulHandoo will you put together a master design that has all relationships in it?

Yes @leecalcote, I will.

Would it be acceptable to describe the relationships in 2-3 lines, along with providing the link to the relationship from the master repo?

🚀 Preview for commit e453799bec4b605cbb362ed27592b53b43dd0693 at: https://65b36596d92c7894a2dc2888--meshery-docs-preview.netlify.app

Today is the delivery date for this doc, @MUzairS15

🚀 Preview for commit f890b2ca577cd01572130c18c6ea8dfc7ccd8270 at: https://65b4086261304e0eb572f3ab--meshery-docs-preview.netlify.app


How to use Ubuntu.exe for shell config since Windows 10 Fall Creators Update?

[x] I am on the latest Hyper.app version
[x] I have searched the issues of this repo and believe that this is not a duplicate

OS version and name: Windows 10 Version: 1709 Build: 16299.19
Hyper.app version: 1.4.8
Link of a Gist with the contents of your .hyper.js: https://gist.github.com/Zx-EvM/00466f23dfa35a4a9d0092192c2f955d
Relevant information from devtools N/A
The issue is reproducible in vanilla Hyper.app: Is Vanilla

Issue
Since Windows 10 Fall Creators Update we need to install Windows Subsystem for Linux from Windows Store: https://msdn.microsoft.com/en-us/commandline/wsl/install_guide
I have installed Ubuntu: https://www.microsoft.com/store/p/ubuntu/9nblggh4msv6
For now in hyper.is I can use only shell: 'C:\\Windows\\System32\\bash.exe'
Today I created issue in Bash on Ubuntu on Windows repository with question about where is Ubuntu.exe: https://github.com/Microsoft/BashOnWindows/issues/2586
So, that's really works with VSCode, but when I use this path in shell config:
shell: 'C:\\Users\\User\\AppData\\Local\\Microsoft\\WindowsApps\\ubuntu.exe'
then hyper terminal just closes.

Try just "bash.exe" though I prefer using "bash" command on power shell to launch bash!

@KunalKene1797 I need to use ubuntu.exe. Bash now works fine with shell: 'C:\\Windows\\System32\\bash.exe' in config.

C:\Users\seppe>ubuntu /?
Launches or configures a linux distribution.

Usage:
    <no args>
      - Launches the distro's default behavior. By default, this launches your default shell.

    run <command line>
      - Run the given command line in that distro, using the default configuration.
      - Everything after `run ` is passed to the linux LaunchProcess call.

    config [setting [value]]
      - Configure certain settings for this distro.
      - Settings are any of the following (by default)
        - `--default-user <username>`: Set the default user for this distro to <username>

    clean
      - Uninstalls the distro. The appx remains on your machine. This can be
        useful for "factory resetting" your instance. This removes the linux
        filesystem from the disk, but not the app from your PC, so you don't
        need to redownload the entire tar.gz again.

    help
      - Print this usage message.

It works if you also set shellArgs: [].  You also don't need absolute path to ubuntu.exe.
shell: 'ubuntu.exe',
shellArgs: [],

@lycandroid there is one problem with this. At least on windows with your solution wsl will startup with "~" https://github.com/Microsoft/WSL/issues/2587
There is another solution:
shell: 'C:\\Windows\\System32\\cmd.exe',
shellArgs: ['--login', '-i', '/c wsl'],

@Zx-EvM Not certain why that is considered a problem in the context of starting a new shell in hyper.   What directory do you want it to start in?

@lycandroid I want to start in current directory where I run Hyper (from context menu):

OK, but you can just set it to run wsl.exe directly:
shell: 'wsl.exe',
shellArgs: [],

I didn't thought about that we can just remove --login flag. Thanks.
But why do we need this flag in the config?

@lycandroid I didn't thought about that we can just remove --login flag. Thanks.
But why do we need this flag in the config?

@lycandroid I didn't thought about that we can just remove --login flag. Thanks.
But why do we need this flag in the config?

@lycandroid I didn't thought about that we can just remove --login flag. Thanks.
But why do we need this flag in the config?

@Zx-EvM

But why do we need this flag in the config?

You don't.   --login is just the default because its an arg for bash to make it a "login shell".   wsl.exe gives you a login shell automatically.

If you are getting an error when launching "bash.exe" but "ubuntu.exe" works, that means your default distro is not configured.
You can solve it by checking which distro's are installed with:
wslconfig.exe /l
and then setting default distro with:
wslconfig.exe /s Ubuntu
Enjoy fixed bash.exe !


Fix the fetch platform error

What type of PR is this?
/kind bug
What this PR does / why we need it:
When executing make build on macos, the following error occurs and the binary target location is incorrect. This pr fixes this error
➜  kwok git:(main) ✗ make build
./hack/get-platform.sh: line 45: ${os,,}: bad substitution
GOOS= GOARCH=amd64 go build -ldflags '-X sigs.k8s.io/kwok/pkg/consts.Version=v1.0-2-gc70ae71 -X sigs.k8s.io/kwok/pkg/consts.KubeVersion=v1.25.3' -o ./bin//amd64/kwok ./cmd/kwok
GOOS= GOARCH=amd64 go build -ldflags '-X sigs.k8s.io/kwok/pkg/consts.Version=v1.0-2-gc70ae71 -X sigs.k8s.io/kwok/pkg/consts.KubeVersion=v1.25.3' -o ./bin//amd64/kwokctl ./cmd/kwokctl

Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?

Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:

/cc @wzshiming


Input content appears aligned to the top

Bug reports:
Seems like the issue was introduced between v1.0.0 and v1.10
v1.0.0 HTML -> Canvas (codesandbox)

v^1.1.0 HTML -> Canvas (codesandbox)

Specifications:

html2canvas version tested with: 1.3.2
Browser & version: Safari 14.1.2, Chrome 94
Operating system: MacOS 11.5

This is still an issue, and 1.0.0 is still viable

It still exists

is someone resolve it? help


Implement modulus expression

Note: migrated from original JIRA: https://issues.apache.org/jira/browse/ARROW-9829
Implement modulus expression

Comment from Andrew Lamb(alamb) @ 2021-04-26T12:33:39.774+0000:
Migrated to github: https://github.com/apache/arrow-rs/issues/98


Breaking null traversal in Helm 1.18

#43501 introduced an issue
global:
  logAsJson: true
  proxy:
    tracer: "datadog"

results in
╷
│ Error: template: istiod/templates/configmap.yaml:88:21: executing "istiod/templates/configmap.yaml" at <include "mesh" .>: error calling include: template: istiod/templates/configmap.yaml:50:29: executing "mesh" at <.Values.global.tracer.datadog.address>: nil pointer evaluating interface {}.datadog
│
│   with helm_release.istio_istiod["1-18-0"],
│   on main.tf line 112, in resource "helm_release" "istio_istiod":
│  112: resource "helm_release" "istio_istiod" {

We need something like .Values.global.tracer.datadog.address -> ((.Values.global.tracer).datadog).address I think. Probably the same in other places. Intellij seems to warn about this so may help to find the other places

closed by #45955


Working with latest realm and stetho

I forked the project(kudos to emanuelet for adding methods for realm 1.0) and updated everything. It is working for me now! Using realm 1.1.0 and stetho 1.3.1
https://github.com/eikaramba/stetho-realm
Tipps:

Add proguard rules
Initialize DB after stetho

Cheers for the proguard tip 👍

I've released Stetho-Realm 2.0.0 which supports Realm Java 2.0.0.
Stetho-Realm 2.0.0 contains ProGuard configuration file and users don't need to add own configuration to their apps.
I copied the configuration from your README file. Thanks @eikaramba

That is great! Thx for the update.


Missing documentation on Contexts

Where did you see the issue in our documentation?
https://docs.kurtosis.com/cli
Issue description
kurtosis context commands are missing documentation.
I've also not found anything that explains what a context is.  Possibly https://docs.kurtosis.com/cloud touches on it but I'm not certain.

@omar711 thanks for filing this! Let me take care of this. I also notice that we don't have any docs for "portal" either - will add those as well.

Update: we have plans to remove the context concept altogether and opted to expose end users to just kurtosis cloud commands, and so the PR i've linked (#1557) will be for cloud cli commands and has no mention of contexts. I believe this addresses the pain points highlighted in this issue.

Sounds great @leeederek


Support for interfaces

Although the issue of interface support has been previously raised, I would like to propose a way to support interfaces without breaking existing code.  There are two use cases. An interface-centric approach is appropriate when there are multiple implementations of an interface are desired.  If there is only one implementation, a simpler class-centered approach will suffice.
Example interface-centered approach:
@Data
@Entity(…)
public interface Person {
    public static final val FOO = “foo”;
    @Column(…) private val String name;
    @Column(…) private val String email;
    void someOtherMethod();
}

public class PersonEntity implements Person {
    public void someOtherMethod() { … }
}

@ExcludeAnnotations
public class PersonBean implements Person {
    public void someOtherMethod() { … }
}

I propose to introduce two new annotations, @ExcludeAnnotations and @IncludeAnnotations. If neither is coded, @IncludeAnnotations is assumed. These annotations determine the generation of non-Lombok annotations. It is only allowed classes that implement a Lombok-annotated interface. Both annotations may include a value attribute that is a list of annotation class names that narrow the list of annotations to be copied to the concrete classes. If the above was coded, it would be equivalent to coding this:
public interface Person {
    // public static final fields stay in the interface
    String FOO = “foo”;
    String getName();
    void setName();
    String getEmail();
    void setEmail(String email);
    default boolean equals(){ /* same as now */ }
    default int hashCode() { /* same as now * /
    default String toString() { /* same as now * /
}

@Data
@Entity
public class PersonEntity implements Person {
    @Column(…) private val String name;
    @Column(…) private val String email;
}

@Data
// No annotations
public class PersonBean implements Person {
    private val String name;
    private val String email;
}

In more detail, here are the implications for applying Lombok annotations to interfaces.

@Cleanup is only used in the body of a method, so it is inapplicable to interfaces.
Lazy getters at the interface level are not feasible. If Lazy Getters are desired, the implementation class will have to repeat the attribute.
Applying @Value to an interface is the same as applying it to all implementations. As now, @Value is incompatible with @Data and @Setter, but we would have to look at both the interface and the implementation class when sniffing out conflicts.
Several annotations don’t make sense on an interface. Perhaps they should be disallowed. Alternatively, they could be allowed as a convenience. Including them on an interface would be the same as including them on all implementations, In this category, I would include @Synchronized, @Builder, @SneakyThrows, the logging annotations, and the constructor annotations.
@ToString and @EqualsAndHashCode at the interface level result in default interface methods, assuming a recent enough version of Java. Concrete classes could explicitly override them.
Finally, of course, the rules for @Data are, as now, the same as the rules for the things that @Data comprises.

Care must be taken to remove any unneeded import during code generation.
A simpler approach can be taken when one wishes to start with a class and generate one or more interfaces from the class. We introduce another new annotation @Interface. It has two attributes. The “package” attribute gives a package name. If omitted, it is the same as the package of the implementation class. The “name” attribute (synonym “value”) gives the interface name. If applied at the class level, it applies to all attributes in the class. It can also be applied at the field level. If applied at both levels, the field level takes precedence. A @NoInterface annotation can be used to exclude a member from any interface.
Example:
@Data
@Entity(…)
@Interface(name=“Person”)
public class PersonEntity {

    public static final val FOO = “foo”;

    @Column(…)
    private val String name;

    @Interface(“HasEmail”)
    @Column(…)
    private val String email;

    public  void someOtherMethod() {…};

    @NoInterface
    public void stillAnotherMethod() {…};
}

// Generated code
public interface Person {
    String FOO = “foo”;
    String getName();
    void setName();
    void someOtherMethod();
}
public interface HasEmail {
    String getEmail();
    void setEmail(String email);
}
public class PersonEntity implements Person, HasEmail {
    // normal code generation except FOO is not included
}

This is just a first cut. For example, suppose we wanted HasEmail to just have the getter and no setter. Or suppose we wanted the Person interface to extend HasEmail. Further refinements would be needed to support this.
All this may seem like a lot of trouble to avoid coding the interfaces manually, but imagine the savings for large classes with dozens of attributes.

Generating entirely new source files isn't really a lombok thing; these examples are also unclear to me: Lots of stuff just doesn't make sense. Why do your setters have no arguments? Why do you fields have 'val' as a type? Are these typos or intentional? I need a much simpler 'imagine lombok worked as follows: You write ', and it's as if you have '', without oversights such as using 'val' for fields (or if you really meant to write that: I don't think there's any way we can then make heads or tails of what we should generate if you do that).
This doesn't sound like a job for lombok, but I might reconsider if I have a clearer idea of what you want to accomplish.
Start with a simple case before bringing in includes and excludes, if you can.

looks really like some kotlin thing. on this condition why not just use kotlin.


404 Not Found for new routes

Hi, I'm finding this very helpful :)
I am not familiar with "Jade" and would rather just explorer the queries output directly.
However, I continually get a 404 not found.
How can I fix this?
router.get('/users', function(req, res) {
  models.Users.findAll({}).then(function(users) {
    res.json(users);
  });
});

``

Closed for housekeeping purposes, let me know if you still have any issues. Make sure to check the modernized example now :tada:


ERROR: cannot launch node of type [plan_manage/fast_planner_node]: Cannot locate node of type [fast_planner_node] in package [plan_manage] ,similar issue for nodes [traj_server] and  [geometric_controller_node]

Hi,
This is awesome and very exciting. I am new to this community and was working on an autonomous indoor drone project where I am aiming drone to cross some frames in the aisle and along with that avoid obstacles in between. I am looking forward to this project for some help. I have been trying to set up this repository for the past few days and haven't succeeded till now.
Version - PX4 Firmware v1.10.1, Ubuntu 18.04, ROS melodic
1.) I initially set up my ROS workspace in a directory other than home due to some space issues
As mentioned in instructions I cloned px4_fast_planner into src directory of my workspace i.e., /mnt/Softwares/ROS/Drone/src,  I installed all dependencies through setup.sh which created a new workspace in the home directory and was automatically sourced into bashrc by setup.sh
So I modified my bashrc (i.e., explicitly exported px4_fast_planner and px4_fast_planner/models into ROS_PACKAGE_PATH and GAZEBO_MODEL_PATH) as shown below to meet my requirements. The one commented out is my old workspace.
source /opt/ros/melodic/setup.bash
# source /mnt/Softwares/ROS/Drone/devel/setup.bash
source /home/akshit/catkin_ws/devel/setup.bash
source /mnt/Softwares/ROS/Drone/Firmware/Tools/setup_gazebo.bash /mnt/Softwares/ROS/Drone/Firmware/ /mnt/Softwares/ROS/Drone/Firmware/build/px4_sitl_default
export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH"
export PYENV_ROOT="/mnt/Softwares/soft_installed_ubuntu/pyenv/pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/mnt/Softwares/ROS/Drone/Firmware:/mnt/Softwares/ROS/Drone/Firmware/Tools/sitl_gazebo:/mnt/Softwares/ROS/Drone/src/px4_fast_planner
export GAZEBO_PLUGIN_PATH=$GAZEBO_PLUGIN_PATH:/usr/lib/x86_64-linux-gnu/gazebo-9/plugins
export GAZEBO_MODEL_PATH=${GAZEBO_MODEL_PATH}:/mnt/Softwares/ROS/Drone/GAAS/simulator/models:/mnt/Softwares/ROS/practice/world:/mnt/Softwares/ROS/Drone/Firmware/Tools/sitl_gazebo/models:/mnt/Softwares/ROS/Drone/gazebo-model/gazebo_models:/mnt/Softwares/ROS/Drone/src/avoidance/avoidance/sim/models:/mnt/Softwares/ROS/Drone/src/avoidance/avoidance/sim/worlds:/mnt/Softwares/ROS/Drone/src/px4_fast_planner/models

then I tried launching px4_fast_planner.launch and got this error (log1 file in comments)
px4 starting.

INFO  [px4] Calling startup script: /bin/sh etc/init.d-posix/rcS 0
process[gazebo-4]: started with pid [17065]
Error: Unknown model 'iris_depth_camera'
ERROR [px4] Startup script returned with return value: 256
process[gazebo_gui-5]: started with pid [17073]
process[vehicle_spawn_akshit_Inspiron_7577_17017_1700258111149677753-6]: started with pid [17078]
================================================================================REQUIRED process [sitl-3] has died!
process has died [pid 17051, exit code 255, cmd /mnt/Softwares/ROS/Drone/Firmware/build/px4_sitl_default/bin/px4 /mnt/Softwares/ROS/Drone/Firmware/ROMFS/px4fmu_common -s etc/init.d-posix/rcS __name:=sitl __log:=/home/akshit/.ros/log/61a6707e-d1e1-11ea-be79-34415d6d1c2b/sitl-3.log].
log file: /home/akshit/.ros/log/61a6707e-d1e1-11ea-be79-34415d6d1c2b/sitl-3*.log
Initiating shutdown!
========================

to solve this I created a copy of 10016_iris in my /mnt/Softwares/ROS/Drone/Firmware/ROMFS/px4fmu_common/init.d-posix directory and renamed it to 10017_iris_depth_camera to create a uniqueID for this model which was missing there. I am not sure whether it's correct to do this but it solved my error.
On trying again I was successfully able to launch the gazebo world and view sensor depth data in rviz. But still, I am not able to launch my drone either through QgroundControl or by publishing in topic  /move_base_simple/goal .I faced these errors. (log2 file in comment)
ERROR: cannot launch node of type [plan_manage/fast_planner_node]: Cannot locate node of type [fast_planner_node] in package [plan_manage]. Make sure file exists in package path and permission is set to executable (chmod +x)
ERROR: cannot launch node of type [plan_manage/traj_server]: Cannot locate node of type [traj_server] in package [plan_manage]. Make sure file exists in package path and permission is set to executable (chmod +x)
process[waypoint_generator-11]: started with pid [6318]
ERROR: cannot launch node of type [geometric_controller/geometric_controller_node]: Cannot locate node of type [geometric_controller_node] in package [geometric_controller]. Make sure file exists in package path and permission is set to executable (chmod +x)
INFO  [simulator] Waiting for simulator to accept connection on TCP port 4560

[ERROR] [1596116398.936015, 3491.900000]: Spawn service failed. Exiting.

I tried doing sudo chmod +x -R catkin_ws ,but it still shows the same error.
2.) Can I use this to go through narrow spaces like frames(reference image attached in comments, landing gears can be neglected). If not possible directly is there any way i can turn off px4_fast_planner and continue with some other code when I am near to the frame and after that activate this planner again.
Thanks

Relevant files
log1.txt
log2.txt
drone-image

I changed the location of px4_fast_planner to the new workspace and modified .bashrc file accordingly. Again rviz and gazebo popped up with same errors as mentioned earlier in final step
I think the above issue is mostly due to me,I might have ignored build errors earlier by mistake, which I just realised after running setup.sh or catkin build again. There were many point cloud errors as shown below
Screenshot from 2020-08-01 04-09-08
Screenshot from 2020-08-01 04-09-32
Screenshot from 2020-08-01 04-09-20
Could this be due to PCL version differences? I am using pcl-1.11
Thanks

Hi @Akshit-Patel . Thanks for using px4_fast_planner. It was tested with pcl-1.8. I am not sure if it works with 1.11

Thanks for your reply,
I compiled pcl-1.11 from source and pcl-1.8 was already installed with apt-get which was leading to build issues. After removing pcl-1.11 I was successfully able to build this package and launch nodes properly. But these issue stil remain
[INFO] [1596279718.602390, 0.000000]: Calling service /gazebo/spawn_sdf_model
[INFO] [1596279718.728123, 3491.900000]: Spawn status: SpawnModel: Entity pushed to spawn queue, but spawn service timed out waiting for entity to appear in simulation under the name iris_depth_camera
[ERROR] [1596279718.729415, 3491.900000]: Spawn service failed. Exiting.
Warning [parser.cc:950] XML Element[vertical_fov], child of element[camera] not defined in SDF. Ignoring[vertical_fov]. You may have an incorrect SDF file, or an sdformat version that doesn't support this element.
[vehicle_spawn_akshit_Inspiron_7577_13249_5751270001766641971-7] process has died [pid 13329, exit code 1, cmd /opt/ros/melodic/lib/gazebo_ros/spawn_model -sdf -file /home/akshit/catkin_ws/src/px4_fast_planner/models/iris_depth_camera/iris_depth_camera.sdf -model iris_depth_camera -x 0 -y 0 -z 0.2 -R 0 -P 0 -Y 0 __name:=vehicle_spawn_akshit_Inspiron_7577_13249_5751270001766641971

I don't know what is the issue exactly but I think it might be related to 10017_iris_depth_camera, the file which I created in /Firmware/ROMFS/px4fmu_common/init.d-posix for eliminating startup script error. Currently, I have simply defined it to just contain one line, sh /etc/init.d-posix/10016_iris
Also, there were these errors
INFO  [ecl/EKF] 3192000: EKF aligned, (baro hgt, IMU buf: 18, OBS buf: 14)
INFO  [ecl/EKF] 3192000: reset position to last known position
INFO  [ecl/EKF] 3192000: reset velocity to zero
WARN  [mc_pos_control] Offboard activation failed with error: Activation Failed
WARN  [mc_pos_control] Position-Ctrl activation failed with error: Activation Failed
WARN  [mc_pos_control] Altitude-Ctrl activation failed with error: Activation Failed
[FSM]: from INIT to WAIT_TARGET
[ INFO] [1596286073.542292840, 3495.300000000]: IMU: Attitude quaternion IMU detected!
[ INFO] [1596286073.670281619, 3495.428000000]: Home pose initialized to: position:
  x: 0
  y: 0
  z: -0.00843018
orientation:
  x: 0.0097147
  y: -0.0111899
  z: 0.0228288
  w: -0.99963

[ INFO] [1596286074.171937837, 3495.928000000]: Got pose! Drone Ready to be armed.
state: WAIT_TARGET
state: WAIT_TARGET
INFO  [ecl/EKF] 5284000: reset position to GPS
INFO  [ecl/EKF] 5284000: reset velocity to GPS
INFO  [ecl/EKF] 5284000: starting GPS fusion
state: WAIT_TARGET
[rqt_reconfigure-13] process has finished cleanly
log file: /home/akshit/.ros/log/3240d9bc-d3f5-11ea-9145-34415d6d1c2b/rqt_reconfigure-13*.log
state: WAIT_TARGET
[rvizvisualisation-16] process has finished cleanly
log file: /home/akshit/.ros/log/3240d9bc-d3f5-11ea-9145-34415d6d1c2b/rvizvisualisation-16*.log
state: WAIT_TARGET
state: WAIT_TARGET
state: WAIT_TARGET
state: WAIT_TARGET
state: WAIT_TARGET
state: WAIT_TARGET
WARN  [PreFlightCheck] Preflight Fail: Gyro #0 uncalibrated
WARN  [PreFlightCheck] Primary gyro not found
WARN  [PreFlightCheck] system power unavailable
[ERROR] [1596286083.694041478, 3505.436000000]: FCU: Preflight Fail: Gyro #0 uncalibrated
[ERROR] [1596286083.744923992, 3505.488000000]: FCU: Primary gyro not found
[ERROR] [1596286083.793577566, 3505.536000000]: FCU: system power unavailable
state: WAIT_TARGET

I tried changing EKF2_AID_MASK parameter to 1 and 24 through QGC and than rebooting the vehicle but could not eliminate the gyro error.

The install script already copies the required PX4 startup file to the required folder inside PX4 Firmware folder. A copy is available here (https://github.com/mzahana/px4_fast_planner/blob/master/config/10017_iris_depth_camera). Also the install script adds the necessary model path to the gazebo model path (https://github.com/mzahana/px4_fast_planner/blob/master/install/setup.sh#L138). This is tested with PX4 v1.10.1. Otherwise, I am not sure what the problem is. Also I am assuming that you are using the iris model with depth camera in this package. If you are using your own custom model, you will have to add it to the path and have its own PX4 startup file added properly too.

Thanks,
I was using the iris model with the depth camera package and faced those issues. Finally, I tried to set it up from start. I was again required to create a file  /Firmware/ROMFS/px4fmu_common/init.d-posix/10017_iris_depth_camera. Now everything seems to work fine, vehicle launches properly, set points can be published, and it reaches the set point by avoiding obstacles. Although this error still shows up,
[ERROR] [1597360258.058553, 3491.900000]: Spawn service failed. Exiting.
Warning [parser.cc:950] XML Element[vertical_fov], child of element[camera] not defined in SDF. Ignoring[vertical_fov]. You may have an incorrect SDF file, or an sdformat version that doesn't support this element.
[ INFO] [1597360258.663421458, 3491.900000000]: Camera Plugin: The 'robotNamespace' param did not exit
[ INFO] [1597360258.665692584, 3491.900000000]: Camera Plugin (ns = )  <tf_prefix_>, set to ""
[vehicle_spawn_akshit_Inspiron_7577_5021_1370868167067778571-7] process has died [pid 5924, exit code 1, cmd /opt/ros/melodic/lib/gazebo_ros/spawn_model -sdf -file /home/akshit/catkin_ws/src/px4_fast_planner/models/iris_depth_camera/iris_depth_camera.sdf -model iris_depth_camera -x 0 -y 0 -z 0.2 -R 0 -P 0 -Y 0 __name:=vehicle_spawn_akshit_Inspiron_7577_5021_1370868167067778571 __log:=/home/akshit/.ros/log/215fff6e-ddba-11ea-ae23-34415d6d1c2b/vehicle_spawn_akshit_Inspiron_7577_5021_1370868167067778571-7.log].
log file: /home/akshit/.ros/log/215fff6e-ddba-11ea-ae23-34415d6d1c2b/vehicle_spawn_akshit_Inspiron_7577_5021_1370868167067778571-7*.log
INFO  [simulator] Simulator connected on TCP port 4560.

Log File
vehicle_spawn_akshit_Inspiron_7577_5021_1370868167067778571-7.log
Error Screenshot
error

Not sure whether this can be closed.

Good that you got it working. Since this error is not related to this package (this is PX4-related), I think this issue can be closed.

Hello, I have the same problem as you (below), and the version selection is consistent with your version.
How did you solve this problem successfully? Besides deleting Pcl-1.11, what else did you do? Because I only have Pcl-1.8 and did not find Pcl-1.11.
I have been troubled by this problem for a long time. I am looking forward to receiving your reply. Thank you.
“cannot launch node of type [plan_manage/fast_planner_node]: Cannot locate node of type [fast_planner_node] in package [plan_manage] ,similar issue for nodes [traj_server] and [geometric_controller_node]”


laravel 10.x supports

Looks like we will have to wait for more to get it approved.

See https://github.com/RickDBCN/filament-email


alchemical.aio.Alchemical with Flask and Flask-Migrate

Hey Miguel :wave: I hope all is well! I'm wondering if I could use Flask, and the as alchemical.aio.Alchemical object with Flask-Migrate. This seems like a combination that is probably not possible but I hope I'm wrong. For a somewhat artificial reason, I'm happy with uwsgi as my application server, and I don't want to switch over to aioflask/asgi/etc just yet. I've discovered some features in uwsgi that are keeping me there (for now). I'm interested in being able to get migrations, and utilize the new async support in Flask. Alchemical seems to get me really close! Curious to hear your thoughts on this, any advice appreciated.

I see. I think I may be better off with a different approach in this scenario, not to any fault of this project. I think may not be the right fit for my set of constraints. There’s probably a path of a less resistance with another approach. But I’ve not entirely given up yet. Maybe there is something I can work by just using Alembic directly rather than Flask-Migrate (which pains me a little because I like it…) while still using Alchemical


Pipette Config: Define Plunger Position Relative to Default

As an OT-2 user, I would like to be able to specify custom plunger positions relative to the value from pipetteModelSpecs.json, rather than as an absolute position.
For example, in the config pipetteModelSpecs.json, plunger positions look like:
"plungerPositions": {
      "top": 19.5,
      "bottom": 0.5,
      "blowOut": -2.5,
      "dropTip": -6
    },

In the user-set pipette config settings, we should not allow users to set new absolute positions, but instead store the offset as a relative position (added to the absolute position from pipetteModelSpecs.json)

@IanLondon @btmorr
can we close this ticket?

Taken care of by #2941


refreshCells on Floating Rows

I'm submitting a ...  (check one with "x")
[X ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, instead see https://github.com/ceolter/ag-grid/blob/master/CONTRIBUTING.md#question

Current behavior
Calling api.refreshCells() on a floating row doesn't trigger the floatingCellRenderer.
Expected behavior
floatingCellRenderer should be called again.
Minimal reproduction of the problem with instructions
var rowNode = api.getFloatingBottomRow(0);
api.refreshCells([rowNode], ['selection']);

ag-Grid version: latest

I believe the error is due to iterating this.renderedRows in RowRenderer.prototype.refreshCells(). The floating row isn't in the rendererRows array.

Thanks for the feedback - item added to our backlog (https://www.ag-grid.com/ag-grid-pipeline/) as AG-192

i fixed this about two months ago, you will see the latest is now working.


Equation Plugin

Adds support for parsing equations (in TeX format) to rendered equation images:

2 space tabs pls

What happens if the user provides invalid syntax?

Good catch, I've added error handling.


feat: #64 execution plan review

This is just a PoC - not to be merged in. It shows how to replace a default supervisor with a custom one.
@grabbou I think I discovered an inconsistency/bug (?) - the supervisor is not able to run the tools. In this case, running the tools would make a lot of sense for getting the exec plan acceptance.

What should we do with this PR? Aside from fixing the issue that you mentioned? Shall we do anything with that static supervisor? 👯♀

I'll test it on Monday and if it works fine I'd suggest adding this new supervisor as an example wdyt?

Yeah why not! We can have a few, and actually, maybe I'll add parallel one as example too for now - to treat it as experimental?

Great idea 🙌

I can even imagine a distributed one - so there are few servers and resourcePlanner is using a tool to send a http request with a task for another instance to process. This is entirely possible due to our server architecture
Wdyt?


Coroutines and return values

Hello,
I don't know if this is the place to ask questions, but I thought it might also help other people who ask themselves the same questions.
I'm new to Lua scripting and I'm trying to implement scripts into my existing C++ project.
I chose your interface mainly because it supports coroutines and it is very easy to use (thanks for that).
Basically, the scripts will tell my application to do things which could take time. After these things are finished, a signal is triggered into my application and once this signal is triggered, I'd like the script to continue.
I thought coroutines are exactly what I need to achieve such a behavior, but I don't know if I'm doing it right.
At the moment, my entire script runs inside a coroutine (there is no call to lua.RunScript, I'm creating a coroutine and calling RunScript on the coroutine, maybe I'm wrong). The functions that might take time are created as YieldingFunction. Therefore, they tell my application to do its thing and when it's done, I just have to call Resume for the script to continue and it works like expected for now.
However, I would like to reproduce one behavior and I don't know how to do it (or if it is possible with your interface).
When the yielding function is called and calls the appropriate function in my application, it doesn't know yet if it worked. The result (true or false in my case) is only known when calling Resume. I read that yielding functions can return values, but is there a way to pass a value to Resume, which could be retrieved as the return value of the yielding function in the script ?
I don't know if I was clear enough. Don't hesitate to tell me I'm doing it wrong :).
Thanks in advance for your help.

To answer your question simply, yielding functions are the same as functions. That means the fact that they yield has nothing to do with the fact that the coroutine has been suspended.
When you call resume you should receive whatever the yielding function has returned.

Thanks for your response.
Problem is, I don't know the return value when the yielding function returns. I only know the return value once I resume the coroutine, that's why I'm trying to set that return value when I resume the coroutine.

I don't understand. When the yielding function returns, the Lua code is suspended, so it is meaningless to say you don't know the return value in Lua.
If you wish to access that return value in C++ once the yield has happened however you can set a variable in a [global] table, or a variable somewhere if you want the value before resuming the Lua.
I could actually be missing your point. Could you provide a little code?

I use yielding function to execute tasks that could take seconds to be done (asynchronously). The yielding function launches the task and if the launch has succeeded, it returns true, else it returns false.
However, when the launch succeeded, the task itself may not succeed.
If the task fails, it would be great if I could resume the script and return false (when I previously returned true cause the task launch succeeded).
If the task itself succeeded, then I just resume the script as the return value (true in this case) is correct.
Did this help you understand ?

Ah, so you want to return a value through Resume because you can only decide the return value when you want to resume. You can always set a global var ( lua.GetGlobalEnvironment().Set("call_success", false) )
The reason I do not allow passing return values through resume is because the yielding function may return a value. If it returns a value but you pass another return value via resume, then we do not know which value to actually return!

That's it :).
You're right, for the moment, as I didn't managed to do it, I implemented another function "lastActionSucceeded" that acts exactly as you described with a global var.
If I understood it correctly, return values are pushed onto a sort of stack. So if the yielding function returns a value and resume adds a return value too, it would be confusing.
Is there a way to "replace" the return value in the "stack" if there is one already set ?

Yes, but you can have more than one return value, which means you need to know how much stuff in the stack to remove.
It also breaks the Principle of Least Surprise, because if the application calls Resume and replaces the return value, from the script's point of view it looks like something very strange happened, especially if the number of values returned is wrong.

Mmmmh, understood.
I think I'll keep the lastActionSucceeded() then, unless I manage to find another way :).
Thanks for you help anyway !
Have a good day :).

Sorry about the late reply, your question has made me aware of a bug with yielding functions (they don't return properly!)

Closing since @Moonlight-Angel feels his question is answered.


the links in the project were invalid

Hello, first of all, thank you for your sharing. I found that all the links in the project were invalid. Could you please tell me how to get it now?
Also, I found that Osmesa and Progression-X were not compiled successfully. Will this affect my training?
I've now got my own dataset in BOP format.
Looking forward to your reply！
thank you!

Hello, which links do not work? (I've clicked on a few and all worked. Try to copy the URL to the address bar.)
Progression-X is not required for training, but Osmesa is so you should get that compiled.

Thank you for your reply.I copy the URL to the address bar and it works.
However, Osmeda was still not compiled successfully, resulting in the following error during training:
AttributeError: module 'external.bop_renderer' has no attribute 'Renderer'.
So I really want to be a guide to how do we solve this problem.
Looking forward to your reply！
thank you!

It seems you modified the python code and added external in external.bop_renderer (when importing bop_renderer)? Did you follow the instructions in section "Setup"? In particular, did you add export PYTHONPATH=$REPO_PATH/external/bop_renderer/build:$PYTHONPATH to file $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh?

Thank you for your advice! These days I have recompiled the code according to "setup", upgraded GCC to 9.3, and configured OSMESA using source code compilation. Now the code is running successfully! However, the problem of insufficient GPU memory will appear soon after the beginning of the training, so I would like to ask what is the minimum computer configuration required for this project? Or how do I adjust the batch so that the training runs properly?

I was training each model on a single GPU (Tesla P100) with 16GB of memory. You can reduce the memory requirements by, e.g., reducing the number of surface fragments or using a lighter weight backbone network.

Thank you for your reply.I copy the URL to the address bar and it works. However, Osmeda was still not compiled successfully, resulting in the following error during training: AttributeError: module 'external.bop_renderer' has no attribute 'Renderer'.
So I really want to be a guide to how do we solve this problem. Looking forward to your reply！ thank you!

I have the same error:
AttributeError: module 'bop_renderer' has no attribute 'Renderer'


fix AER to ENU

sine and cosine were reversed. Should be as follows:
geo.ENU{
    East:  geo.Meters(r * math.Sin(az.F64())),
    North: geo.Meters(r * math.Cos(az.F64())),
    Up:    geo.Meters(aer.Range.F64() * math.Sin(el.F64())),
}

Python library for reference: https://geospace-code.github.io/pymap3d/enu.html

Yeah needed to update ENU to AER equations and fix uses of degrees that should've been radians. Tests now pass


Avoid using O_APPEND mode to write files for simpler safe scaling

In https://tus.io/faq.html#how-do-i-scale-tus there is the annoying requirement:

You only need to ensure that there is no parallel access to a single upload resource from multiple tus servers.

This seems to be the result of using O_APPEND here: https://github.com/tus/tusd/blob/27957bd22b9bf6b86a86aec3cc054558a8cb6518/pkg/filestore/filestore.go#L158
But why is that?
Given that the TUS protocol communicates file offsets exactly in writes, couldn't tusd just seek() to the correct offset and perform the write there?
Then potentially concurrent writes would write the same data at the same offsets, thus being idempotent, and thus safe. No locking would be needed.
What do you think?

A relevant part of the 1.0.0 spec is this wording

The Upload-Offset header’s value MUST be equal to the current offset of the resource

This wording is, in my opinion, a bit unfortunate, because it to some extent implies that idempotent concurrent updates to different offsets cannot exist.
It would be nice if a the v2 version of the spec could have a wording that more easily permits idempotent updates.

This is not always the case, e.g. for the AWS S3 or GCS backend

My issue is only about the filestore.go implementation, not other backends, and not about the spec (I thought for a moment in https://github.com/tus/tusd/issues/697#issuecomment-1088007440 that the spec might have a wording that makes my suggestion difficult, but then found that it most likely doesn't).
What I am saying is that I think that tusd could implement filestore specifically without the need for locking. For example, that you could run tusd on multiple machines against e.g. a CephFS mount, without need for locks.

tradeoff we have made when designing this protocol: Who is responsible for ensure that data is not corrupted or overwritten

The protocol does not seem to have an opinion on this topic. It appears to me that it would be a conformant implementation to accept whatever the client uploads. What type of corruption or overwriting do you have in mind? If a client intentionally or accidentally tried to tried to rely on a seek() + write() implementation to cause the server write a certain series of bytes on the server, it could cause the server to write the same bytes using the current implementation.
In other words: I do not follow what scenario the current filestore implementation protects from that a non-O_APPEND implementation would not.
Could you make an example?

Assume the following situation without any locking: The server gets a request A to write at offset 0. Once A has written 100 bytes (and is still continuing to write), a new request B comes in to write at offset 100. Since the file's current offset is at 100, the server will accept request B. Now you have two request A and B writing at the same file offset, which is a potential cause for data loss or corruption. You could argue (and I think you use that argument here) that it is not dangerous to write the same data at the same offset. In an ideal world, both write calls execute the same behavior and should yield the same result. However, I don't know enough about how the kernel and file systems work to judge whether this is safe or not. If I am unsure about the safety of concurrent executions, I prefer to use exclusive access to control it.
You can argue that it is the clients' responsibility to avoid such potentially dangerous, concurrent requests. And that is a fair assumption, but not one we have chosen for tus and tusd. Instead, tusd is designed to catch such situations and prevent them. In my experience, cases as the one describe before, where two requests write at the same offset, can occur easily without the client intending to do so. This is sometimes caused by proxies or network switches who delay the flow of data.
Hope this makes my point of view clearer.

Also another comment: I do not see a problem with replacing O_APPEND with a call to write & seek on its own, as long as tusd uses a locking mechanism by default. If you want to and feel safe to, you can configure tusd to not use locking. That is totally doable programmatically at the moment.

Thanks for your detailed replies!

how the kernel and file systems work to judge whether this is safe or not

I can give some background on this.
POSIX 1003.1-2001 specifies in  2.9.7 Thread Interactions with Regular File Operations:

All of the following functions shall be atomic with respect to each other in the effects specified in POSIX.1-2017 when they operate on regular files or symbolic links:
... write()
If two threads each call one of these functions, each call shall either see all of the specified effects of the other call, or none of them.

There are a few considerations regarding this:

Thread-safety: POSIX requires that concurrent write()s by different threads or processes to the same file descriptor or underlying file are thread-safe in the conventional sense that it won't crash or lock up the computer or result in garbage/corrupt data that was not provided to any of the write().
Atomicity: What is supposed to happen when 2 threads or processes seek()+write() to an overlapping region? E.g. do concurrent write("abcd") / write("1234") result in

full atomic writes, that is, the result is guaranteed to be abcd or 1234,
contiguous split writes, that is, the result might be a234 or 12cd, but not a2c4
arbitrary interleaving, e.g. a2c4
Further, there is the distinction of how the write is done, e.g. via:
the same file descripton, that is, the result of a single open() to which 2 identical or different (e.g. via dup()) file descriptors may point
different file _description_s, e.g. 2 open()s of the same file path (and underlying inode)
(See this for a detail explanation of file descriptors and descriptions.)

In the Linux kernel, the following happens:

Thread-safety is given (POSIX systems without this would be crazy).
Atomicity is given with full atomic writes only when the same file description is used (single open()).

Then, Linux will serialise write()s on the file description using a lock (f_pos_lock in struct file).
This is true only since Linux 3.14 (commit); before it was not (see LWN article write(), thread safety, and POSIX and in Linus's post). Full thread for easy reading here.
(Note that any ssize_t bytes_written = write(..) may of course be a short write, meaning it wrote less than was asked for.)

Atomicity is NOT guaranteed when _different file description_s are used (multiple open()s). Then Linux may interleave output. Linux is intentionally not fully POSIX compliant regarding this (see last paragraph of Linus's post linked).

Thus, concurrent writes are safe (in the sense that you care about) on Linux and other POSIX systems, so doing concurrent write(bytes) of the same bytestring at the same offset should always produce the same result as if only one of them were executed, or if they were executed sequentially. (This is of course assuming that multiple open()s are used that each track their own file seek offset, otherwise "at the same offset" would not be given.)
This is why I think that my proposal does not shift the avoidance of dangerous concurrent requests to the client; POSIX (as the backend of filestore.go) already fundamentally provides the necessary thread-safety.

I do not see a problem with replacing O_APPEND with a call to write & seek on its own, as long as tusd uses a locking mechanism by default.

Yes, that makes sense. The optimisation to not use locking could only be used when filestore.go is writing to a sane POSIX file system (or POSIX-like, in the way that Linux is). It may not be safe against non-POSIX systems like an rclone mount backed by blob storage like Drobox or S3.

Even better than seek() + write() would be to use pwrite() (Go's os.File.WriteAt()) that combines the two for performance. But it does not really affect the argument whether concurrent writes are safe in general.

I am currently implementing my own TUS server backed by CephFS, where I'm using my proposal to avoid the need for distributed locking (and thus more simplicity / easier operation). I will report if I find anything that makes the approach infeasible; otherwise maybe tusd also wants to use this optimisation.

Thank you very much for this detailed write up about the properties of write! It provided a lot of insight that was not clear to me before.

Yes, that makes sense. The optimisation to not use locking could only be used when filestore.go is writing to a sane POSIX file system (or POSIX-like, in the way that Linux is). It may not be safe against non-POSIX systems like an rclone mount backed by blob storage like Drobox or S3.

Probably, yes. I know that some people use tusd with NFS and that might also be problematic then.

Even better than seek() + write() would be to use pwrite() (Go's os.File.WriteAt()) that combines the two for performance.

Might be a bit harder to implement, as we write an io.Reader to the file and not byte slices. Otherwise, it would be a good alternative.

I am currently implementing my own TUS server backed by CephFS, where I'm using my proposal to avoid the need for distributed locking (and thus more simplicity / easier operation). I will report if I find anything that makes the approach infeasible

Sure, let us know if you have any other question or find something interesting :)


About Experiments with Large-Scale Data

Thanks for sharing the script.
I am trying to do an experiment on my own large dataset.
#Nodes | #Edges
700,000 | 6,000,000
I would like to get the node embedding result of this graph
Unfortunately, CUDA out of memory occurred even on the collab dataset in my environment.
I used g4dn.16xlarge aws instance. (GPU: NVIDIA T4 GPU/1/16GB)
Can I use PEG while saving GPU memory?
Have you done any experiments with datasets of this size?
For example,

ogbl-ppa
ogbl-citation2

@ZoomWang666  @lipan00123
I forgot to add a mentions.
If you know anything about this, please let me know.

Hello,
I think maybe you can try to reduce the PE dimension to save GPU memory. For PEG-LE+ and PEG-DW+, they need more GPU memory than PEG-LE and PEG-DW, and we are planning to address this issue.

@ZoomWang666
Thank you for your prompt reply.
I will lower hidden_channels(default=256).
(For example 64, 128)

Have you done any experiments with datasets of this size?
For example,
ogbl-ppa
ogbl-citation2

What do you think about this one?

This project is still ongoing. The ICLR paper mainly focus on the theoretical understanding of positional encoding.
We are now working on a standard framework of PEG for large-scale networks (100M+ nodes)，and the standard framework will be released later.

Thank you for your reply.
I understand the situation.
I am also aware that this is a theoretical stage.

We are now working on a standard framework of PEG for large-scale networks (100M+ nodes)，and the standard framework will be released later.

I am looking forward to it!

@dcm-nakashima Thanks for checking our work. May I ask a follow-up question? When you decreased the hidden_channels dimension and use PEG-DW or PEG-LE instead of PEG-DW++ or PEG-LE++, did you successfully run the code on your dataset with 700k nodes?

@lipan00123
Thank you for your question.
I have not done so yet and will do so in the future.
I will share the results with you.

@lipan00123
Since the above large data set could not be used, we used sampled small datasets.


bug: custom color for step

What version of daisyUI are you using?
No response
Which browsers are you seeing the problem on?
Edge
Reproduction URL
https://pastebin.com/xeJcqJxc
Describe your issue
i can custom background color for button, but i can't that at step. why? if there is way for it give in documentation please

You're welcome. contact me soon if you have done please

Answered here
https://github.com/saadeghi/daisyui/discussions/1947
Let me know if you have any questions


Support for Dropbox-API-Select-User header?

When using Business account and Team features, it is necessary to set Dropbox-API-Select-User? I am not seeing the ability to set this in the SDK.

This is available in this SDK via the AsMember method.


Fibonacci Series

fibonacci series using java

@Arika008 if u find this repo useful , do share and star  the Repo!

@Saikat2407 sure

@Saikat2407  Added #52

pls assign it to me


Support for ELECTRA-based Re-Ranking Cross-encoder

Feature request
Currently, BGE rerankers are limited in multilingual support, mainly in English and Chinese. Many XML RoBERTa Cross-Encoders are also English-focused. Could you please add support for other models like ELECTRA, for instance, svalabs/cross-electra-ms-marco-german-uncased, to enhance our language coverage?
Motivation
More model diversity, especially for more languages.
Your contribution

I also request support for Electra. I often use the ElectraForSequenceClassification architecture, and it would be great if Electra could be supported as well.

Just as a little bump, I'd also love to see electra support as I'm currently seeing the best results for my task (in german) with svalabs/cross-electra-ms-marco-german-uncased

Same here. As noted in the Deepset article, in their practice, svalabs/cross-electra-ms-marco-german-uncased is the best model for Geman.

Same here. As noted in the Deepset article, in their practice, svalabs/cross-electra-ms-marco-german-uncased is the best model for Geman.

If you havent already seen it, you could check out michaelfeil/infinity, works for the model. You can also run multiple models in one instance in the newest version, like embedder and reranker at the same time.

i think this can be closed.  the world moved on.
the BAAI/bge-reranker-v2-m3  works just fine for multi language and is supported


proposal: move golang.org/x/net/context to the standard library

The context package provides a standard interface for passing request-scoped values, deadlines, and cancelation information across package boundaries.  Examples of request-scoped values include authentication information, golang.org/x/net/trace.Traces,  and Dapper-like distributed tracing IDs.  Context is widely used: godoc.org lists 1500+ imports.  Context is a critical element in RPC systems like Go-kit's Endpoint interface and gRPC Go.
We (@sajmani and @bradfitz) would like to incorporate Context into standard library packages (see list below).  Standard library packages cannot depend on external packages, so we propose moving the context package into the standard library as package "context".
One complication with moving this package is that interfaces that currently mention golang.org/x/net/context.Context will not be satisfied by implementations that use context.Context.  For example, gRPC service implementations will fail to compile if we change the Go protocol compiler to use context.Context.  We will need to provide some way to manage this transition.
Potential uses of Context in the standard library:

Add Context to http.Request to support canceling HTTP requests and passing request-scoped values
Add Context to net.Dialer to support canceling Dial
Add Context to functions in database/sql and interfaces in database/sql/driver to support canceling database operations and passing request-scoped values
Generally, add Context to any function that supports cancelation and may be implemented using RPCs

A related proposal is to remove the Deadline method from the Context interface and so remove its dependence on the "time" package.  This would permit the Context interface to be used in packages that cannot depend on "time".  Context's deadline support would be implemented using a Context value.  Callers would access the deadline with a function in a separate package deadline as deadline.FromContext(context.Context) (time.Time, bool).  This is a more invasive change than the original proposal; it is only justified if we can identify packages that should use Context but cannot depend on "time".

Please write this up as a proposal doc.

Please write a proposal doc. Be sure to mention

the migration problem
tradeoffs for what package Context should go into
a list of what changes would be made in the standard library to use Context

FWIW I don't see any compelling reason to try to eliminate references to package time from the context API. Even if Context were to go into io, it seems okay to me at first glance to make io depend on time.
Thanks.

This got done. Closing.


Write a C++ program to find the smallest two elements in an array

Description
Write a C++ program to find the smallest two elements in an array
Input  : arr[] = {12, 13, 1, 10, 34, 1}
Output : 1 1

Input  : arr[] = {10, 5, 10}
Output : 5 10

How to contribute

Comment !assign to assign this issue to yourself
Fork this repository
Create a new branch
Save the solution in program/program/find-the-smallest-two-elements-in-an-array/FindTheSmallestTwoElementsInAnArray.cpp
Commit the changes
Create a pull request

!assign


docs-bug(cdk/accordion): Accordion example code uses ARIA attributes incorrectly, cannot be operated using keyboard

Documentation Feedback
The example code displayed for the CDK accordion component contains some accessibility issues:

Each entire accordion item is given role="button" -- so when it's open, the accordion body is considered part of the accordion item's name. (This also makes it invalid to put interactive elements inside the accordion.)
The accordion items are focusable, but there's no way to open/close them using the keyboard.

The code should probably look more like the WAI-ARIA accordion example, where the header (not the entire accordion item) is a <button> that gets the aria-expanded and aria-controls attributes. This seems to be how <mat-expansion-panel> works already.
Affected documentation page
https://material.angular.io/cdk/accordion/examples

Hi, everyone. Is anybody working on this issue? I can try to fix it if you don't mind.


Add unit tests for mutable state task refresher

What changed?
Add unit tests for mutable state task refresher

Why?
improve coverage

How did you test it?
unit tests

Potential risks

Release notes

Documentation Changes

Pull Request Test Coverage Report for Build 018f54b1-eea9-4732-b8ae-65a3e24128be
Details

59 of 59 (100.0%)  changed or added relevant lines in 1 file are covered.
52 unchanged lines in 10 files lost coverage.
Overall coverage increased (+0.08%) to 68.269%

Files with Coverage Reduction
New Missed Lines
%

common/task/weighted_round_robin_task_scheduler.go
2
88.06%

service/history/handler/handler.go
2
60.71%

service/matching/taskListManager.go
2
81.16%

common/asyncworkflow/queue/consumer/default_consumer.go
3
92.13%

common/persistence/statsComputer.go
3
96.79%

common/archiver/filestore/historyArchiver.go
4
80.95%

service/frontend/api/handler.go
6
62.14%

service/history/engine/engineimpl/poll_mutable_state.go
9
74.16%

service/frontend/wrappers/metered/metered.go
9
63.18%

service/history/task/transfer_standby_task_executor.go
12
85.8%

Totals

Change from base Build 018f54af-1427-4fbc-bc5d-7b9472685578:
0.08%

Covered Lines:
100281

Relevant Lines:
146892

💛  - Coveralls


S5 fitting with Polychord for nested sampling

Luis Welbanks suggested we try Polychord as a way to speed up simultaneous fitting of multiple wavelength channels. According to him, he's used it to do nested sampling in retrievals before and it works faster than dynesty or emcee. Dropping this note so we don't forget to ask him about this!

I'm using PolyChord for my light curve fitting code outside of Eureka so I can do that!

Awesome! Luis said he's happy to help so you can reach out to him as well if you want any help.

@evamariaa, are you still interested in adding support for Polychord?

I'm not sure if it's worth adding if we're moving towards using JAX? It depends what we want to support in the future. Discuss at Eureka! meeting?


Invariant violation in release mode is hard to debug

Internal: b/292548384
The framework has many asserts that guard against invariant violation when running in debug mode.
If an application is released to the wild, some edge case may violate the invariant and dump a stack trace that provides little clue to the developer about how to identify the violation. For example, accessing size in layout incorrectly may result in a stack trace like
Thread 0 MAIN THREAD_CastError: Null check operator used on a null value
at RenderProxyBoxMixin.performLayout    (box.dart:2023)
at RenderObject.layout    (object.dart:2054)
at RenderBox.layout    (box.dart:2418)
at RenderProxyBoxMixin.performLayout    (proxy_box.dart:122)
at RenderObject.layout    (object.dart:2054)
at RenderBox.layout    (box.dart:2418)
at RenderProxyBoxMixin.performLayout    (proxy_box.dart:122)
at RenderObject.layout    (object.dart:2054)

We currently store debugActivePaint and debugActiveLayout in debug mode, but if we stored something like that in release mode we could print better errors here that might give developers a better clue about where to look when a failure in the wild happens like this.
Developers cannot use the debugDump* methods in release mode in these cases, as they are unavailable/print nothing at all.
One other potentially interesting option is if Dart could somehow provide an "even more expensive" StackTrace.toString that includes the concrete runtime type instead of/in addition to the actual source location - I'm not sure if that's really feasible or not though (@a-siva @rmacnak-google would know).
The main goal here is to help developers act on crash reports from the wild - the above stack is based on an actual crash report for customer: money. They do not know how to further act on this crash because the entire stack is in framework code - they don't even know if the bug is in the framework or in their own app.
@goderbauer @Hixie @jacob314

I think debugOwners could help, but we'd need to make heavy use of WeakRefs to avoid memory regressions

I don't think we could use a weak ref - if the exception gets thrown and we go to read it and it was the last reference and the finalizer ran, we'd be right where we are today. We'd just need to be careful about clearing it out correctly.

These debugging tools are expensive in aggregate. Enabling some specific ones in release builds is certainly a choice we can make, but we need to be really careful about what precedent we set, we need to be really sure that the value is very high, and we need to keep it as simple as possible because these features are going to be very hard to reliably debug and test since all our normal infrastructure for debugging and testing them will be absent. (So for instance, I would try really hard to not involve anything like WeakRefs.)
Things like debugActiveLayout will likely appear to be cheap in benchmarks, but even something that simple is a tax we would be asking everyone to pay for every render object for every layout on every device for every user. (A very real tax, measured in Watts.) Same with debugOwner — this is bytes we would be charging literally everyone who uses a Flutter app all the time.
I would probably lean more towards post-failure diagnostics (e.g. a release mode version of dumping the trees) that costs nothing until a failure has happened. I would also focus more on how to reproduce the problem (e.g. what series of events did the app receive and what state was it in) than diagnosing the problem (this particular widget failed to layout correctly) because if we can reproduce the problem then we can diagnose it in debug mode but if we can't reproduce it then diagnosing it often isn't enough (since we have no way to be confident that the bug is fixed), even assuming it's possible to get good enough diagnostics to pin point the problem (which is unlikely).

One other potentially interesting option is if Dart could somehow provide an "even more expensive" StackTrace.toString that includes the concrete runtime type instead of/in addition to the actual source location - I'm not sure if that's really feasible or not though

Smalltalk always displays the stack in this way, with both the method's defining class and the receiver's class if they are different. For exceptions, Dart would require additional work at throw to record the receiver's class, which is probably small enough. Async traces would also requires some additional bookkeeping; I don't know exactly where that would need to go, but I expect it is about as expensive as an additional field write. The full runtime type including type arguments will cost more than just the receiver class.
#0      RenderProxyBoxMixin.performLayout (.../box.dart:2023)

=>
#0      RenderFlex(RenderProxyBoxMixin).performLayout (.../box.dart:2023)

But changing this may be intractable because although the output of StackTrace.toString is Undefined Behavior, it is often programmatically interpreted. I notice the trace in this very issue is not the output of StackTrace.toString but has been parsed and transformed.
Does having the receiver classes help that much in this example though? I would expect one would really need to get a hold of that top-most performLayout receiver and print a lot more properties starting from there. The Dart VM's compiler maintains a small amount of state like the current compilation phase and current instruction being processed that is the basis for a bunch of diagnostic printing upon a crash. Perhaps the Flutter framework could always track the current render object even when the expensive asserts are disabled so that it has a place to start printing upon a layout exception.

If we made StackTrace introspectable we could avoid having to serialize it when we don't need to and could avoid having to parse the undefined format. :-)

If it's not clear, my suggestion here wasn't to modify toString, but to have some new API.

based on the discussion above seems like we haven't concluded on a path forward, lowering priority to P3


Fixed encoding issues on terminals that do not support unicode characters

Fixes https://github.com/PyTorchLightning/pytorch-lightning/issues/12823

I think this does it. But I cant try the test out on my machine due to some dependency issue.


[1.7.10] Shift-click upgrade on solar neutron activator

I am not sure if this is a bug or not,  I can only shift-click upgrade the solar neutron activator from the base not the top part with the solar panel.

This could just be an issue with the way the game handles objects that are a single entity, but sit within more than one block space. Similar to how the Digital Miner works.
By the way, I'm at a loss to find any information on this "upgrade" for the SNA. I've seen it listed somewhere else as well. Could you elaborate? Is it in a beta update?

see #3487


⚠ Bofrost.be has degraded performance

In 99010d6, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1249 ms

Resolved: Bofrost.be performance has improved in 514250b after 9 minutes.


added recieve promotional emails checkbox

Added checkbox regarding this issue:
https://github.com/lemonstand/lemonstand-2/issues/2744

@tomcornall


enhancements for the exporting output image digest

Changes

use pod termination message to export the image digest instead of logs
add more logs when index.json is not found
create a container to create the default folder for image output digest dir

Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[x] Includes tests (if functionality changed/added)
[x] Includes docs (if user facing)
[x] Commit messages follow commit message best practices

See the contribution guide
for more details.
Release Notes

release-note

/cc @bobcatfish

/test pull-tekton-pipeline-integration-tests

It looks like both this PR and https://github.com/tektoncd/pipeline/pull/936 are suffering the same integration test problem.  I don't fully understand what is going wrong.

It looks like both this PR and #936 are suffering the same integration test problem. I don't fully understand what is going wrong.

I think it's https://github.com/tektoncd/plumbing/issues/29 😅

/test pull-tekton-pipeline-integration-tests

Looks like a real failure now:
I0604 02:05:08.877] {"level":"warn","logger":"controller.taskrun-controller","caller":"taskrun/taskrun.go:204","msg":"Failed to update TaskRun labels/annotations{error 25 0  Operation cannot be fulfilled on taskruns.tekton.dev \"run-giraffe\": the object has been modified; please apply your changes to the latest version and try again}","knative.dev/controller":"taskrun-controller"}
I0604 02:05:08.878] {"level":"error","logger":"controller.taskrun-controller","caller":"controller/controller.go:294","msg":"Reconcile error","knative.dev/controller":"taskrun-controller","error":"Operation cannot be fulfilled on taskruns.tekton.dev \"run-giraffe\": the object has been modified; please apply your changes to the latest version and try again","stacktrace":"github.com/tektoncd/pipeline/vendor/github.com/knative/pkg/controller.(*Impl).handleErr\n\t/go/src/github.com/tektoncd/pipeline/vendor/github.com/knative/pkg/controller/controller.go:294\ngithub.com/tektoncd/pipeline/vendor/github.com/knative/pkg/controller.(*Impl).processNextWorkItem\n\t/go/src/github.com/tektoncd/pipeline/vendor/github.com/knative/pkg/controller/controller.go:280\ngithub.com/tektoncd/pipeline/vendor/github.com/knative/pkg/controller.(*Impl).Run.func1\n\t/go/src/github.com/tektoncd/pipeline/vendor/github.com/knative/pkg/controller/controller.go:231"}
I0604 02:05:08.878] {"level":"info","logger":"controller.taskrun-controller","caller":"controller/controller.go:281","msg":"Reconcile failed. Time taken: 153.861787ms.","knative.dev/controller":"taskrun-controller","knative.dev/key":"arendelle-r92l6/run-giraffe"}

Looks like a real failure now:
I0604 02:05:08.877] {"level":"warn","logger":"controller.taskrun-controller","caller":"taskrun/taskrun.go:204","msg":"Failed to update TaskRun labels/annotations{error 25 0  Operation cannot be fulfilled on taskruns.tekton.dev \"run-giraffe\": the object has been modified; please apply your changes to the latest version and try again}","knative.dev/controller":"taskrun-controller"}
I0604 02:05:08.878] {"level":"error","logger":"controller.taskrun-controller","caller":"controller/controller.go:294","msg":"Reconcile error","knative.dev/controller":"taskrun-controller","error":"Operation cannot be fulfilled on taskruns.tekton.dev \"run-giraffe\": the object has been modified; please apply your changes to the latest version and try again","stacktrace":"github.com/tektoncd/pipeline/vendor/github.com/knative/pkg/controller.(*Impl).handleErr\n\t/go/src/github.com/tektoncd/pipeline/vendor/github.com/knative/pkg/controller/controller.go:294\ngithub.com/tektoncd/pipeline/vendor/github.com/knative/pkg/controller.(*Impl).processNextWorkItem\n\t/go/src/github.com/tektoncd/pipeline/vendor/github.com/knative/pkg/controller/controller.go:280\ngithub.com/tektoncd/pipeline/vendor/github.com/knative/pkg/controller.(*Impl).Run.func1\n\t/go/src/github.com/tektoncd/pipeline/vendor/github.com/knative/pkg/controller/controller.go:231"}
I0604 02:05:08.878] {"level":"info","logger":"controller.taskrun-controller","caller":"controller/controller.go:281","msg":"Reconcile failed. Time taken: 153.861787ms.","knative.dev/controller":"taskrun-controller","knative.dev/key":"arendelle-r92l6/run-giraffe"}

Ah ! I was wondering when this one would show up… We can reproduce this a but with cancelling a pipelinerun too. If the object we got has been updated by the controller between the time we got it and the time we send an update with it (the update could be, a taskrun started, so the status got updated). I wonder why it manifest on this particular test and now, but it is real indeed (unrelated to the PR but real… :sweat: )

@vdemeester I'm confused to what the problem is, is there a real failure with the tests. as far as I can tell the YAML tests passed

/>.>
<.<
/test pull-tekton-pipeline-integration-tests
Even if it's a legit failure it doesn't seem like it's related to this change :thinking: :thinking: :thinking:

@bobcatfish @vdemeester ready for another look (if the tests pass :D )

Nice work, thank you!
The latest kaniko still does not support OCI / index.json, but it has a new flag that let's you write the digest to a file. So you can now do something like this:
    - name: build-and-push
      image: gcr.io/kaniko-project/executor@sha256:c6e1f98d3ee4383078929d7b23f55328f5ae2bfeb234f91da61b2e423f5a58fe
      command:
        - /kaniko/executor
      args:
        - --cache=${inputs.params.useImageCache}
        - --cache-dir=/cache
        - --dockerfile=${inputs.params.pathToDockerFile}
        - --reproducible
        - --destination=${outputs.resources.builtImage.url}:${inputs.params.imageTag}
        - --context=/workspace/workspace/${inputs.params.pathToContext}
        - --digest-file=/workspace/workspace/__digest__
      volumeMounts:
        - name: kaniko-base-image-cache
          mountPath: /cache
    - name: build-index-json
      image: busybox
      command:
      - /bin/sh
      args:
      - -ce
      - |
        set -e
        cat <<EOF > /workspace/workspace/index.json
        {
          "schemaVersion": 2,
          "manifests": [
            {
              "mediaType": "application/vnd.oci.image.index.v1+json",
              "size": 314,
              "digest": "$(cat /workspace/workspace/__digest__)"
            }
          ]
        }
        EOF

@afrittoli thanks for the example, didn't know kaniko had this feature.

I0627 21:12:45.436] pkg/reconciler/v1alpha1/taskrun/resources/pod_test.go:396:5: undefined: nopContainer

hm maybe some merge problems?

had to do a rebase to fix a couple of conflicts in pod_test.go

/lgtm
thanks again @nader-ziada !!! 😻

I0628 23:24:02.691] pkg/reconciler/v1alpha1/taskrun/resources/pod_test.go:511:5: unknown field 'Params' in struct literal of type "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1alpha1".TaskRunOutputs

ugh, sorry this is getting so drawn out @nader-ziada !!
@vdemeester @ImJasonH @dlorenc I'm going to be out tomorrow but if @nader-ziada gets a chance to fix this plz lgtm! (or anyone else in the org really!) 🙏

/check-cla

/check-cla

@bobcatfish the builder/home is a volume mounted on all pods as part of the implicit volumes added by default, check here https://github.com/tektoncd/pipeline/blob/master/pkg/reconciler/v1alpha1/taskrun/resources/pod.go#L70
at least thats my understanding

/test pull-tekton-pipeline-integration-tests


Add thephpleague/event instead of evenement for maintainability

Nice work. Simple change for better maintainability. Extra credit for the BC!


kramdown-rfc version 1.6.17 is not published on rubygems

kramdown-rfc version 1.6.17 is not available on rubygems.org.

Thanks!  Fixed.

@cabo, the latest version 1.6.19 is not published on rubygems yet. https://rubygems.org/gems/kramdown-rfc

Thank you, that is now fixed.
(I got stuck doing 1.6.20 and forgot to push .19.)


Fix notify disassocitaion

Summary
After recover disassociation, usrsock daemon must destroy all sockets.
Add notification to prompt the daemon to do so.
Impact
Only for gs2200m driver
Testing
Check if tcpblaster on spresense:wifi work well and if it received an error when disassociation happened.

@takayoshi-k
I noticed that the stress test with spresense:wifi_smp is unstable.
Let me check what is happening with this PR.

@takayoshi-k
I noticed that the stress test with spresense:wifi_smp is unstable.
Let me check what is happening with this PR.

@takayoshi-k
I did the stress test (nxplayer + telnet) with the first commit only. (i.e. did not apply the apps's PR)
However, it seems unstable.

@takayoshi-k

I did the stress test (nxplayer + telnet) with the first commit only. (i.e. did not apply the apps's PR)
However, it seems unstable (i.e. deadlock).

Regarding the first commit, I think it's a little complicated.
I think we don't need _notif_q_push_wo_enable().
Also, I think we don't need _enable_cid32() but just modify _enable_cid() to support uint32_t *cid_bits.
In this case, we need to modify uint16_t valid_cid_bits, uint16_t aip_cid_bits as well.
What do you think?

@masayuki2009
Thank you for your suggestion.
Yes. It can be just expand 16 bits to 17 (atually 32) bits.
I modified it and force pushed.
Please check it again.

I modified it and force pushed.

@takayoshi-k
Hmm, the deadlock still happens both spresense:wifi_smp and spresenes:wifi (non SMP).
Let me investigate the code later.

@takayoshi-k

Hmm, the deadlock still happens both spresense:wifi_smp and spresenes:wifi (non SMP).
Let me investigate the code later.

I found that the following change works for both spresense:wifi_smp and spresense:wifi.
Actually, it works with the app's PR. However, I'm still not sure why we need such a change.
diff --git a/drivers/wireless/gs2200m.c b/drivers/wireless/gs2200m.c
index 4ec9d5c9d1..fa2b1d6b76 100644
--- a/drivers/wireless/gs2200m.c
+++ b/drivers/wireless/gs2200m.c
@@ -76,7 +76,7 @@

 #define MAX_PKT_LEN  1500
 #define MAX_PAYLOAD  (MAX_PKT_LEN - BULK_CMD_HDR_SIZE_WITH_GUARD)
-#define MAX_NOTIF_Q  17 /* for 16 sockets and disassociation event */
+#define MAX_NOTIF_Q  18 /* for 16 sockets + disassociation event + dummy */

 #define WR_REQ       0x01
 #define RD_REQ       0x02

@masayuki2009
Thank you for your investigation.
I also think it seems strange but I modified the value as your result.
Please check it.


Rename webAppCreator files to match classes

Closing this in favor of https://github.com/Microsoft/vscode-azureappservice/pull/178


Inline popup - youtube video loaded twice

YouTube videos load two times when contained in an inline popup.
The videos load on the initial page load, and then load again when the popup is shown.
This is a performance hit and it also breaks our video tracking via Google Tag Manager for video play events.
Is this double load of videos expected behavior and is there a way to stop videos from being loaded twice?

I am wondering the same...


Update google-cloud-trace to 2.29.0

About this PR
📦 Updates com.google.cloud:google-cloud-trace from 2.3.7 to 2.29.0
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.google.cloud", artifactId = "google-cloud-trace" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.google.cloud", artifactId = "google-cloud-trace" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #327.