Using tcgaCompare() to plot mutation load between two cohorts

Hi Anand,
Thank you for the tool! Would it be possible to generate a mutation load plot comparing two cohorts (rather than comparing one cohort to the 33 TCGA cohorts using tcgaCompare())?

Hi,
tcgaCompare can take multiple MAF objects and plot the TMB against all tcga cohorts. You can restrict the comparison against desired TCGA cohorts with the argument tcga_cohorts. However, you would need at least one tcga cohort to compare against :|


[ENH] Clarify MEG empty room text, add links to examples

Edit: Removed boilerplate.

This is fine. I'm not 100% in favor of including spec language likes SHOULDs and MUSTs in examples, but it doesn't change the meaning of the spec, so if this helps people find the information they need, fine.


Using with Webpack

I'm trying to use the plugin with Webpack, but i get:
jquery.js?eedf:3827 Uncaught TypeError: tabs.responsiveTabs is not a function
Any ideas?
import $ from 'jquery'
import 'responsive-tabs'

export const initTabs = () => {
  const tabs = $('[data-js="tabs"]')

  tabs.responsiveTabs({
    startCollapsed: 'accordion'
  })
}

same here. Any Idea?

Can anyone resolve this problem?

Can the responsiveTabs function be exported as a node module.export?


update mouse usage

As I mention in email, I think NGL docs should add a section about mouse usage (e.g from http://nglviewer.org/ngl/): mouse + trackpad

done, see 78ed204336e0b98fa4c5f0775f86dcbc335ca0b7

thanks.

I think still missing

translate
pickling: How can I do that on mac trackpad?

pan is translate, clarified that, also added zoom on clickPick-shift-left, see a631b3e62342e05bfc2c75c19173641bcc4cdd04


Undefined "exports" when nothing is exported

I'm going to be brave and revive the perennial and duplicated ReferenceError: exports is not defined issue. I have read the duplicate issues and seen no solution.
TLDR: TypeScript compiles .js files which contain an extraneous reference to exports which breaks apps.
Example:
app.ts
import {sayHello} from "./func";
sayHello("you")

func.ts
export function sayHello(name){console.log("Hello " + name)}

app.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tmp_1 = require("./func");
tmp_1.sayHello("you");

Line 2 of app.js is rejected by platforms like electron which don't know "exports".
I think the impasse is:

The electron guys say: Typescript should use modules.exports which we do support.
The typescript guys say: Electron should support exports

Workaround: Manually change the references (be the post-compiler) from Object.defineProperty(exports, "__esModule", { value: true }); to Object.defineProperty(module.exports, "__esModule", { value: true });
Would be nice if tsc would play nice with electron: as things stand I see no way of using tsc with electron without manually post-compiling the JS.
Electron v4.0.6 (Windows) with node v10.11.0
TSC Version 3.4.1

Also, just removing the apparently* unneccessary line solves the issue:
Object.defineProperty(exports, "__esModule", { value: true });

~* Yes, we have "module": "commonjs", but that doesn't mean every file is a module exporting something (app.js above definitely isn't).

I'm running this in the sample electron app on both the client and server pieces with no problems.
Maybe some repro steps would be useful

OK, to reproduce you include your primary/app script as a script tag in the html of the electron app. In this context "exports" is undefined and the code above breaks. This is admittedly atypical behaviour but it's done for apps which need to run in the browser AND in electron. Or, put another way, my app was working perfectly until I switched to typescript and got this extraneous code.
You could pull https://github.com/cawoodm/powowshell and notice it works perfectly in electron and the browser: that's because I've commented out line 2 in pipeline-manager.js. If you uncomment it, electron and the browser break.
I feel that tsc is adding code I don't want or need and making me choose between typescript OR some transpiler which accepts ES6.

The CommonJS spec says that a variable named exports exists and that's the module system you told TypeScript you were using. You can't take a file you said is built for a CommonJS environment and run it in a non-CJS-compliant environment - it might work by accident, but TS can't guarantee anything there.

I feel that tsc is adding code I don't want or need

The __esmodule marker is required for spec compliance when the file is imported by an ES6 loader.
I've seen some workarounds where people put a dummy var exports in an app-wide script tag. You can also use export =  in your modules, which will make them not-possibly-ES6-compliant and make the __esmodule helper code go away

Ja, I've gone for the var exports hack for the moment and will probably end up dropping support for the browser or diving into webpack.
Thanks so far.


Use music-metadata to extract audio tags.

What great app you wrote, very nice look and feel.
I made some small changes, I hope you like them.

Use music-metadata to extract audio tags.
Avoid parallel parsing of audio files.
Add additional file types.
Remove special treatment for .wav files.

@MD-AZMAL ping...

sorry i got a bit busy .... make the pr in the prototype branch rather than master


mqtt messages

David, hello!
Thank you for your project and for answering our questions quickly. But you can add a few more things:

messages error output in mqtt, for example, in config.yml the parameters are incorrect, or detectors are not specified;
you can made button "reset" in web-ui double-take.
Now all this can be done only through docker/portainer which is very inconvenient.

Hey @Sborkahome, thanks for your suggestions, these are great!

Would you like any error messages published to a MQTT topic? Did you have any preferences on the name or format or just something simple like double-take/errors?
Are you hoping to just restart the API form the UI? There currently is a localhost:PORT/#/config route, when you save changes here the API does restart, but I can move that functionality to other pages too.

May be create double-take/errors = "description of the error", for example, <<syntax error, line 10>> or <>.
Yes, button "reset" in ui this cool!

Hey @Sborkahome, finally got around to implementing this.
Any errors from the API will be published to double-take/errors. Here's a sample of what one may look like.
Let me know if this will work.
{
  "stack": "Error: compreface process error: Required part file is missing\n    at Object.module.exports.normalize (/double-take/api/src/util/detectors/compreface.js:71:11)\n    at module.exports.normalize (/double-take/api/src/util/detectors/actions/index.js:7:74)\n    at Object.module.exports.process (/double-take/api/src/util/process.util.js:93:33)\n    at processTicksAndRejections (internal/process/task_queues.js:95:5)\n    at async Promise.all (index 0)\n    at async Object.module.exports.polling (/double-take/api/src/util/process.util.js:37:23)\n    at async Promise.all (index 0)\n    at async module.exports.start (/double-take/api/src/controllers/recognize.controller.js:139:70)",
  "message": "compreface process error: Required part file is missing"
}

this topic about mqtt is general FR,
so i would like to get the matched image with mqtt, like frigate itself does on snapshots.
may you/i make it a FR ?

Hey @ozett,
I pushed a new beta build with support for this feature. A base64 encoded string will be returned from the API and published to the MQTT topics. Let me know if this will solve your issue 🍻
The available options are true, false, or box.
true - source image
false - disabled
box - source image with bounding boxes of results
save:
  base64: 'box'

thanks for putting this in that fast. Great! And Great work at all. 💐
i pull the only "beta" called beta and now have this config:
save:
  matches: true
  unknown: true
  base64: 'box'

is there a subtopic for the image?  like  double-take/matches/image ?
i have this configuration:
mqtt:
  host: <IP_ADDRESS>
  topics:
    matches: double-take/matches
    frigate: /frigate5/events

got one:

Awesome! Does it seem to be working for you? I figured it would be easier to have the base64 image on the same message rather than a separate one.

what a pity, i worked only this one time i showed above.
but the gui showed more matches. nothing came over mqtt.
i was to restart double-take, but may that is a bug?
i subscribed with mosquito on cli and got again the first and only message
mosquitto_sub -v -t /double-take/#
/double-take/matches/misterX {"id":"1631006825.831465-jn1rlo","duration":10.31,"timestamp":"2021-09-07T09:27:16.580Z","
...

what about the red-matches. should they also come over mqtt as they apear on the gui?
even the green one was not send.

Is that command right? That didn't work for me, but this showed MQTT messages coming in.
mosquitto_sub -v -t 'double-take/#'

my mqtt-topics are set to start with "/".... you have to adjust yours...

Littel Info how to subscribe to all topics

there is a debug filter for mqtt-messages from double-take.
not all matches are coming in with mqtt.
seems that some matches are missing.
How do i debug this more? may you check the code?

FR: absolute time/date written right behind the past time since match maybe helpful

maybe mqtt can send every time? even "false-"matches?
i could than filter at the receiver in node-red if i want them..

this are the flow-nodes:

[{"id":"ad8ddf2b.79d33","type":"mqtt in","z":"2d5205a0.26601a","name":"","topic":"/double-take/#","qos":"2","datatype":"auto","broker":"9b50c12.74a3a4","x":710,"y":900,"wires":[["87f6d4aa.1261e8"]]},{"id":"f7ab8316.5c808","type":"debug","z":"2d5205a0.26601a","name":"dt-mqtt-matches","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1040,"y":900,"wires":[]},{"id":"87f6d4aa.1261e8","type":"json","z":"2d5205a0.26601a","name":"","property":"payload","action":"","pretty":false,"x":870,"y":900,"wires":[["f7ab8316.5c808","3fe2df70.4cf46"]]},{"id":"3fe2df70.4cf46","type":"image","z":"2d5205a0.26601a","name":"","width":"320","data":"payload.match.base64","dataType":"msg","thumbnail":false,"active":true,"pass":false,"outputs":0,"x":800,"y":960,"wires":[]},{"id":"9b50c12.74a3a4","type":"mqtt-broker","name":"<IP_ADDRESS>-hik","broker":"<IP_ADDRESS>","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

💚   sending image with mqtt in node red:
http://<IP_ADDRESS>:3000/api/recognize?url=https://jakowenko.com/img/david.92f395c6.jpg

🟥   no image with mqtt in node-red . no data at all
( but at the same time it shows perfect in browser on the match-tab as a failed-match!!)
http://<IP_ADDRESS>:3000/api/recognize?url=https://avatars.githubusercontent.com/u/569905?v=4

Thanks for the detailed info, MQTT should be sent messages for every match/miss. I haven't experienced the inconsistencies you are talking about, but I will look more at that code tonight and try to get my setup similar to yours to compare. I'll report back what I find.

after some fiddling i have a working flow
to get matching images via mqtt to node-red ->
and to send me telegramm-faces

Thanks for the detailed info, MQTT should be sent messages for every match/miss.

at the moment i trigger on base64-image in the mqtt-flow. (assuming that there is always an image )
maybe for misses thats missing. i did not check this detail yet.

@ozett Don't mean to hijack this conversating and I know this is bug reporting not a forum, but any chance you can share the flow above. I am getting base64 images in all messages but when saving to disk the images are corrupt.

@ozett Don't mean to hijack this conversating and I know this is bug reporting not a forum, but any chance you can share the flow above. I am getting base64 images in all messages but when saving to disk the images are corrupt.

me, too. took me some hours to get a working flow. i prepare shraring here. stay tuned

took me some time and kindly little help from telegram-node maintainer until the flow did not save the image, but sends from buffer. see that in the function-node.

CLICK ME

[{"id":"7ebfb70b.c4dab8","type":"mqtt in","z":"3701c362.4ce7dc","name":"","topic":"/double-take/#","qos":"2","datatype":"auto","broker":"9b50c12.74a3a4","x":190,"y":780,"wires":[["d64b9790.47c938"]]},{"id":"d64b9790.47c938","type":"json","z":"3701c362.4ce7dc","name":"","property":"payload","action":"","pretty":false,"x":350,"y":780,"wires":[["51776b0e.1d0494"]]},{"id":"4b3423f9.64fa4c","type":"telegram sender","z":"3701c362.4ce7dc","name":"send","bot":"","haserroroutput":false,"outputs":1,"x":1270,"y":780,"wires":[["65cbc159.f2379"]]},{"id":"65cbc159.f2379","type":"debug","z":"3701c362.4ce7dc","name":"tlgr.send.photo","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1440,"y":780,"wires":[]},{"id":"6f6f00ec.a7e07","type":"base64","z":"3701c362.4ce7dc","name":"","action":"","property":"payload","x":860,"y":780,"wires":[["f41350b2.a332a"]]},{"id":"7d1083a6.6f75cc","type":"change","z":"3701c362.4ce7dc","name":"img2payload","rules":[{"t":"move","p":"payload.match.base64","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":780,"wires":[["6f6f00ec.a7e07"]]},{"id":"51776b0e.1d0494","type":"change","z":"3701c362.4ce7dc","name":"save name,conf","rules":[{"t":"move","p":"payload.match.name","pt":"msg","to":"name","tot":"msg"},{"t":"move","p":"payload.match.confidence","pt":"msg","to":"confidence","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":520,"y":780,"wires":[["7d1083a6.6f75cc"]]},{"id":"f41350b2.a332a","type":"function","z":"3701c362.4ce7dc","name":"send picture as buffer","func":"var pl = {\n  content: msg.payload,\n  message: `Message has the AI picture from face-rec`,\n  type : 'photo',\n  chatId: \"-431012345\",\n  caption1: \"caption\",\n  caption: \"AI gesichtet: \"  + msg.name + \" (\" + msg.confidence + \"% )\",\n  options: {\"disable_notification\": true}\n}\n\nmsg.payload = pl;\n\n\n/* type can be one of the following\nphoto\naudio\nvideo\nsticker\nvoice\ndocument\n*/\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1060,"y":780,"wires":[["4b3423f9.64fa4c"]]},{"id":"9b50c12.74a3a4","type":"mqtt-broker","name":"<IP_ADDRESS>-hik","broker":"<IP_ADDRESS>","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

Closing since this is now included in the 1.0.0 release.


Outlook / o365 Error

Previously we had the outlook and o365 phishlets working properly, however we came back after a week or so and encountered the following issues:

For outlook, once we get to the Microsoft login page and attempt to sign-in we get an immediate error: "There was an issue looking up your account. Tap Next to try again."
For o365, the error screen attached appears on the next page. "We're unable to complete your request."

We made no changes from when we had it working previously. Any help would be appreciated.

I am having the same issue.

I have this same issue

Phishlets require constant updates. If you figure it out, please submit a PR.

I will see what I can do.

Also @JamesCullum do you have any ideas or time to chat?

@thehappydinoa At what step do you receive this error?
Do you have a phishlet URL to try it out?

@JamesCullum can I DM you the url?

@thehappydinoa Send me the URL via email to<EMAIL_ADDRESS>- if needed we can use that for all other communications.

@kgretzky So my two test accounts still work fine. @thehappydinoa had the issue that he entered non-existant email accounts, which will create errors on O365 anyways, as the associated company configuration can't be retrieved.
Unless anyone has a working lure and demo username/password, it is impossible for me to debug this.
@rundmc99 Can you check if your issue is similar to the one from @thehappydinoa ? If not, could you provide me with the needed details?

Ah, so my issue was testing with an Outlook email rather than an Office 365 email. Apologies for any confusion.

@rundmc99 I think this issue has been solved.

Work fine with ADFS, but i'v warn when i identify to idp, "cannot handshake client domain.com remote error: tls: unknow certificate"
anyone have got this ?

How did you guys solved this?
I am getting this same error in o365
and this other https://github.com/kgretzky/evilginx2/issues/248 in outlook
@thehappydinoa


Add couple more coap message traces

Added message code, type and url traces just to get some more info.

@yogpan01 @anttiylitokola @TeroJaasko

+1

rebuild

rebuild

rebuild

rebuild

rebuild

rebuild

This looks a change done to solve some debugging problem and could be merged after rebasing.

Merging this PR as the build compiles and runs fine, there are some CI side issue causing some failures in testcase run.

Rebased this branch with current master, resolved the merge conflict and force pushed.


Deterministic on-chain scripts

This ZenHub epic is to track that we apply the changes from https://github.com/input-output-hk/plutus/pull/497 everywhere else (spec, PLC builtins etc).
@j-mueller Can you please keep on eye on that this eventually happens.

Pretty sure we did this.


Realtime Face Detection using CNN and OpenCV

A deep learning model that utilises OpenCV to detect faces in real-time. The project leverages the power of deep learning techniques to accurately identify and localize faces. It would showcase both classification and regression in the detection of faces and the bounded box problem to give the coordinates of the faces, respectively.
project showcases a good knowledge of deep learning, Convolutional Neural Networks, OpenCV, data augmentation, and fine tuning. I have experience in training CNNs and would like to be assigned this issue under GSSoC'24.
@Niketkumardheeryan

hey,
could you please assign me this issue

Hey I have good idea about this, could you assign me

The issue has been assigned to you , Please follow project guidelines for PR.

Hey I have good idea about this, could you assign me

Issue will be assigned based on FCFS , if you have can improve it better than create a new Issue,

can you assign me the issue


Allow passing empty strings as delimiters

What would be the benefit of this change? I don't see how an empty string could ever be a valid delimiter.


⚠ Bofrost.be has degraded performance

In 134bd28, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1080 ms

Resolved: Bofrost.be performance has improved in 09fa2a3 after 6 minutes.


fix check TOO_MANY_SEGMENTS only at build rowset

Proposed changes
Previously we were checking TOO_MANY_SEGMENTS on each segment writer creation.
Users might get false positives if write is too fast and segment compaction cannot keep up.
In this PR, I propose to delay this check until build rowset.
Thus allowing number of segment to temporary exceed limit.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.16 seconds
stream load tsv:          511 seconds loaded<PHONE_NUMBER>9 Bytes, about 139 MB/s
stream load json:         21 seconds loaded<PHONE_NUMBER> Bytes, about 107 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          38 seconds loaded 861443392 Bytes, about 21 MB/s
insert into select:          29.8 seconds inserted 10000000 Rows, about 335K ops/s
storage size:<PHONE_NUMBER>7 Bytes


feat: add access control list to DRP

closes: #282 , closes #289

also the name of the folder should be ACL


Fix Kafka Connect typo for Strimzi for Community Operators

This PR changes a small typo in CSV files changing "Kafka Cannect" to "Kafka Connect"

Flat operator directory structure is obsolete from 23-rd of October 2019, only nested directory structure will be accepted.

New Submissions

[x] Does your operator have nested directory structure?
[ ] Have you selected the Project Community Operator Submissions in your PR on the right-hand menu bar?
[x] Are you familiar with our contribution guidelines?
[ ] Have you packaged and deployed your Operator for Operator Framework?

[x] Is your submission signed?

Updates to existing Operators

[x] Is your new CSV pointing to the previous version with the replaces property?
[x] Is your new CSV referenced in the appropriate channel defined in the package.yaml ?
[x] Have you tested an update to your Operator when deployed via OLM?
[x] Is your submission signed?

Your submission should not

[x] Modify more than one operator
[x] Modify an Operator you don't own
[x] Rename an operator - please remove and add with a different name instead
[x] Submit operators to both upstream-community-operators and community-operators at once
[x] Modify any files outside the above mentioned folders
[x] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[x] Description about the managed Application and where to find more information
[x] Features and capabilities of your Operator and how to use it
[x] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[x] Human readable name and 1-liner description about your Operator
[x] Valid category name1
[x] One of the pre-defined capability levels2
[x] Links to the maintainer, source code and documentation
[x] Example templates for all Custom Resource Definitions intended to be used
[x] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

Holding until https://github.com/operator-framework/community-operators/pull/2088 is merged


Compilation failed on Antergos Linux

Here's a make log: log.txt

Can you try compiling with the develop branch? I'm pretty sure this is fixed there.


x/tools/cmd/goimports: import grouping depends on which imports were already there

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
Go 1.8
What operating system and processor architecture are you using (go env)?
linux/amd64
What did you do?
This is on the latest version of goimports (golang/tools@8e779ee0a4509783f6940db32d1a4e8df910cc8b).
Consider this test program:
package main

import (
	"time"
)

func main() {
	_ = snappy.Encode
	_ = unix.Mmap
	_ = time.Parse
}

It's missing two imports. If we run goimports -w fmt.go, we'll get
package main

import (
	"time"

	"github.com/golang/snappy"
	"golang.org/x/sys/unix"
)

func main() {
	_ = snappy.Encode
	_ = unix.Mmap
	_ = time.Parse
}

This is what I expect. However, if we delete the unix import:
package main

import (
	"time"

	"github.com/golang/snappy"
)

func main() {
	_ = snappy.Encode
	_ = unix.Mmap
	_ = time.Parse
}

and then run goimports again, we get this grouping:
package main

import (
	"time"

	"golang.org/x/sys/unix"

	"github.com/golang/snappy"
)

func main() {
	_ = snappy.Encode
	_ = unix.Mmap
	_ = time.Parse
}

In this second case, I'd expect the file to be the same as the first case instead of introducing a new grouping.
/cc @bradfitz

I don't have time to work on this myself.

/cc @haya14busa, who did some recent goimports work, in case they'd like to look into it.

Thank you for cc. I think I can work on it.

I explained what was the problem and how I fixed it in cl/37552, but the fix is a bit heuristic... It works better for most cases though.
cl/37552 works good as far as I know and the change is small, but I welcome better solution if you find more elegant solution.


dividerSize only affect horizontal splitterbar

Setting the dividerSize has no effect on the vertical splitterbar. Is a fix coming?

+1 on this, also experiencing this issue.

Do not see such behavior on version 1.4.2. dividerSize sets a right size for the vertical splitterbar.

<div ui-layout="{flow : 'column', dividerSize : 50}">
Nevermind! I didn't see that the ui-layout options is an array. I had it set as a separate item.


Make /var/lib/postfix world-readable

It not affect queue stuff in /var/lib/postix/queue, but allow
sendmail wrapper to read /var/lib/postix/conf, fixing
sendmail: fatal: open /etc/postfix/main.cf: Permission denied
(/etc/postfix is symlink to /var/lib/postix/conf)

I cannot reproduce this problem. My sendmail works just fine:
$ sendmail<EMAIL_ADDRESS><<EOF
> From<EMAIL_ADDRESS>(Peter Simons)
> To<EMAIL_ADDRESS>> Subject: test mail
>
> Hi!
> EOF

No error -- and the e-mail arrives OK.
$ ls -l $(type -p sendmail)
-r-x--s--x 1 nobody postdrop 12576 Jan 18 18:20 /var/setuid-wrappers/sendmail

On Mon, Jan 18, 2016 at 01:27:20PM -0800, Peter Simons wrote:

I cannot reproduce this problem. My sendmail works just fine:
$ sendmail<EMAIL_ADDRESS><<EOF
> From<EMAIL_ADDRESS>(Peter Simons)
> To<EMAIL_ADDRESS>> Subject: test mail
>
> Hi!
> EOF

No error -- and the e-mail arrives OK.

What permissions you have on /var/lib/postfix?
I can check it on clean machine in next few hours.

$ ls -ld /var/lib/postfix
drwx------ 2 postfix root 4096 Apr 23  2015 /var/lib/postfix

Does upstream suggest any particular permissions for /var/lib/postfix? What are the security implications of making this world-readable?

On Tue, Jan 19, 2016 at 03:26:33AM -0800, Eelco Dolstra wrote:

Does upstream suggest any particular permissions for /var/lib/postfix? What are the security implications of making this world-readable?

I checking upstream sources  now.
Also I think I can improve my patch, forcing 0700 on all
directories in /var/lib/postfix/queue, except maildrop/ and
public/ which are 0770.
Also if 0755 on toplevel is suspicious, it can be 0750 and
root:postdrop

Pay attention to postfix-script in /libexec -- it checks most permissions and reports errors. It took me quite some time to make it run warning-free. 0750 and root:postdrop would be nice -- it's strange it worked for me with sudo -u nobody sendmail, but 0700 sounds incorrect indeed .

On Tue, Jan 19, 2016 at 04:26:00AM -0800, Nikolay Amiantov wrote:

Pay attention to postfix-script in /libexec -- it checks
most permissions and reports errors. It took me quite some
time to make it run warning-free. 0750 and root:postdrop
would be nice -- it's strange it worked for me with
sudo -u nobody sendmail, but 0700 sounds incorrect indeed .

[avn@bulldozer:pts/1]~/nixos/nixpkgs% sudo /nix/store/vkqzf05x54fdic6wmwlx1hsc3f8ahiv1-postfix-3.0.3/libexec/postfix/postfix-script check                                     ~/nixos/nixpkgs
This script must be run by the postfix command.
Do not run directly.
[avn@bulldozer:pts/1]~/nixos/nixpkgs% sudo postfix check                                                                                ~/nixos/nixpkgs
[avn@bulldozer:pts/1]~/nixos/nixpkgs%

[avn@bulldozer:pts/1]~/nixos/nixpkgs% sudo postfix set-permissions                                                                                ~/nixos/nixpkgs
chown: changing ownership of '/nix/store/vkqzf05x54fdic6wmwlx1hsc3f8ahiv1-postfix-3.0.3/libexec/postfix': Read-only file syste

It have own set-permissions command, but is broken on nixos.
May be will be good idea to kick all unneeded stuff from code
which do set-permissions, and call it on activation.

On Tue, Jan 19, 2016 at 04:26:00AM -0800, Nikolay Amiantov wrote:
https://github.com/vdukhovni/postfix/blob/master/postfix/conf/postfix-files
List of permissions from distributive.
(I am not sure if this tree is official, but it looks up to date)

Well, look deeper into posfix's post-install script and postfix-files list, and decide to delegate this work to  postfix set-permissions as planned by postfix authors.

@peti @edolstra  I am redone this patch, using own postfix script to populate queue directories.
Toplevel  /var/lib/postfix is root:root 0755 now, and contain only directories within.

Very nice, thanks! I like this much better than my manual permission fixes.

One more thing that comes to mind -- I don't see any way by which Postfix would know to use our postdrop group. What permissions and owning group do /var/lib/postfix/queue/{public,maildrop} have in the end?

On Wed, Jan 20, 2016 at 05:08:20AM -0800, Nikolay Amiantov wrote:

One more thing that comes to mind -- I don't see any way
by which Postfix would know to use our postdrop group.
What permissions and owning group do
/var/lib/postfix/queue/{public,maildrop} have in the end?

It have in the end following results:
[avn@bulldozer:pts/1]~/nixos/nixpkgs% ls -la /var/lib/postfix/queue                                                                                ~/nixos/nixpkgs
total 0
0 drwxr-xr-x 1 root    postdrop 166 Jun  1  2015 ./
0 drwxr-xr-x 1 root    root      26 Jan 20 14:51 ../
0 drwx------ 1 postfix postdrop   0 Jan 20 14:56 active/
0 drwx------ 1 postfix postdrop   0 Jun  1  2015 bounce/
0 drwx------ 1 postfix postdrop   0 Jun  1  2015 corrupt/
0 drwx------ 1 postfix postdrop  32 Nov  2 00:58 defer/
0 drwx------ 1 postfix postdrop  32 Nov  2 00:58 deferred/
0 drwx------ 1 postfix postdrop  60 Oct 17 22:04 flush/
0 drwx------ 1 postfix postdrop   0 Jun  1  2015 hold/
0 drwx------ 1 postfix postdrop   0 Jan 20 14:56 incoming/
0 drwx-wx--- 1 postfix postdrop   0 Jan 20 14:56 maildrop/
0 drwxr-xr-x 1 root    postdrop 160 Jan 20 14:51 pid/
0 drwx------ 1 postfix postdrop 212 Jan 20 14:51 private/
0 drwx--x--- 1 postfix postdrop  54 Jan 20 14:51 public/
0 drwx------ 1 postfix postdrop   0 Jun  1  2015 saved/
0 drwx------ 1 postfix postdrop   0 Jun  1  2015 trace/

post-install have inside code like:
group=$(postconf -h setsid_group)

so it know group from our configs

Oh, right, I'm sorry -- I have overlooked setsid_group in our configuration. Thanks you again!

Also I see funny path in my build:  /nix/store/321dr52b3v90lfrbi5qxrq30z069k1rf-postfix-3.0.3/etc/etc/postfix/TLS_LICENSE
But at the momend I am IDK how to fix it

Fixed in https://github.com/NixOS/nixpkgs/commit/dd09d2357c733c1591ba22a5fc610cb729aef6c8

Good, then I branched before you fix it.

I did it just a few minutes ago ~_^.

@abbradar should we summon someone to review this stuff?

I'll test this locally at the weekend and merge, if there wouldn't be any objects from others.

@abbradar thank you.
Are you hanging on #nixos irc channel? It can be easy to conversation there

Also I possible to rebase this stuff to current master today or tomorrow, w/o any other changes to this topic branch.

Sometimes -- I'll be sure to pop in at the weekend.
Rebase wouldn't be necessary, as there is no conflicts.

Sure, just  want do traditional weekend rebuild of my system, before I continue working on integrate rmilter/rspamd

(offtop) you might also be interested in my dspam module, recently merged: https://github.com/NixOS/nixpkgs/pull/12285

On Thu, Jan 21, 2016 at 09:04:30AM -0800, Nikolay Amiantov wrote:

(offtop) you might also be interested in my dspam module,
recently merged: https://github.com/NixOS/nixpkgs/pull/12285

I looked on it, as well as on spamasassin module, but
I personally know rspamd author, and want to add this stuff
to nixos.

Of course -- more choice is always nice. Thank you for your work!

Verified on a machine running current NixOS master. Thank you very much for your efforts, guys!


vendor: remove k8s-code-generator dependency from the developer requi…

…rements
Since dep allows to add dependencies for generators without importing
them in the project we can stop requiring the developers to install the
k8s-code-generator dependency locally.
Signed-off-by: André Martins<EMAIL_ADDRESS>Fixes: #2959

This change is

test-me-please

test-me-please


Need help about mipnerf ablation for kitti

I use this method for kitti dataset.
It turns out that:
NeRF: no forground objects
_target=NeRFModel,
num_coarse_samples=32,
num_importance_samples=64,

MipNeRF: error
_target=MipNerfModel,
num_coarse_samples=48,
num_importance_samples=96,

How to solve this?
Here is my method:
KITTI_Mars_Depth_class_wise_NVS = MethodSpecification(
    config=TrainerConfig(
        method_name="mars-kitti-depth-class-wise-nvs",
        steps_per_eval_image=STEPS_PER_EVAL_IMAGE,
        steps_per_eval_all_images=STEPS_PER_EVAL_ALL_IMAGES,
        steps_per_save=STEPS_PER_SAVE,
        max_num_iterations=MAX_NUM_ITERATIONS,
        save_only_latest_checkpoint=True,
        mixed_precision=False,
        use_grad_scaler=True,
        log_gradients=True,
        pipeline=MarsPipelineConfig(
            datamanager=MarsDataManagerConfig(
                dataparser=MarsKittiDataParserConfig(
                    use_car_latents=True,
                    use_depth=True,
                    car_object_latents_path=Path(
                       "/root/autodl-tmp/light/mars/kitti/MOT/training/latent/latent_codes06.pt"
                    ),
                    split_setting="nvs-75",
                    car_nerf_state_dict_path=Path("/root/autodl-tmp/light/mars/kitti/MOT/training/latent/epoch_670.ckpt"),
                    scale_factor=0.1,
                ),
                train_num_rays_per_batch=4096,
                eval_num_rays_per_batch=4096,
                camera_optimizer=CameraOptimizerConfig(mode="off"),
            ),
            model=SceneGraphModelConfig(
                background_model=NerfactoModelConfig(),
                object_model_template=VanillaModelConfig(
                    _target=MipNerfModel,
                    num_coarse_samples=48,
                    num_importance_samples=96,
                    # _target=NeRFModel,
                    # num_coarse_samples=32,
                    # num_importance_samples=64,
                ),
                object_representation="class-wise", # class-wise
                object_ray_sample_strategy="remove-bg",
                mono_depth_loss_mult=0.01,
                depth_loss_mult=0,
            ),
        ),
        optimizers={
            "background_model": {
                "optimizer": RAdamOptimizerConfig(lr=1e-3, eps=1e-15),
                "scheduler": ExponentialDecaySchedulerConfig(lr_final=1e-5, max_steps=200000),
            },
            "learnable_global": {
                "optimizer": RAdamOptimizerConfig(lr=1e-3, eps=1e-15),
                "scheduler": ExponentialDecaySchedulerConfig(lr_final=1e-5, max_steps=200000),
            },
            "object_model": {
                "optimizer": RAdamOptimizerConfig(lr=5e-3, eps=1e-15),
                "scheduler": ExponentialDecaySchedulerConfig(lr_final=1e-5, max_steps=200000),
            },
        },
        # viewer=ViewerConfig(num_rays_per_chunk=1 << 15),
        vis="wandb",
    ),
    description="Neural Scene Graph implementation with vanilla-NeRF model for backgruond and object models.",
)

Here is addition information:
when i use "class-wise" for NerfactoModelConfig
It turns out that all object has the same apperance:

My method:
KITTI_Mars_Depth_class_wise_NVS = MethodSpecification(
    config=TrainerConfig(
        method_name="mars-kitti-depth-class-wise-nvs",
        steps_per_eval_image=STEPS_PER_EVAL_IMAGE,
        steps_per_eval_all_images=STEPS_PER_EVAL_ALL_IMAGES,
        steps_per_save=STEPS_PER_SAVE,
        max_num_iterations=MAX_NUM_ITERATIONS,
        save_only_latest_checkpoint=True,
        mixed_precision=False,
        use_grad_scaler=True,
        log_gradients=True,
        pipeline=MarsPipelineConfig(
            datamanager=MarsDataManagerConfig(
                dataparser=MarsKittiDataParserConfig(
                    use_car_latents=True,
                    use_depth=True,
                    car_object_latents_path=Path(
                        "/root/autodl-tmp/light/mars/kitti/MOT/training/latent/latent_codes06.pt"
                    ),
                    split_setting="nvs-75",
                    car_nerf_state_dict_path=Path("/root/autodl-tmp/light/mars/kitti/MOT/training/latent/epoch_670.ckpt"),
                    scale_factor=0.1,
                ),
                train_num_rays_per_batch=4096,
                eval_num_rays_per_batch=4096,
                camera_optimizer=CameraOptimizerConfig(mode="off"),
            ),
            model=SceneGraphModelConfig(
                background_model=NerfactoModelConfig(),
                object_model_template=NerfactoModelConfig(),
                object_representation="class-wise", # class-wise
                object_ray_sample_strategy="remove-bg",
                mono_depth_loss_mult=0.01,
                depth_loss_mult=0,
            ),
        ),
        optimizers={
            "background_model": {
                "optimizer": RAdamOptimizerConfig(lr=1e-3, eps=1e-15),
                "scheduler": ExponentialDecaySchedulerConfig(lr_final=1e-5, max_steps=200000),
            },
            "learnable_global": {
                "optimizer": RAdamOptimizerConfig(lr=1e-3, eps=1e-15),
                "scheduler": ExponentialDecaySchedulerConfig(lr_final=1e-5, max_steps=200000),
            },
            "object_model": {
                "optimizer": RAdamOptimizerConfig(lr=5e-3, eps=1e-15),
                "scheduler": ExponentialDecaySchedulerConfig(lr_final=1e-5, max_steps=200000),
            },
        },
        # viewer=ViewerConfig(num_rays_per_chunk=1 << 15),
        vis="wandb",
    ),
    description="Neural Scene Graph implementation with vanilla-NeRF model for backgruond and object models.",
)

I fixed the error about NeRFModel (Caused by myself)
But they are still in same apperance.

pipeline=MarsPipelineConfig(
            datamanager=MarsDataManagerConfig(
                dataparser=MarsKittiDataParserConfig(
                    use_car_latents=True,
                    use_depth=True,
                    car_object_latents_path=Path(
                        "/root/light/mars/dataset/kitti/MOT/training/latent/latent_codes06.pt"
                    ),
                    split_setting="nvs-75",
                    car_nerf_state_dict_path=Path("/root/light/mars/dataset/kitti/MOT/training/latent/epoch_670.ckpt"),
                    scale_factor=0.1,
                ),
                train_num_rays_per_batch=4096,
                eval_num_rays_per_batch=4096,
                camera_optimizer=CameraOptimizerConfig(mode="off"),
            ),
            model=SceneGraphModelConfig(
                background_model=NerfactoModelConfig(),
                # object_model_template=NerfactoModelConfig(),
                object_model_template=VanillaModelConfig(
                    _target=NeRFModel,
                    num_coarse_samples=32,
                    num_importance_samples=64,
                    # _target=MipNerfModel,
                    # num_coarse_samples=48,
                    # num_importance_samples=96,
                ),
                # object_model_template=CarNeRFModelConfig(_target=CarNeRF),
                object_representation="class-wise",
                object_ray_sample_strategy="remove-bg",
                mono_depth_loss_mult=0.01,
                depth_loss_mult=0,
            ),

Does it really make sense if you use car_latents with NerfactoModel or VanillaModel? IIUC, latent codes should only be used with CarNerfModel?

@Nplace-su Maybe. Is there any possible way to use "class-wise" just like NSG with MipNeRF or NeRFacto?

@Yurri-hub  Why do you want to use "class-wise"

In these parts.
It means that "class-wise" will have low model memory occupancy? (In my opinion)
if self.config.object_representation == "class-wise":
    object_model_key = [self.get_object_model_name(key) for key in self.object_meta["obj_class"]]
else:
    object_model_key = [self.get_object_model_name(key) for key in self.object_meta["scene_obj"]]

# TODO(noted by Tianyu LIU): modify various categories of cars
# TODO (wuzr): unifing all configurations
object_models = {
    key: self.config.object_model_template.setup(
        scene_box=self.scene_box,
        num_train_data=self.num_train_data,
        object_meta=self.object_meta,
        obj_feat_dim=self.config.latent_size if self.use_object_latent_code else 0,
        car_latents=self.car_latents,
        car_nerf_state_dict_path=self.car_nerf_state_dict_path,
    )
    for key in object_model_key
}
self.object_models = torch.nn.ModuleDict(object_models)

@Yurri-hub Yes, but it seems we can not directly use car_latents with nerfacto/mipnerf model. Maybe you could modify these models like a CarNerf model, however, you still can not use the pretrained latent codes?

Maybe a random latent codes to be optimized is a solution? @Nplace-su

Yes. But i don't think that simple way will give you a good result.
------------------ Original ------------------
From: Yu Li @.>
Date: Fri,Mar 1,2024 11:55 AM
To: OPEN-AIR-SUN/mars @.>
Cc: Nplace-su @.>, Mention @.>
Subject: Re: [OPEN-AIR-SUN/mars] Need help about mipnerf ablation for kitti(Issue #147)
Maybe a random latent codes to be optimized is a solution? @Nplace-su
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Yes. But i don't think that simple way will give you a good result.
@Nplace-su yeah, that's a problem

Yes. But i don't think that simple way will give you a good result.
@Nplace-su yeah, that's a problem
@Yurri-hub  So I'd suggest using the object-wise model if you didn't have very limited memory.

Yes. But i don't think that simple way will give you a good result.
@Nplace-su yeah, that's a problem

@Yurri-hub So I'd suggest using the object-wise model if you didn't have very limited memory.

Thanks a lot!

Hi! @Yurri-hub, I am closing this issue for inactivity, but feel free to reopen :)


[ClangImporter] Remove dead code around UnsafePointer

...which is how we imported pointers-to-void before UnsafeRawPointer existed. No functionality change.

@swift-ci Please smoke test


[Task] Tooltip remains open when scrolling

To reproduce: over a task, then scroll the mouse without overing other tasks.
The tooltip remains open. Moreover since Konva tooltip is opened at dom level it remains above other components.

:tada: This issue has been resolved in version 1.7.6 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


PSTNET on SemanticKitti/nuScenes dataset

Great work on the Point Tubes. I am particularly interested in the 4D semantic segmentation applications.
I was wondering if you tried the PSTNet on benchmark datasets like Semantic Kitti or nuScenes dataset.
These pointcloud sequences are much more sparse than the SYNTHIA dataset.
Thank you

Hi @sandeepnmenon,
Apologies for my late response. Thanks for your suggestions. However, we currently do not have a plan to apply our method to Semantic Kitti or nuScenes datasets.
Our method focuses on spatio-temporal modeling and especially temporal modeling. There have already been a lot of excellent static point cloud approaches. We would like to pay attention to different temporal structures. The sparse or dense problem is mainly about spatial modeling.
PSTNet is actually a prototype that models point cloud sequences/videos in a decomposition manner. The spatial modeling method can be directly replaced with other static point cloud approaches which are good at sparse point cloud modelling. We may try these two datasets in the future with different PSTNet variants or extensions.
Thank you.

Thank you @hehefan  for the insights. I would like to try sequence classification with those two datasets using PSTConv.
In the given model for sequence classification
https://github.com/hehefan/Point-Spatio-Temporal-Convolution/blob/3214fe383e40cb933531dd246432c91a32db948c/models/sequence_classification.py#L15
I see all layers are PSTConv.
As per your suggestion

The spatial modeling method can be directly replaced with other static point cloud approaches which are good at sparse point cloud modelling.

I would like to use my static point cloud model along with the temporal modeling mentioned in this paper. What part of the MSRAction model is the spatial modelling method.
Can you give a small example of how the PSTConv can be augmented to static point cloud classification pipelines to make them model the temporal information?
Thank you

Hi @sandeepnmenon,
You might want to modify the following section
https://github.com/hehefan/Point-Spatio-Temporal-Convolution/blob/main/modules/pst_convolutions.py#L168-L193
This section aims to search neighbours and then encode the spatial local structure.  You can replace the encoding logics with your code.
Best regards.

Hi @hehefan
There is the experiment on 4D semantic segmentation mentioned in the paper. Will that model be released?
Since my semantic segmentation spatial model also follows a Unet architecture, I am not sure how I will incorporate just the spatial features in the above mentioned code in the PSTConv.

Hi @sandeepnmenon,
PSTConv is a basic module to capture the spatio-temporal local structure for point cloud sequences or videos. It is independent of the specific PSTNet architectures for 3D action recognition or 4D semantic segmentation.  For the segmentation architecture, please refer to point_segmentation.py. This architecture may provide insights into how to build UNet-style frameworks.
BTW, for segmentation, the transformer-based network ("Point 4D Transformer Networks for Spatio-Temporal Modeling in Point Cloud Videos") seems to work better than the point spatio-temporal convolution. This is probably because convolution is rigid for edges or borders of objects, while transformer is flexible.
Best regards.

Thank you @hehefan . The code and that paper is really helpful.
Closing this issue.
PS: Is it possible to release the code for 4D semantic segmentation using the P4Transformer?  Started a thread in that repo (https://github.com/hehefan/P4Transformer/issues/4)
Thank you again.


TW-1334: change code to follow the new flow of smc

Ticket:

https://tokoin.atlassian.net/browse/TW-1334

Fixed:

add a merchantId when performing deposit smc

Result:
https://testnet.bscscan.com/tx/0xc52a4bdb37d28136a590e84e5cab6603e719c4f66190bee76228a05be895bb95
https://user-images.githubusercontent.com/82794492/231392759-8985b418-2a20-4693-b5e3-dcf0259a0d8d.mov

This PR should merge into #15 but develop


Allow navigateFallback option for GenerateSW to be an array of multiple routes

Library Affected:
workbox-webpack-plugin
Browser & Platform:
Irrelevant.
Issue or Feature Request Description:
I generate an app shell for every language my SPA supports, essentially: I have as many SPAs as languages. They all use the same service worker, the only difference is just that each index.html contains a reference to a specific translation file.
So my URLs look like this:
/en/some/page
/nl/some/page
/de/some/page

Currently, I can only set navigateFallback to a single fallback value.... which in my case means forcing a single language onto my users if they happen to lose their network connection.
For example, I've currently set it to /en/index.html, which means if the user is on a page /nl/some/page, they actually get an English page rather than a Dutch page. This is not exactly ideal.
Essentially, I'd like to be able to change this:
// slightly beautiful minified output
        i.registerRoute(new i.NavigationRoute(i.createHandlerBoundToURL('/en/index.html'))),

into this:
// slightly beautiful minified output
        i.registerRoute(/\/en\/.*/, i.createHandlerBoundToURL('/en/index.html')),
        i.registerRoute(/\/nl\/.*/, i.createHandlerBoundToURL('/nl/index.html')),

Perhaps there's a better way of doing it, but this should also be easy enough for the option while preserving backward compatibility:
    navigateFallback: [
        {urlPattern: /\/en\/.*/, fallback: '/en/index.html'},
        {urlPattern: /\/nl\/.*/, fallback: '/nl/index.html'}
    ],

If a function poses problems (transferring that function into the actual service worker), perhaps a regular expression could be supported where the first capturing group could be used as fallback value.

First, to clarify, navigateFallback isn't an option that's intended for "users if they happen to lose their network connection." The route that it sets up will use a cached response whenever there's any navigation request for any URL that isn't explicitly precached. It's meant for SPA-style routing, like you say, but I just to make sure you were aware that it's not really an offline-specific thing.
But to get to your actual question, I think the best course of action would be for you to switch to using the InjectManifest mode of the build tool instead of GenerateSW, which will give you more control over the logic in your service worker. Then, assuming you're using Workbox v6, you could explicitly write code along the lines of:
import {precacheAndRoute, matchPrecache} from 'workbox-precaching';
import {registerRoute} from 'workbox-routing';

// The InjectManifest build tool will replace self.__WB_MANIFEST with your
// actual list of URL and revisions.
precacheAndRoute(self.__WB_MANIFEST);

// See https://developers.google.com/web/tools/workbox/modules/workbox-routing#matching_and_handling_in_routes
// for info on matchCallbacks and handlerCallbacks.
registerRoute(
  // If this is a navigation request, return the language code,
  // assuming it's the first part of the path.
  // Otherwise, return null, which won't trigger the route.
  ({request, url}) => request.mode === 'navigate' ? url.pathname.split('/')[1] : null,

  // Use a custom handlerCallback that has access to the params returned by
  // the previous matchCallback function.
  async ({request, params}) => {
    const response = await matchPrecache(`/${params}/index.html`);
    if (response) {
      return response;
    }
    // If you get here, the expected /LANGUGE/index.html file was not included in your precache manifest.
    // It's up to you what to do—maybe return matchPrecache('/en/index.html') as the default?
  }
);

I think that kind of imperative logic is a lot more scalable that trying to capture all the possibilities into something that could be expressed in a declarative config file.
If you have any other runtimeCaching rules in your configuration file, you would translate those into registerRoute() calls, using the strategies from workbox-strategies.
There's more info about this approach in our current Getting Started guide. Let me know if this approach sounds reasonable, and we can close this issue.

Alright, I just got around to changing my configuration.
I appreciate the thorough comment! I was probably going to need InjectManifest at one point either way, so I guess this was the needed motivation to do it now rather than later.
There's just one option I couldn't figure out and that's how I can split the workbox-* dependencies into a different file, much like GenerateSW does by default. But assuming browsers respect 304s when downloading service workers, that's not too much of a problem really.
Before:
new GenerateSW({
    mode,
    sourcemap: true,
    clientsClaim: true,
    skipWaiting: true,
    directoryIndex: 'index.html',
    offlineGoogleAnalytics: mode === 'production',
    dontCacheBustURLsMatching: /-[a-z0-9]{20}\./,
    navigateFallback: '/en/index.html',
    exclude: [
        // Images don't need to be pre-cached (cache only if in use)
        /\.(png|jpg|jpeg|webm|gif|svg|map)$/,
        // Translations don't need to be pre-cached (cache only if in use)
        /[a-z]{2}(?:-[A-Z]{2})?-[a-z0-9]{20}\.min\.js/
    ],
    runtimeCaching: [{
        urlPattern: /./,
        handler: mode === 'production' ? 'StaleWhileRevalidate' : 'NetworkFirst'
    }]
})

After:
new InjectManifest({
    mode,
    swSrc: resolve('src/frontend/service-worker.ts'),
    swDest: 'service-worker.js',
    injectionPoint: 'self.__WB_MANIFEST',
    dontCacheBustURLsMatching: /-[a-z0-9]{20}\./,
    exclude: [
        // Images don't need to be pre-cached (cache only if in use)
        /\.(png|jpg|jpeg|webm|gif|svg|map)$/,
        // Translations don't need to be pre-cached (cache only if in use)
        /[a-z]{2}(?:-[A-Z]{2})?-[a-z0-9]{20}\.min\.js/
    ]
})

Service Worker file:
import {initialize as initializeGoogleAnalytics} from 'workbox-google-analytics';
import {precacheAndRoute, matchPrecache} from 'workbox-precaching';
import {registerRoute} from 'workbox-routing';
import {StaleWhileRevalidate, NetworkFirst} from 'workbox-strategies';
import {defaultLocale, getLocale} from '../helpers/locales';

declare var self: ServiceWorkerGlobalScope;

self.addEventListener('install', () => {
    void self.skipWaiting();
});

self.addEventListener('activate', (event) => {
    event.waitUntil(self.clients.claim());
});

precacheAndRoute(self.__WB_MANIFEST);

registerRoute(({request, url}) => {
    if (request.mode !== 'navigate') {
        return false;
    }

    if (url.pathname === '/') {
        for (const language of self.navigator.languages) {
            const locale = getLocale(language);

            if (locale) {
                return locale.iso;
            }
        }

        return defaultLocale.iso;
    }

    return getLocale(url.pathname.split('/')[1])?.iso ?? defaultLocale.iso;
}, async ({params}) => {
    return await matchPrecache(`/${params as unknown as string}/index.html`)
        || await matchPrecache(`/${defaultLocale.iso}/index.html`)
        || Response.error();
});

registerRoute(/./, process.env.NODE_ENV === 'production' ? new StaleWhileRevalidate() : new NetworkFirst());

if (process.env.NODE_ENV === 'production') {
    initializeGoogleAnalytics();
}

Under the hood, workbox-webpack-plugin's GenerateSW mode uses Rollup, which sounds surprising, but we really want to keep the core code consistent between all the different build tools. Splitting out the dependencies, like the Workbox runtime libraries, into separate chunks is handled via https://github.com/surma/rollup-plugin-off-main-thread:
https://github.com/GoogleChrome/workbox/blob/80be8b16aba62fa927e5c3c19e55f8d16a78e808/packages/workbox-build/src/lib/bundle.js#L69-L76
I've never successfully done something similar when using webpack for bundling, though. https://github.com/webpack/webpack/issues/10520 and https://github.com/webpack/webpack/issues/6472 are related issues.


Update patch merge tags in struct to match those in the comment

These tags have to be added for the make update in openshift-apiserver to succeed when updating to k8s 0.22.1.

/assign @sttts


refactor(disable-animation): migrate disable-animation mechanism [WIP]

Getting started docs
Disable animation
TODO
BK message
BREAKING CHANGE:

Removed disable-animation property from sbb-accordion
Removed disable-animation property from sbb-alert
Removed disable-animation property from sbb-autocomplete
Removed disable-animation property from sbb-datepicker-toggle
Removed disable-animation property from sbb-dialog
Removed disable-animation property from sbb-expansion-panel
Removed disable-animation property from sbb-image
Removed disable-animation property from sbb-journey-summary
Removed disable-animation property from sbb-loading-indicator
Removed disable-animation property from sbb-menu
Removed disable-animation property from sbb-navigation
Removed disable-animation property from sbb-navigation-section
Removed disable-animation property from sbb-notification
Removed disable-animation property from sbb-pearl-chain
Removed disable-animation property from sbb-pearl-chain-time
Removed disable-animation property from sbb-pearl-chain-vertical-item
Removed disable-animation property from sbb-popover
Removed disable-animation property from sbb-select
Removed disable-animation property from sbb-selection-panel
Removed disable-animation property from sbb-sticky-bar
Removed disable-animation property from sbb-timetable-row
Removed disable-animation property from sbb-toast
Removed disable-animation property from sbb-toggle

Codecov Report
Attention: Patch coverage is 25.00000% with 3 lines in your changes are missing coverage. Please review.

:exclamation: No coverage uploaded for pull request base (main@7817d54). Click here to learn what that means.

:exclamation: Current head 6d09c28 differs from pull request most recent head 2b5d3ce. Consider uploading reports for the commit 2b5d3ce to get more accurate results

Files
Patch %
Lines

src/components/notification/notification.ts
33.33%
2 Missing :warning:

src/components/pearl-chain/pearl-chain.ts
0.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2507   +/-   ##
=======================================
  Coverage        ?   93.71%
=======================================
  Files           ?      298
  Lines           ?    24241
  Branches        ?     2036
=======================================
  Hits            ?    22717
  Misses          ?     1491
  Partials        ?       33

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


[AutoRelease] t2-botservice-2023-02-01-08723(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/2985
Live test success
https://dev.azure.com/azure-sdk/internal/_build?definitionId=1031

issue link:https://github.com/Azure/sdk-release-request/issues/2985


Scalar field negative for Maharashtra

Describe the bug
The confirmed cases for unknown = 0, and recovered is being shown as 2, which puts active to -2. This seems to be an updation error and should be accounted for.
To Reproduce
Go to the main page of the website, expand to the Maharashtra row, and scroll to the bottom of the cases information for the state.
Expected behavior
The sum of all involved fields should be consistent, keeping all fields non-negative.
Screenshots

Desktop (please complete the following information):

OS: MacOS
Browser : Chrome

Refer to this comment


New generation sets Mumbai details to null

Hey again!
 As of today, when doing a new generation, new cities are added but Mumbai details are reseted to null/0 values. There's a lot of false positives for Mumbai at the dataset, (someone had fun polluting the dataset), but the reason is the "International" if condition at generate.js
https://github.com/tobilg/aws-edge-locations/blob/d913934ef6fbe358c36f14ebd699dff1120a69c5/generate.js#L122-L131
As you certainly know, in javascript, -1 is considered a truthy value so that condition is always truth (unless "international" sits at index 0 of the string) causing tempMatches to be (most of the times) equal to matches.
- if (m.name.toLowerCase().indexOf('international')) {
+ if (m.name.toLowerCase().indexOf('international') !== -1) {
  tempMatches.push(m);
}

Fixing this, revealed another error in the next condition
if (tempMatches.length > 0) { // Multiple matches, take first one, kind of random selection
  match = tempMatches[0];
}
// but what if tmpMatches is empty? as in no "international" thing on any

At least for now i think we should fallback to the first match (as we do if we only get a single match)
if (tempMatches.length > 0) { // Multiple matches, take first one, kind of random selection
  match = tempMatches[0];
+ } else {
+  match = matches[0] // no tempMatches (as in "no internationals") also defaults to first occurrence of matches
+ }

As you've stated in your comments, this can be improved with some refined regexp wizardry, but i think we can patch it like this for now. Thoughts?
If you want i can submit a PR for this.

Hi @renatodeleao, thanks again for submitting the issue. I created a PR (#5 ) from your fork, I assume this will include the fix you were mentioning?

This should be fixed in version 0.2.0.

Sry for the late reply, but thanks for the release!


Number of items in axis

I wonder if I can configure the number of items rendered in the axes. In my example I would love to reduce the number of items in the y-axis. This current rendering can be seen in the screenshot, marked with (1).

Sorry, no option to configure that through api, for now one option is to modify source code, but this method is used for both X and Y axis so there should be some additional if-statement. You may also try to use axis.setHasTiltedLabels(true).
I will try to add some more options to configure axes.

Thanks, I am looking forward to a new feature in a new version.

I would like to do something similar too.
I've some X value, but i want only the multiple of 5 to be displayed in the labels.
tried to set the useless label to empty but it's not working.

I'd need the same feature at the moment :+1:

We can configure the number of items on axes using Axis.generateAxisFromRange(startVal, stopVal,stepVal) .


Customize shortcut modifier and forward Ctrl and Shift to the device

This PR replaces the two previous attempts #1446 and #1465.
It forwards Ctrl and Shift to the device. This allows for example to press Ctrl+t in Firefox to open a new tab, Ctrl+w to close the current tab. Ctrl+c or Ctrl+d can now be injected in Termux.
This also greatly simplifies text selection, by using the keyboard (Shift+arrows, Ctrl+a…), and simplifies copy-paste (Ctrl+c) and cut-paste (Ctrl+x). Ctrl+z could be used to cancel an action, like a change in a text field for example.
As a consequence, scrcpy shortcuts are not bound to Ctrl anymore, but to (left) Alt and (left) Cmd by default. This modifier can be changed by a command-line parameter (--shortcut-mod), as explained here.
Here is the list of the changes:

all shortcuts now use the specified modifier key (called MOD), on all platforms
Ctrl and Shift are forwarded to the device
to copy or cut a text, Ctrl+c and Ctrl+x typically work, because they are forwarded to the device, which, in a text field, copies the text into the clipboard… and the clipboard is now automatically (since v1.14) synchronized with the computer keyboard
pressing Ctrl+v synchronizes the computer clipboard to the device before sending the key event, therefore pasting typically works seamlessly
seamless copy-paste now also works before Android 7 with Ctrl keys
MOD+c, MOD+x and MOD+v are also provided to inject COPY, CUT and PASTE keycodes (see README for details)
MOD+Shift+v injects the computer clipboard content as a sequence of key events (this is still useful sometimes)
to be able to bind CUT to MOD+x, the "resize to fit" shortcut (which removes the black borders) has been changed to MOD+w

This fixes #555 and #942.
Feedbacks (and reviews) welcome :)
Binaries
EDIT: just take v1.15 release.

old
For windows users, take both `scrcpy.exe` and `scrcpy-server`, and replace them in your scrcpy v1.14 release.
For other platforms, take scrcpy-server and build only the client.

scrcpy.exe
SHA256: ceab026bff28c8851456e30d3e1449ad25ef6aedeec6fcac00ad508e2f67a9cf
scrcpy-server
SHA256: b7b4f2f5d008cf6191c8fab6f74cc43bfc78bd33c4a4100274a9f4fa717b59e8

Oh, when pressing Alt+c, SDL generates a text event (SDL_TextInputEvent) containing c.
As a consequence, when --prefer-text is passed, a c is inserted on such a shortcut :confused:

Hello, under the default ALT shortcut, ALT+W has no effect on removing black borders.

@Helaer It works fine for me on a PT-PT keyboard. What's your keyboard layout?
@rom1v Works awesome to me. After some use, I settled with --shortcut-mod="ralt" for me (AltGr). It's much easier and faster to stick out the thumb without that much deflection. I do understand well that there are keyboards without such key. Being able to choose is great.
I tried around to use app shortcuts and they worked well as expected. 15 mins using the phone with shortcuts and such didn't show any signs of issues or bugs for me. Including using AltGr+W to resize the window.

@Helaer在PT-PT键盘上对我来说效果很好。您的键盘布局是什么？
@ rom1v对我来说很棒。使用一段时间后，我--shortcut-mod="ralt"为我定居了（AltGr）。伸出拇指而没有那么大的挠曲会更加轻松快捷。我非常了解有些键盘没有这样的键。能够选择很棒。
我尝试使用应用程序快捷方式，它们按预期运行良好。15分钟使用带有多个Ctrl快捷方式的电话，这对我来说没有任何问题或错误的迹象。包括AltGr+W用于调整窗口大小。
顺便说一句，在我的Linux系统中，我使用源代码进行了完整构建，而不是使用您的预构建服务器。出于某种原因，我收到了segmentation fault，但无法快速修复。
所以我做了一个完整的构建。

I didn't pass in a set of bytes, the default shortcut used, ALT+W can not remove the black border of the window.

@Helaer

Hello, under the default ALT shortcut, ALT+W has no effect on removing black borders.

Which platform/window manager? On Debian+XFCE, Alt+w works fine.
What about Cmd+w on your computer (Cmd is the Windows key on some keyboards)?
@brunoais  Thank you for your feedbacks :+1:

After some use, I settled with --shortcut-mod="ralt" for me (AltGr).

On a French keyboard, AltGr is used to generate many chars (AltGr+0 is @, AltGr+6 is |, and many many others).

I did a full build with the source code instead of taking your prebuilt server. For some reason, I was getting a segmentation fault and I was unable to fix it quick.

Oh, a segmentation fault on the client side or device side? (does it appear in adb logcat)
Can you reproduce?
Add -Db_sanitize=address to your meson command, and retry. It will give more details if it's on the client side.
For example, you can update your meson configuration and rebuild:
meson configure x -Db_sanitize
ninja -Cx
./run x

@海拉尔

您好，在默认的ALT快捷方式下，ALT + W对删除黑色边框无效。

哪个平台/窗口管理器？在Debian + XFCE上，Alt+ w可以正常工作。
什么Cmd+ w您的计算机上（Cmd是Windows某些键盘上的键）？
@brunoais 谢谢您的反馈👍

使用一段时间后，我--shortcut-mod="ralt"为我定居了（AltGr）。

在法语键盘上，AltGr用于生成许多字符（AltGr+ 0是@，AltGr+ 6是|，以及许多其他字符）。

我使用源代码进行了完整构建，而不是使用您的预构建服务器。出于某种原因，我收到了segmentation fault，但无法快速修复。

哦，客户端或设备端的分段错误？（出现在中adb logcat）
您可以复制吗？
添加-Db_sanitize=address到您的介子命令，然后重试。如果是在客户端，它将提供更多详细信息。
例如，您可以更新介子配置并重建：
介子配置x -Db_sanitize
忍者-Cx
./运行x

My system is Windows 10.

I just tested on Windows 10: I resized the scrcpy window so that there are black borders, then I pressed Alt+w, it works for me, the window is automatically resized so that black borders are gone.

我刚刚在Windows 10上进行了测试：我调整了scrcpy窗口的大小以使其具有黑色边框，然后按Alt+ w，它对我有用，该窗口会自动调整大小以使黑色边框消失。

I restarted my computer and it responded, guessing that other applications blocked the key combination.

@Helaer

Hello, under the default ALT shortcut, ALT+W has no effect on removing black borders.

Which platform/window manager? On Debian+XFCE, Alt+w works fine.
What about Cmd+w on your computer (Cmd is the Windows key on some keyboards)?
@brunoais Thank you for your feedbacks +1

After some use, I settled with --shortcut-mod="ralt" for me (AltGr).

On a French keyboard, AltGr is used to generate many chars (AltGr+0 is @, AltGr+6 is |, and many many others).

I did a full build with the source code instead of taking your prebuilt server. For some reason, I was getting a segmentation fault and I was unable to fix it quick.

Oh, a segmentation fault on the client side or device side? (does it appear in adb logcat)
Can you reproduce?
Add -Db_sanitize=address to your meson command, and retry. It will give more details if it's on the client side.
For example, you can update your meson configuration and rebuild:
meson configure x -Db_sanitize
ninja -Cx
./run x

@Helaer

Hello, under the default ALT shortcut, ALT+W has no effect on removing black borders.

Which platform/window manager? On Debian+XFCE, Alt+w works fine.
What about Cmd+w on your computer (Cmd is the Windows key on some keyboards)?
@brunoais Thank you for your feedbacks +1

After some use, I settled with --shortcut-mod="ralt" for me (AltGr).

On a French keyboard, AltGr is used to generate many chars (AltGr+0 is @, AltGr+6 is |, and many many others).

I have such too. Except it never worked in scrcpy. I end up using the phone's virtual keyboard for those characters.
When that's solved, then I may change the combination to --shortcut-mod="ralt+rctrl", for example.
The phone is running  Android 6.0.0

Oh, a segmentation fault on the client side or device side? (does it appear in adb logcat)

I'm not sure, I can only see a connection lost on logcat. No process dump or stack trace.

Can you reproduce?

When I

Add -Db_sanitize=address to your meson command, and retry. It will give more details if it's on the client side.
For example, you can update your meson configuration and rebuild:
meson configure x -Db_sanitize
ninja -Cx
./run x

When I do it like that, everything runs right. I think ninja is recompiling when I run it like that. So I think I would need to run it in some different way so it uses the server you uploaded there while using the client code from my side.
Regardless, if I checkout cdd6f186, optionally run meson and then run ninja, all runs fine and smoothly. :+1:

I have such too. Except it never worked in scrcpy. I end up using the phone's virtual keyboard for those characters.

Even with scrcpy --prefer-text?

When I do it like that, everything runs right.

What about:
meson configure x -Dprebuilt_server=/path/to/your/prebuilt/scrcpy-server
...

?

I have such too. Except it never worked in scrcpy. I end up using the phone's virtual keyboard for those characters.

Even with scrcpy --prefer-text?

When I do it like that, everything runs right.

What about:
meson configure x -Dprebuilt_server=/path/to/your/prebuilt/scrcpy-server
...

?

I have such too. Except it never worked in scrcpy. I end up using the phone's virtual keyboard for those characters.

Even with scrcpy --prefer-text?

When I do it like that, everything runs right.

Yeah... It does... However, I still will lose the ability with other programs that are listening to keys (you exemplify games)

What about:
meson configure x -Dprebuilt_server=/path/to/your/prebuilt/scrcpy-server
...

?

I didn't know that option existed I'll try that tomorrow.

What about:
meson configure x -Dprebuilt_server=/path/to/your/prebuilt/scrcpy-server
...

?

I didn't know that option existed I'll try that tomorrow.

No crash if I do like that.

@rom1v Just want to mention that on my platform, Windows 10, Samsung Galaxy S5, the two most recent binaries are working perfectly.  Have tested passing ctrl keys for bash in termux, and everything I've thought of has been flawless.  I'm using the "hacker's keyboard" keyboard replacement app also, if that matters.  Also tested scrcpy builtins for turn off screen, pull menushade, switch programs, etc.  All working fine.
Thank you so, so much for this.  This is saving me a ton of pain futzing with the soft keyboard in termux.

@AzureRaptor Thank you very much for your feedbacks. It's very helpful :+1:

I have noticed something else that is a bit odd, although not insurmountable thus far.
Somehow, after an indeterminate period of time (it seems to take more than half an hour - I think - I'm sorry I haven't timed this better) scrcpy seems to get into a state where the middle mouse-button  no longer works for "home."  If I click it, nothing happens.  I've given it over a minute to respond during times when the phone is not being used or cpu-stressed.
If I just close and restart scrcpy the behavior stops and middle button works again.

Except HOME, everything continued workibg (left-clock, BACK...)?
Did you reproduce it several times?

Yes, that's pretty much exactly what I observed.  Middle-button failure for HOME was the only unexpected result.
I've observed it at least three times now.

If you reproduce it again, could you test whether Ctrl+h (for HOME) still works when middle-clic fails, please?

Also, can you reproduce it on a version which do not include the changes from this PR?

If you reproduce it again, could you test whether Ctrl+h (for HOME) still works when middle-clic fails, please?

Ok.  Have just tested the build from this PR, and ALT-H (which is what I expect for this build, right?) works for home.  This is good.
I'll try to test a report on the last stable as soon as I can.  I'm glad I kept those binaries around and renamed them.  It's basically going to involve me digging out some idle time and letting the phone sit and wait, because I really need the keyboard functionality this build to work sanely at all.  🤣

I have an update.  Still haven't tested out the older binaries yet, sorry, but just a little while ago this pull got into a state where both middle-click and alt-h did not respond.  I'm afraid I closed it before I tested other inputs (was in the middle of working and it was stopping me 😒).  Next time this happens, I'll try to see what else is responding at the time.  Hopefully this was maybe a one-off fluke.

where both middle-click and alt-h did not respond.

When you reproduce, could you also test adb shell input keyevent HOME?
If that works, does it make right-click / Alt+h work again?
Are there any errors in adb logcat?

Ok.  I've been able to catch the trouble state again, and can report adb shell input keyevent HOME does indeed behave as a home keypress or middle-click (I'm sure that's what you meant, not right-click?) were pressed.  The condition of ignoring those events persisted, however.
As far as adb logcat goes, that produced an astonishing volume of output.  I'm afraid I'm not familiar enough with Android to know what I'm looking for in there.  All I could think to do was hit middle-click and alt+h several times, then adb logcat | find /i "error", and look over the past minute's worth of errors and see if anything obviously jumped out at me.  I saw nothing that looked like scrcpy could have generated it, or anything that looked like an input, touch, or keypress error.  If you can tell me what I should look for, the next time I get into the trouble state, I'll try to give a better report.

The condition of ignoring those events persisted, however.

But only these ones. Pressing left-click or right-click, or even Alt+p (power) or Alt+b (back), or other key events, continue to work?
For adb logcat:
adb logcat -c  # clear logs
scrcpy
# when HOME fails, dump the logs
adb logcat -d > logcat.txt

Then post the file.

Is it possible to add SUPER key (windows/linux key) to the possible options for shortcut-mod?

SUPER is lcmd. Should I rename cmd to super?

I'd have both as synonyms because cmd is a Mac thing and that's how Mac users are used to call it while super is the actual key's name.
I'm fine if it's just a rename, though.

Ideally, I would like to avoid aliases to avoid confusion.
In SDL, it's called GUI: https://wiki.libsdl.org/SDL_Keymod
So maybe lgui and rgui?

I think that's worse.
In that case, I'd just mention they are the same in the instructions (README file)

After using it for a period of time, there is no problem of invalidation of the shortcut keys, which is great!

I will probably rename lcmd and rcmd to lsuper and rsuper: https://en.wikipedia.org/wiki/Super_key_(keyboard_button)

I think that should be the best course of action but maybe with parenthesis telling it's the cmd key in Mac.

I replaced "cmd" by "super" and merged :tada:

Sweet! Just to be clear, is this going to make its way into v1.15 or will we always have to replace the executables per release?

Will be in v1.15.
https://github.com/Genymobile/scrcpy/blob/master/BUILD.md#branches

Great, but now I'm noticing that it seems to screw up scrcpy-noconsole.exe when I do this (any keyboard tap of anything disables all computer input).

You need to build scrcpy-noconsole.exe from that version (dev), you can't use the one from v1.14.

Gotcha. Now that I've tried it, mod doesn't recognize Right Alt, but it'd be very nice if it could do both.

@KeronCyst scrcpy --shortcut-mod=lalt,ralt?

Oh! I didn't know that could be done! Cool!

I didn't enable right-Alt by defauly because it is sometimes AltGr, which is used for many characters.

@rom1v I noticed you'd added some commits and merged a couple of days ago.  Are the binaries and checksums linked in the first post still valid, or are there others somewhere?  I'm guessing not, but I don't know how to find them.  I apologize in advance if this is something very basic to github I should be able to tell from the posts.  😟

No, there are no binaries for the current dev branch. I will release v1.15 soon (hopefully this week), which will include these changes.

I have some good news and bad news.  😅
On the plus side, I have a logcat file for you.  I also can still confirm that all other keystrokes/mouseclicks seem to be working fine.  I even enabled both left & right alt as per your cmdline suggestion above; having both works better for me.
On the less-than-plus side, even though I definitely cleared the log as per your instructions further above, the problem didn't show up until I'd been working for several hours.  The logcat file is ~3M.  I doubt that would paste well here, and it's waaay above even the max size on pastebin.  I'm not sure how to get it to you or make it available.  I'm open to suggestions.
Thank you very much for your ongoing patience and work on this.

the problem didn't show up until I'd been working for several hours.

OK, thank you for the feedback. :+1:
I think that the middle-click issue you observe is not related to this PR anyway (and maybe not to scrcpy at all, I can't see a reason why only this key would stop working, you should check whether SDL still receives the event when it fails, by adding a log).

I think that the middle-click issue you observe is not related to this PR anyway

@AzureRaptor So I was totally wrong, I failed to find it before the release :disappointed:
So now it is fixed in v1.15.1 :D (see #1643).

@AzureRaptor So I was totally wrong, I failed to find the issue before the release 😞

Please don't feel bad about this.  I'm really sorry I was never able to get you a good logcat, but they just got huge before the problem ever showed up and I couldn't figure out a good way to make them public (aside from something like dropbox or gdrive, which would've been a different kind of irritating).
I really find scrcpy indispensable.  I wish I had the cash to support your development; the work you're putting in is amazing.

i'm on windows 10 scrcpy 2.3.1 (installed using winget) and the current default mod keys are LSuper and LAlt is there a way to remove LAlt as mod key? (i want to switch application using alt+tab but instead the focus returns to laptop)
i have tried using --shortcut-mod flag to specifically set only LSuper as mod key but did not work...
scrcpy --otg -s 26021JEGR17923 --shortcut-mod="lsuper"

what am i missing here?

(i want to switch application using alt+tab but instead the focus returns to laptop)

This is captured by your system so scrcpynis notnzven aware that you press alt+tab.

Anyway, in OTG mode there are no scrcpy shortcuts.

(i want to switch application using alt+tab but instead the focus returns to laptop)

This is captured by your system so scrcpy is not even aware that you press alt+tab.

if scrcpy is not aware of the alt+tab action why does the mouse and keyboard focus back to laptop?

It captures Alt, but if you press Tab in addition, it is captured by the system.

Anyway, in OTG mode there are no scrcpy shortcuts.

in otg mode when i press either Super or left Alt key the focus moves back to laptop, how can i make it so only when i press Super key  the focus will change, not the any other key?

The mouse capture keys are hardcoded:
https://github.com/Genymobile/scrcpy/blob/7f23ff3f2ca64dae6eb8b0ca9a881230184ae756/app/src/usb/screen_otg.c#L139-L142

The mouse capture keys are hardcoded:
https://github.com/Genymobile/scrcpy/blob/7f23ff3f2ca64dae6eb8b0ca9a881230184ae756/app/src/usb/screen_otg.c#L139-L142

what was the last version which it was not hardcoded? why did you hardcode both super key and left alt key, not just super key?

what was the last version which it was not hardcoded?

It is hardcoded since the beginning: 91418c79ab3b7056c21ef6c64f903704c8f00a52

why did you hardcode both super key and left alt key, why not just super key?

Because different OS and desktop environments (and virtual machines) capture different keys, so I wanted a working solution for all cases.

what was the last version which it was not hardcoded?

It is hardcoded since the beginning: 91418c7

why did you hardcode both super key and left alt key, why not just super key?

Because different OS and desktop environments (and virtual machines) capture different keys, so I wanted a working solution for all cases.

since you hardcoded those 2 keys since the beginning when otg mode feature was created there's no version of scrcpy i can revert back to achieve what i want, which left me with a remaining option is to find a way to configure my specific environment so it will only capture Super key, would that be possible now?

since you hardcoded those 2 keys since the beginning when otg mode feature was created there's no version of scrcpy i can revert back to achieve what i want

This is open source. Clone the project, change the line to adapt, rebuild :wink:


added a line to the cgraham1 elpaso file

if you have children, what do they like to eat?

apple sauce
green peas


Subscription Resolvers Type Error with withFilter

Describe the bug
SubscriptionResolvers does not handle the type of withFilter
Your Example Website or App
Non
Steps to Reproduce the Bug or Issue
Run with the Codegen Config File
Expected behavior
SubscriptionResolvers To work with withFilter
Screenshots or Videos
No response
Platform

OS: macOS M1 Pro
NodeJS: v18.12.0 LTS
graphql: "^16.6.0"
@graphql-codegen/add: "^3.2.1"
@graphql-codegen/cli: "^2.13.8"
@graphql-codegen/gql-tag-operations-preset: "^1.7.0"
@graphql-codegen/graphql-modules-preset: "^2.5.4"
@graphql-codegen/introspection: "^2.2.1"
@graphql-codegen/typescript: "^2.8.0"
@graphql-codegen/typescript-document-nodes: "^2.3.5"
@graphql-codegen/typescript-resolvers: "^2.7.5"

Codegen Config File
definitions:
add: &top-comment
content: >
/**
* NOTE: THIS IS AN AUTO-GENERATED FILE. DO NOT MODIFY IT DIRECTLY.
*/
  /* eslint-disable */

  // 👇 ts-nocheck ignores all ts errors in the file

  // eslint-disable-next-line @typescript-eslint/ban-ts-comment

  // @ts-nocheck

overwrite: true
watch: false
schema: './src/gql/**/typeDefs/.gql'
emitLegacyCommonJSImports: false
generates:
./src/gql/:
preset: graphql-modules
presetConfig:
baseTypesPath: ../generated-types/graphql.ts # Where to create the complete schema types
filename: generated-types/module-types.ts # Where to create each module types
plugins:
- add: *top-comment
- add:
content: 'import { CustomScalars } from "../shared/scalars.js"'
- typescript:
enumsAsTypes: false
typesPrefix: GQL_
scalars:
Upload: CustomScalars['Upload']
Date: CustomScalars['Date']
DateTime: CustomScalars['DateTime']
EmailAddress: CustomScalars['EmailAddress']
JSON: CustomScalars['JSON']
ObjectID: CustomScalars['ObjectID']
UUID: CustomScalars['UUID']
- typescript-resolvers:
enumsAsTypes: false
typesPrefix: GQL_
noNamespaces: true
useIndexSignature: true
contextType: 'GraphQLModules.GlobalContext'
./graphql.schema.json:
plugins:
- 'introspection'
Additional context
No response

Please share a reproduction using our template.

@ardatan here you go
https://codesandbox.io/s/suspicious-ritchie-ysvvqs?file=/package.json

Hi @ardatan @daytona63  i have the issue.
Do you have any solution?

@hfgn I believe once this PR is merged in graphql subscriptions, then this will be fixable

After so many years of that Apollo library not being maintained, I wouldn't count on it releasing a new version or merging PRs...
Check out this discussion here
If you are using GraphQL Subscriptions, I would highly recommend you to use Yoga Server


ISPN-10523 + ISPN-10528 ServerNG TrustStore and Authorization

ISPN-10523 ServerNG TrustStore realm
ISPN-10523 ServerNG parse XML elements in schema order
ISPN-10528 ServerNG enable authorization
https://issues.jboss.org/browse/ISPN-10523
https://issues.jboss.org/browse/ISPN-10528

Failures are unrelated


loading memory memory leak

i am using keras 1.2 and running the following simple code on the cpu with tensorflow backend (0.12).
K.clear_session() does not clear the memory completely and there is a serious memory leak.
any ideas how to  solve it ?
import keras.models
import keras.backend as K
for i in range(300):
try:
model = keras.models.load_model('my_model.hdf5')
K.clear_session()
except Exception as e:
print(e)
break

Tried Keras 2?

no, since my models were trained on keras 1.2.
If it is a known issue I will upgrade and retrain everything. is it ?

Clearing the session does not clear the graph. you could try tf.reset_default_graph

the upgrade to keras 2 fixed this memory leak


[BUG] Template variables in First Colum Link URLs

Using template variables for generating the cell link URLs seems to work fine, but when template variable is inserted in First Column Link URL it is not recognized and evaluated:
http://<IP_ADDRESS>:3000/d/GrcMKcKWz/ihm_tests?orgId=1&var-Probe_ID=$Probe_ID
Where the $Probe_ID is a valid template variable with value of "1".

+1 meet the same issue

+1 meet the same issue


'LOG_DEBUG' was not declared in this scope

/root/pinpoint-c-agent/PHP/pinpoint_php_ext/pinpoint_php.cpp: In function 'int pp_trace(const char*, ...)':
/root/pinpoint-c-agent/PHP/pinpoint_php_ext/pinpoint_php.cpp:722:52: error: 'LOG_DEBUG' was not declared in this scope
php_log_err_with_severity(&PPG(logBuffer)[0] , LOG_DEBUG);
^
/root/pinpoint-c-agent/PHP/pinpoint_php_ext/pinpoint_php.cpp:722:61: error: 'php_log_err_with_severity' was not declared in this scope
php_log_err_with_severity(&PPG(logBuffer)[0] , LOG_DEBUG);
^
make: *** [pinpoint_php.lo] Error 1
php version: PHP 7.0.29 (cli) (built: May  8 2018 18:33:15) ( NTS )

which php version you used?

which php version you used? php 7.0.x

PHP 7.0.29
CentOS  7.2.1511

@jefry86  PHP 7.0.x not support this version.  you'd better update it to php 7.1

@jefry86 PHP 7.0.x not support this version. you'd better update it to php 7.1

Thank you. I'll try


GCC does not seem to be optimising floating point code very well (IDFGH-11992)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report
Compile a function doings some floating point math:
void lfo_process(float *samples,
                 size_t sample_count,
                 float *lfo,
                 float *lfo_increment)
{
    float lfo_increment_tmp = *lfo_increment;
    float lfo_tmp = *lfo;
    for(int i = 0; i < sample_count; i++)
    {
        lfo_tmp += lfo_increment_tmp;

        if(lfo_tmp > 0.5f)
        {
            lfo_tmp = 0.5f;
            lfo_increment_tmp = -lfo_increment_tmp;
        }

        if(lfo_tmp < -0.5f)
        {
            lfo_tmp = -0.5f;
            lfo_increment_tmp = -lfo_increment_tmp;
        }
    }

    *lfo = lfo_tmp;
    *lfo_increment = lfo_increment_tmp;
}

The generated code has inefficient stuff like loading from main memory on every iteration rather than keeping things in registers:
        lfo_tmp += lfo_increment_tmp;
4008b0a8:       010713          lsi     f1, a7, 4
4008b0ab:       000703          lsi     f0, a7, 0
4008b0ae:       0a0100          add.s   f0, f1, f0
4008b0b1:       014703          ssi     f0, a7, 4

In an attempt to guide the compiler to a better solution, use the gcc register feature to place the temporaries in a specific floating point register:
    register float lfo_increment_tmp asm("f15") = *lfo_increment;
    register float lfo_tmp asm("f14") = *lfo;

Then the generated code is still not any faster in a benchmark, the loads are replaced by shuffling the value from f15 and f1, then doing the addition on f1, then moving the value back to f15. It is then immediately moved from f15 back to f0 for a comparison.
        lfo_tmp += lfo_increment_tmp;
4008b0a8:       fa1f00          mov.s   f1, f15
4008b0ab:       fa0e00          mov.s   f0, f14
4008b0ae:       0a0100          add.s   f0, f1, f0
4008b0b1:       faf000          mov.s   f15, f0

        if(lfo_tmp > 0.5f)
4008b0b4:       fa0f00          mov.s   f0, f15

It would be great if the compiler could do a better job here, so that we don't have to write so much code in assembly for DSP functions.

@Barabas5532 Could you please specify the ESP-IDF version, the chip and gcc version which you are using? Furthermore, what is the compiler call used to generate this code (you can use idf.py -v build to see all compiler calls)?

@Barabas5532, I see that the assembly you provided was generated without optimizations.
Please try compiling it with the -O1/-O2 flags to enable optimizations. (https://godbolt.org/z/enzdaa6rf)

Thanks for the hints on the optimisation flags. I see what went wrong now. When my component is being compiled, some compile flags that I though would be set up by esp-idf are missing.
I'm using a "Modern CMake" style for all of my components so that they can be cross platform to desktop for testing. This is documented in the manual.
It looks like the documentation is wrong though. In tools/cmake/component.cmake, a lot of magic happens to set up compile flags. This is all skipped for components defined using modern cmake.
Here are the compiler invocations for cJSON using the original 5.1.2 release, and then after modification as described in the docs. I've text replaced the actual path to esp-idf with $IDF_PATH so it's easier to read:

Compiler invocation for esp-idf v5.1.2 release
ccache
/home/barabas/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-DESP_PLATFORM
-DIDF_VER=\"v5.1.2\"
-DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE
-D_GNU_SOURCE
-D_POSIX_READER_WRITER_LOCKS
-I$IDF_PATH/examples/protocols/http_server/restful_server/build/config
-I$IDF_PATH/components/json/cJSON
-I$IDF_PATH/components/newlib/platform_include
-I$IDF_PATH/components/freertos/FreeRTOS-Kernel/include
-I$IDF_PATH/components/freertos/FreeRTOS-Kernel/portable/xtensa/include
-I$IDF_PATH/components/freertos/esp_additions/include/freertos
-I$IDF_PATH/components/freertos/esp_additions/include
-I$IDF_PATH/components/freertos/esp_additions/arch/xtensa/include
-I$IDF_PATH/components/esp_hw_support/include
-I$IDF_PATH/components/esp_hw_support/include/soc
-I$IDF_PATH/components/esp_hw_support/include/soc/esp32
-I$IDF_PATH/components/esp_hw_support/port/esp32/.
-I$IDF_PATH/components/esp_hw_support/port/esp32/private_include
-I$IDF_PATH/components/heap/include
-I$IDF_PATH/components/log/include
-I$IDF_PATH/components/soc/include
-I$IDF_PATH/components/soc/esp32
-I$IDF_PATH/components/soc/esp32/include
-I$IDF_PATH/components/hal/esp32/include
-I$IDF_PATH/components/hal/include
-I$IDF_PATH/components/hal/platform_port/include
-I$IDF_PATH/components/esp_rom/include
-I$IDF_PATH/components/esp_rom/include/esp32
-I$IDF_PATH/components/esp_rom/esp32
-I$IDF_PATH/components/esp_common/include
-I$IDF_PATH/components/esp_system/include
-I$IDF_PATH/components/esp_system/port/soc
-I$IDF_PATH/components/esp_system/port/include/private
-I$IDF_PATH/components/xtensa/include
-I$IDF_PATH/components/xtensa/esp32/include
-I$IDF_PATH/components/lwip/include
-I$IDF_PATH/components/lwip/include/apps
-I$IDF_PATH/components/lwip/include/apps/sntp
-I$IDF_PATH/components/lwip/lwip/src/include
-I$IDF_PATH/components/lwip/port/include
-I$IDF_PATH/components/lwip/port/freertos/include
-I$IDF_PATH/components/lwip/port/esp32xx/include
-I$IDF_PATH/components/lwip/port/esp32xx/include/arch
-mlongcalls
-Wno-frame-address

-fdiagnostics-color=always
-ffunction-sections
-fdata-sections
-Wall
-Werror=all
-Wno-error=unused-function
-Wno-error=unused-variable
-Wno-error=unused-but-set-variable
-Wno-error=deprecated-declarations
-Wextra
-Wno-unused-parameter
-Wno-sign-compare
-Wno-enum-conversion
-gdwarf-4
-ggdb
-Og
-fmacro-prefix-map=$IDF_PATH/examples/protocols/http_server/restful_server=.
-fmacro-prefix-map=$IDF_PATH=/IDF
-fstrict-volatile-bitfields
-fno-jump-tables
-fno-tree-switch-conversion
-DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1
-std=gnu17
-Wno-old-style-declaration
-MD
-MT
esp-idf/json/CMakeFiles/__idf_json.dir/cJSON/cJSON_Utils.c.obj
-MF
esp-idf/json/CMakeFiles/__idf_json.dir/cJSON/cJSON_Utils.c.obj.d
-o
esp-idf/json/CMakeFiles/__idf_json.dir/cJSON/cJSON_Utils.c.obj
-c
$IDF_PATH/components/json/cJSON/cJSON_Utils.c

Compiler invocation for custom version with cJSON defined as in the "pure cmake" docs
/home/barabas/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-I$IDF_PATH/examples/protocols/http_server/restful_server/modern_json/cJSON
-mlongcalls
-Wno-frame-address

-fdiagnostics-color=always
-o
modern_json/CMakeFiles/modern_json.dir/cJSON/cJSON.c.obj
-c
$IDF_PATH/examples/protocols/http_server/restful_server/modern_json/cJSON/cJSON.c

I have pushed the modified esp-idf here. Did I make a mistake setting up the pure cmake component? It is missing a lot of compile flags, including the optimisation level, and -fno-jump-tables, which is a workaround to some compiler bugs if I understand correctly: https://github.com/espressif/esp-idf/issues/1552#issuecomment-883600363.

https://github.com/espressif/esp-idf/issues/10579 is related, but they never tried to work around the errors using add_subdirectory instead of putting the pure cmake files in the components folder. I guess I was not supposed to use the cmake API this way with esp-idf?

@Barabas5532 You can link pure CMake library targets to the application the way your example project does. However, since these targets are not added by the IDF build system, we don't add any compilation flags to such targets, except for the mandatory flags specified in the toolchain file.
If you describe the behavior you expect (both for a chip target and Linux target) I can try to recommend a way to achieve it.

I'm designing most of my components to have no esp-idf dependencies by using abstraction layers on top of esp-idf. I can then build the components for desktop for testing using mock or fake implementation of the abstractions. The main feature of the project is audio processing for digital guitar effects, and I want to be able to extract the core features (audio processing, parameters and a web API to control the parameters) and run it in a digital audio workstation without any hardware. You can think of like an interactive integration test running on the host.
So the goal for the build system is to allow building these components into a firmware based on ESP-IDF, or for a unit test based on some test framework, or into a VST plugin based on JUCE. This should all be pretty straight forward using "Modern CMake".
For the desktop platform build, the components should look like modern cmake components, and there should be no references to esp-idf.
For the ESP32 build, I would like the components to have the same default compiler flags as components defined when using idf_component_register. I assume all of these are there for a reason. At the very least, the optimisation level should be propagated from menuconfig. Perhaps -fno-exceptions and -fno-rtti as well, I'm not so familiar with the rest. So maybe just having a way to tell esp-idf to define the compile flags globally would be enough? e.g. by setting CMAKE_LANG_FLAGS or putting the default flags in the toolchain file.
I'm already linking a common compiler flags component to all of my components like this, maybe I can add the missing flags there when ESP_PLATFORM is set? It is based on this idea from JUCE: https://github.com/juce-framework/JUCE/blob/d054f0d14dcac387aebda44ce5d792b5e7a625b3/extras/Build/CMake/JUCEHelperTargets.cmake#L24. This is not the nicest solution, it is easy to forget to link to this target and still end up with missing flags.
I see some others have gone for making two parallel build setups for conventional cmake and esp-idf. I also started out with something like this, but I would like to avoid duplicating the configuration:
if(ESP_PLATFORM)
  idf_component_register(...)
else()
  add_library(...)
endif()


[Cluster Agent] Support internal profiling

What does this PR do?

Add internal profiling support to the cluster agent
Motivation

Better observability
Additional Notes

Can be configured at runtime (similar to the agent)
Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Enable internal_profiling.enabled + configure DD_AGENT_HOST

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the config template has been updated.

Confidence check: this change means we'll use the same configuration to enable the internal profiling of the regular agent or of the cluster agent, there is no scenario where we would need to enable it through configuration / a chart on one and not the another and this change would block us to do so?

Confidence check: this change means we'll use the same configuration to enable the internal profiling of the regular agent or of the cluster agent, there is no scenario where we would need to enable it through configuration / a chart on one and not the another and this change would block us to do so?

The configuration parameters are the same, but the DCA and the Agent do not share the same datadog.yaml or the same environment variables.

@vboulineau @ahmed-mez perfect, thank you!


SAK-40742 Assignment further attempt to eliminate duplicate submissions

I will have another update to this to further clean it up.

This is becoming essential for 12.x ..... I think we should get this merged in after some quick review.