There is slight delay when creating blob containers from ADLS Gens accounts

Storage Explorer Version: 1.6.0
Platform/OS Version: Windows 10/ MacOS High Sierra/ Linux Ubuntu 16.04
Architecture: ia32
Build Number: 20181204.3
Commit: 6ae5640a
Regression From: Not a regression
Steps to Reproduce:

Choose one ADLS Gen2 account -> Try to create a blob container.

Expected Experience:
The created blob container shows on the tree view immediately.
Actual Experience:
Creating the blob container takes about 2 seconds.

Won't fixing this for now.


500 URI malformed

Web Browser: Firefox/Opera/Chrome
Local OS: Windows/MacOS
Remote OS: Linux Debian 10
Remote Architecture: KVM
code-server --version: 3.4.1 48f7c2724827e526eeaa6c2c151c520f48a61259

Hello,
i found a problem about cookies
i don't know why, if i set a cookie on my website, that bug code-server
i have a domain and i host web-server and code-server on this domain
test.fr.nf:80 access my web server i work on
test.fr.nf:8045 acces code-server
i'm working on login system with cookies
and i notice my cookie cause 500 URI malformed error
then i set my cookie, code_server get it and bug
can you limit this effect ?
i need cookie filter on code-server
thanks for reading me
sorry for bad english
https://youtu.be/3Y5g8D1sQzE

I think this is to do with the fact that the Cookie is a urlencoded blob, though I may be wrong; I'll investigate myself to see if I can reproduce the bug.
Can you post the value of the cookie you set?

my cookie is like �o�z�[n:B���+��O�/�^...
its binary
this is a example cookie parsed with bin2hex() in php
bin2hex($my_cookie_value) =
'41082fb5cdd2929315b92676374982cf63f8a435d9b3adc7a8eab7dbe2e3466920f3b7003cbc0070846dc06eaa51c16c3a6bba06b73c7501ddcfbd58b02fadfe01e644110fd9238f9f023edb9010158126718debd81b43b85912ba96656f03a897b6726759e64b529df3dff1fb5e662e4fd70598bd3c227d10ac181202e55e4ee412a84edf1ad65d387ffb45e7ddc7668816e648a4d70d26ddcf73301ae95c92ea04abb2c5809eb59b9ac4a03bcb72024b63cbd922405c82e8362e9fc6a26507e7f011c976a993158bd616238dd5850e91c74a9497c290f5cc1c1943508368d5c623c486aaebd93a6d7133b369d525b3052689ecc37fe32771ee05db2b93ed15a1389a6bd09fdc1c7a08f56cf99d651878e00131bced3cd16c5140216f3ae7374dee7aab6ef327bc5a5689ce3e12458447f3b1bfc4f7070656098ea52889747dc8fdcb9f593cffff2f367c43ed874ff83c25cd73a8fcac4f60456518ad0d92bee35d2e799aa1af61269de75613ccb54f52703cba76d49730cfbdfa961bc05fba7829913d9ef42b86d7076248afab29a0e7c69c425b11ba0f4c9e31e1029414a5a551c12b61793925281704dfe8408ef0d9a13df3b6aa0a3de41cf2fe8e24c568eeb867ae502daf823b553b4a2bf9425b039c2cc3b407569427a2de558c551afe4c940e30e67ff8c8a3aff9b489a44f6b599628e1800798f5d7837f47d40edf7e'

I thought it might come from the fact that my cookie is a binary, rather than a base64.
i test with base64 cookie and ... bug is gone
so it's a bug from me?

Hey, I'm sorry we didn't get back to you. I think you're right; cookies are only allowed to have certain characters so it needs to be encoded in some way. https://www.rfc-editor.org/rfc/rfc6265.txt


installation section added to readme.md

pip install git+git://github.com/christophM/rulefit.git added to readme.md, since you have setup.py file there ready to be pip installed.

Thanks!


SAML: Unable to find resource '/templates/saml2-post-binding.vm'

Saml client isn't able to load velocity templates. I tracked it down think the problem is in VelocityEngineFactory.java:
 final Properties props = new Properties(net.shibboleth.utilities.java.support.velocity.VelocityEngine.getDefaultProperties());

            props.setProperty(RuntimeConstants.INPUT_ENCODING, "UTF-8");
            props.setProperty(RuntimeConstants.OUTPUT_ENCODING, "UTF-8");
            props.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
            props.setProperty(RuntimeConstants.RUNTIME_LOG_LOGSYSTEM_CLASS, SLF4JLogChute.class.getName());

Not sure how defaults properties work (first time I see them) but they definitely don't work.
I change:
 final Properties props = new Properties(net.shibboleth.utilities.java.support.velocity.VelocityEngine.getDefaultProperties());

with:
 final Properties props = new Properties();
props.putAll(net.shibboleth.utilities.java.support.velocity.VelocityEngine.getDefaultProperties());
...

and templates load properly.

Good catch. Would you mind submitting two PRs for that (one for 1.9.x branch and the other one for master)? Thanks

Sure, will do.
Thanks.


✨(api) enhance CourseSerializer

Purpose
To avoid several requests to get the full course context and avoid extra works from the frontend, CourseSerializer is now able to retrieve authenticated user's orders and enrollments. In this way, by retrieving course details, frontend is aware of which products are already owned by the authenticated user and on which course runs the user is enrolled.
Proposal

[x] Retrieve products related to the course
[x] Pass user to the CourseSerializer through context if he/she is authenticated
[x] Inside CourseSerializer, bind user's orders and enrollments related to product and course runs.
[x] Add and update tests

@sampaccoud thanks for your optimization suggestions.
About CourseViewSet, I removed prefetch_related('products')to thequeryset` as prefetched products seems not used and creates an extra db query unnecessarily.


Fix BlockId collecting

Closes #1057
Introduced changes

Checklist

[ ] Linked relevant issue
[ ] Updated relevant documentation
[ ] Added relevant tests
[ ] Performed self-review of the code
[ ] Added changes to CHANGELOG.md

Can we put the tests in a single file though?

I don't think so. It seems like if there are multiple tests with invalid attribute in a file, it will only output one.

Can we put the tests in a single file though?

I don't think so. It seems like if there are multiple tests with invalid attribute in a file, it will only output one.

Never mind, it seems to work


New rule option to ignore trailing whitespace on blank lines

When I write code with spaces between lines, such as (each "." is a space):
((): void => {
....'use strict';
....
....console.info('hello');
})();

The no-trailing-whitespace rule tells me there is an error on the blank line (in this case line 3). That seems wrong since most editors are going to insert spaces by default, this makes the user have to remove spaces for it to pass. This happens with both spaces & tabs.

This is exactly the intent of the no-trailing-whitespace rule. Most modern editors actually do the opposite -- they remove trailing whitespace upon save, including on empty lines like this -- so it feels like best practice to report this as a lint failure.
If you really want to allow this kind of trailing whitespace in your codebase, you can create a custom tslint rule (see docs for this in the readme) in your project, copy the implementation of noTrailingWhitespaceRule.ts, and have it ignore empty lines.

Thanks a lot!

I would like to see this as an option. Something like `ignore-empty-lines.

Looks like there's some interest in this option. Low priority for us, but we're open to PRs.

+1

VsCode by default does not remove whitespace from empty lines.

for VSCode: Version 0.5.0 is out and a new setting has been added to trim whitespace on save (files.trimTrailingWhitespace)

A easy fix if your not worried about the white spaces is to pipe your source through gulp-trimlines.
npm install gulp-trimlines --save-dev
Then in the gulp task:
function tslint(done) {     return gulp.src(PATHS.typescript.app)         .pipe($.trimlines())         .pipe($.tslint({             formatter: 'prose',             noUnusedParameters: true,             noUnusedLocals: true         }))         .pipe($.tslint.report());         done(); }

i think it makes sense to have trailing whitespace on empty lines, especially if you are using something that semantically uses indentation, such as YAML or Python. Can we have a force-trailing-whitespace rule?

@doom777 um, just curious, why would you use tslint on python?

well, you might have something embedded, but I was genereally referring to the overall philosophy. A blank line belongs to a method or a class, or an if block, and therefore should have its indentation.

+1. WebStorm/IntelliJ IDEA has a format option to "preserve indentation on blank lines" which I always use. To me, the spirit of "trailing whitespace" is not to remove indentation.

+1

FYI, ESLint has a "skipBlankLines" option to precisely bypass this problem.

The issue is marked as "Accepting PRs". Feel free to send one.

Fixed by #3346

I believe blank lines and trailing whitespace ought to be treated separately.  I do not like for my devs to leave trailing whitespace, but I do like for them to place one blank line before jsdoc comments to improve readability.  I would like to see this split apart, because if we turn off no-trailing-whitespace for blank lines, then it allows any number of blank lines which can throw off diff comparisons, and does nothing to improve readability.  A no-blank-lines rule could then allow for exceptions such as before-jsdoc, after-method, etc.


Fix pzmap not showing zeroes

pzmap does not show the transfer function's zeroes, as the internal plotting argument has facecolors='none':
   if len(zeros) > 0:
        plt.scatter(real(zeros), imag(zeros), s=50, marker='o',
                    facecolors='none')

Removing this argument solves the issue.

Coverage remained the same at 78.914% when pulling 278524e2c9d424d4e6af5efc59e475fdb30dc7a5 on geez0x1:master into a007fccb190439d6d90da47d85b97c449c60f6b7 on python-control:master.

Fixed in PR #193.


Automated cherry pick of #2105: Support Python 3.11 and Drop Python 3.7
#2109: changed package name to flake8 to fix pip install
#2122: Fix Incorrect Events in get_job_logs API

Cherry pick of #2105 #2109 #2122 on v1.8-branch.
#2105: Support Python 3.11 and Drop Python 3.7
#2109: changed package name to flake8 to fix pip install
#2122: Fix Incorrect Events in get_job_logs API
For details on the cherry pick process, see the cherry pick requests page.

/close

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.05%) to 35.431%

Totals

Change from base Build<PHONE_NUMBER>:
0.05%

Covered Lines:
4380

Relevant Lines:
12362

💛  - Coveralls


fix preprocessor if for dnssd || avahi

took entirely too long to figure out why this wasn't compiling :)

[master 5558a2e] PR #4808: Fix builds without Avahi or mDNSResponder.


Changing Editor Settings spacing only effects auto-indent, not actual tab-key

If you go into editor settings and set spacing to 4 spaces, and go back to editor the auto indent does give you 4 spaces.  But actually pressing tab only gives you two spaces.  I'll take a closer look next week to see if I can find out why.  Probably just need to pass setting to codemirror somewhere.
....
Please provide any additional information, record a screencast with http://quickcast.io or http://screenr.com and attach a screenshot if possible.
JS Bin info

http://jsbin.com/kikava/1/edit
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36
joelarson4

This has been a problem for me as well. I also use 4 spaces and it only gives 2 when pressing tab.


Halite visualizer electron app

A Halite Visualizer desktop app made in electron.
Cross platform and works offline.
Can build into binaries for each OS.
You can also specify an icon for the app if you want 👍

Thanks so much! Will review this.

Almost ready for merge. Could you add the ability to get the replay file name from the command line args.


(Android TV) Seeker Disappears and won't come back

Description
I apologize if this is a duplicate. And I'm sure I won't use the correct technical language. But initially the seeker bar shows up. But when it fades out, the buttons on the Chromecast don't bring it back up so it can't be scrolled. We are using react-native-video.
Version
0.68.2-7
Output of npx react-native info
tv % npx react-native info                                                                                (chore-user-settings-migration) apollos-platforms
warn Package @sentry/react-native contains invalid configuration: "dependency.platforms.ios.sharedLibraries" is not allowed,"dependency.hooks" is not allowed. Please verify it's properly linked using "react-native config" command and contact the package maintainers about this.
error Failed to load configuration of your project.
info Run CLI with --verbose flag for more details.

Steps to reproduce

Play a video (using react-native-video)
The seeker is there initially, and then it fades out and it won't come back

Snack, code example, screenshot, or link to a repository

This is very likely an issue with react-native-video, not with React Native itself.
We would ask that you reproduce this with the latest releases<EMAIL_ADDRESS>react-native-video@5.2.1).
If the issue still occurs, please provide a sample project that shows the issue.


Exception when using --no-slugify

Describe the bug
Running with --no-slugify throws an Exception
To Reproduce
Command to reproduce the behavior:
bandcamp-dl --no-slugify https://severoth.bandcamp.com/album/by-the-way-of-light
https://severoth.bandcamp.com/album/by-the-way-of-light

Expected behavior
Should not throw an Exception if running with --no-slugify.
Logs
Most if not always you will get some kind of output explaining the issue, post it:
Traceback (most recent call last):
  File "/opt/homebrew/bin/bandcamp-dl", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/opt/homebrew/Cellar/bandcamp-dl/0.0.15_2/libexec/lib/python3.12/site-packages/bandcamp_dl/__main__.py", line 114, in main
    bandcamp_downloader.start(album)
  File "/opt/homebrew/Cellar/bandcamp-dl/0.0.15_2/libexec/lib/python3.12/site-packages/bandcamp_dl/bandcampdownloader.py", line 55, in start
    self.download_album(album)
  File "/opt/homebrew/Cellar/bandcamp-dl/0.0.15_2/libexec/lib/python3.12/site-packages/bandcamp_dl/bandcampdownloader.py", line 142, in download_album
    filepath = self.template_to_path(track_meta, self.config['--ascii-only'], self.config['--ok-chars'],
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/bandcamp-dl/0.0.15_2/libexec/lib/python3.12/site-packages/bandcamp_dl/bandcampdownloader.py", line 77, in template_to_path
    path = path.replace("%{trackartist}", track['artist'])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: replace() argument 2 must be str, not None

If possible after running the command with the --debug option.
Desktop (please complete the following information):

OS: macOS
Version 14.4.1 (23E224)
Python Version 3.12.3

Additional context
Add any other context about the problem here.

Looks like this is related to #224 as in its caused by #212 and trackartist being None.

Fixed this by changing the following lines in bandcampdownloader.py
75a76
>
77c78,81
<             path = path.replace("%{trackartist}", track['artist'])
---
>             if str(track['artist']) == "None":
>                 path = path.replace("%{trackartist}", track['albumartist'])
>             else:
>                 path = path.replace("%{trackartist}", track['artist'])

im not sure why if track['artist'] == "None": doesn't work since I'm not a python programmer, so i just used str() to get around that.

Fixed this by changing the following lines in bandcampdownloader.py
75a76
>
77c78,81
<             path = path.replace("%{trackartist}", track['artist'])
---
>             if str(track['artist']) == "None":
>                 path = path.replace("%{trackartist}", track['albumartist'])
>             else:
>                 path = path.replace("%{trackartist}", track['artist'])

im not sure why if track['artist'] == "None": doesn't work since im not a python programmer, so i just used str() to get around that.

This is due to the fact that None is essentially Python's Null, its not a string as its quite literally nothing it just gets converted to one later on when getting set as the artist name.
In this case since you aren't operating on values or actually checking for equality you would go about it differently. In Python everything is an object and that includes None so you want to check identity, rather than equality. In this case you would do: if track['artist'] is None or if readability isn't a concern and you just care if its None/False: if not track['artist']:
For now I'll add the check for this but I really need to handle this in the code that populates the track info dict.

Tentatively fixed with f2d24825bb0f72a51d8af17eaf257e40b6b0e223

Can you please release new version and update brew formula?

Can you please release new version and update brew formula?

I have no control over the brew formula, its maintained by someone else.
However from what I can tell by default it relies on the Pypi package which won't be updated till I get confirmation that the last few recent issues are cleared away. You do seem to have the option to install with bandcamp-dl --HEAD though which appears to grab the latest git release, that should work.

@Evolution0, ok I can update brew formula, but please bump the version and create a github release.

@Evolution0, ok I can update brew formula, but please bump the version and create a github release.

All set

Oh, homebrew now uses Pypi package instead of GitHub release. Will wait when it will be released to update formula then.


[DIF] Implement prototype UART DIF

OpenTitan DIF specification document, although is not final, contains enough information to get started on the DIF implementation.
Providing that the specification doesn't change dramatically, the prototype potentially could turn into the production implementation with some amount of refactoring. Even if the document evolves too much, or changes completely, the main goals of this activity are:

Potentially uncover useful things to complement the existing DIF specification
Potentially uncover any shortcomings of the DIF specification
Have code in place as basis for implementing the final specification

Breakdown:

[ ] Assess which parts of UART driver can be factored out into UART DIF with minimal effort, and which need to reside and refactored appropriately in a higher level driver
[ ] Make appropriate changes to the build system and the directory layout
[ ] Implement DIF functions one at the time (init, write, read...), refactoring the consumers to utilise the new functionality to test out the implementation
[ ] Repeat

I guess there is no reason not to use regtool.py for DIFs, however I think the format of the produced _regs.h has to change because of the following:
"DIFs must not intrinsically know the location of the hardware blocks"
Generated register define headers currently expect "_BASE_ADDR" to be defined before _regs.h inclusion, which if used in DIFs contradicts the above restriction.

I think it might be useful to calculate all absolute addresses (base_address + specific register offset) in uart_t (dif dependent) in uart_init function. This would expose the registers for use in DV and the higher level drivers, and also would allow to calculate register addresses once and use then in other DIF routines.


Makefile: Serialize tarballs reproducibly

This ensures that when we rerun the container build without changing the source, we get the same thing.  Which then further ensures we don't invalidate any cached disk images, etc.

Test was a generic timeout issue.


Do not delete os_glance_* properties

2021-12-20 21:20:23 - Deleting property os_glance_failed_import
2021-12-20 21:20:23 - Deleting property os_glance_importing_to_stores

Fixed with e77f47a7


Allow specifying or reuse existing canvas

Operating System

[ ] Windows
[ ] macOS
[ ] Linux
[ ] FreeBSD
[ ] OpenBSD
[ ] Android
[ ] iOS
[ ] Nintendo Switch
[ ] PlayStation 5
[ ] Xbox
[X] Web Browsers

What feature would you like to be added?
I'd like to reuse an existing canvas element instead of appending one to the bottom of the document.
Why is this needed?
This allows developers to predictably and reliably position their game canvas/screen on an HTML page.

Use iframe to embed an Ebitengine app.


fix(tokens): deprecated token errors

Fixed deprecated token errors

Thanks for looking into this.
I've fixed the underlying issue instead of in the main branch.


Window-specific zoom/font settings.

I would like to have two windows on two monitors with different DPI (1440p and 2160p) and be able to set the zoom/scaling in both the way I like. Currently, the zoom applies to all the windows of vscode, so I can't have two windows with different scaling, so it is always too big on one monitor and/or too small on another.

This is already possible if you store the window.zoomLevel setting in workspace settings. If you do not want to share that with other people, you can also create a multi-root workspace and have the setting there.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

@vityafx that is actually not possible with how VS Code works. the only way to open the same project in 2 windows is by using a 2 multi root workspaces. So you can do everything you want, but it has to be via multi root workspaces: https://code.visualstudio.com/docs/editor/multi-root-workspaces

Please first use issue search before creating new issues: https://github.com/microsoft/vscode/issues/43188
Prior issues that are duplicate to this one:

https://github.com/microsoft/vscode/issues/147073
https://github.com/microsoft/vscode/issues/143663
https://github.com/microsoft/vscode/issues/109480
https://github.com/microsoft/vscode/issues/108661
https://github.com/microsoft/vscode/issues/72011

Hard to believe that this is still an issue in 2023. My current very awkward and brute force workaround for this bs limitation is to have VSCode insiders installed side by side along with the stable channel and open VSCode on one screen and VSCode insiders on the other. If I ever need 3, I guess I'll have to use VSCodium and compile Code - OSS from source for the fourth one.
🤦🏻

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_smiling_face: This feature request received a sufficient number of community upvotes and we moved it to our backlog. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

Adding new commands that allow to zoom in the active window only:

This zoom state is associated with the state of that window and will restore as such until either the zoom setting is changed (which then applies to all windows) or the window is closed.
Please give it a try in our insiders, you can give our preview releases a try from: https://code.visualstudio.com/insiders/


A breaking change is coming, lets make the transition as seamless as possible!

The goal of this project is to add TemporalX support to minio, while the goal has not changed, the original approach has shown it's downsides. Maintains our fork with upstream has become a regular time sink, time we could use bug fixing and developing new features. So we are working towards reorganizing s3x only as a minio gateway instead of a full fork.
Removing the core minio code also gives us a chance to shink this repo if we rewrite master with a fresh history, should this be done?
Most of the work will be towards adopting the CI to concentrate on testing our gateway instead of minio as a whole.
With this change, what other breaking changes should we also make? What do you foresee that we should avoid breaking? Such as anything that we should avoid removing from s3x for your use cases.
This issue is to collect user feedback on this change, while #60 is for development.

The goal of this project is to add TemporalX support to minio, while the goal has not changed, the original approach has shown it's downsides. Maintains our fork with upstream has become a regular time sink, time we could use bug fixing and developing new features. So we are working towards reorganizing s3x only as a minio gateway instead of a full fork.

This will also probably make it much easier to port s3x upstream.

Removing the core minio code also gives us a chance to shink this repo if we rewrite master with a fresh history, should this be done?

Yea I think so, since we just care about the gateway functionality rewriting history would give us a smaller codebase.

force push made


Drain example bounded

This adds a drain function that will return all elements that can be read at the time of the call if a queue has more then one element this can reduce the number of load/compare_exchange operations at the cost of being more expensive at a queue with a single element.
the unbounded queue is so far unimplemented as I wanted to get some feedback first I'll add it before moving out of Draft.

I've an equivalent PR for the async-channels which adds drain() and try_drain() there

Could this make sense as an iterator?
fn drain(&self) -> Result<Drain<T>, PopError<T>>;

struct Drain;
impl Iterator for Drain {
    type Item  = T;
}
impl ExactSizeIterator for Drain {}

As in, can the atomic operations even be used like that? Would you have to/Could you Release the atomic in the Drop implementation?

@Plecra I think you're right, I spend some more time looking into this yesterday and it doesn't work well under load like it does in the tests :) closing this for now

Closing but feel free to reopen the PR if you plan to continue working on it!


KillFeed Error: TypeError: Cannot read properties of null (reading 'name')

Description of Issue
I am getting a lot of error logs with this printout for the discord kill feed plugin. Is this anything I need to worry about or can I set it to ignore?
Errors or Screenshots of Issue
SquadServer][1] Updating layer information...
[SquadServer][1] Updated layer information.
[SquadServer][1] Updating player list...
[SquadServer][1] Updating player list...
[SquadServer][1] Updating player list...
[SquadServer][1] Updated player list.
[SquadServer][1] Updated player list.
TypeError: Cannot read properties of null (reading 'name')
    at DiscordKillFeed.onWound (file:///C:/Users/Administrator/Desktop/Servers/Spaghetti-Bot/squad-server/plugins/discord-killfeed.js:71:28)
    at SquadServer.emit (node:events:532:35)
    at SquadLogParser.<anonymous> (file:///C:/Users/Administrator/Desktop/Servers/Spaghetti-Bot/squad-server/index.js:241:12)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

I am also noticing this in some of the error stacks generated with it.
[SCBLInfo][1] Failed to fetch Squad Community Ban List data for player undefined (Steam ID: undefined):  TypeError: Cannot read properties of null (reading 'steamID')
    at SCBLInfo.onPlayerConnected (file:///C:/Users/Administrator/Desktop/Servers/Spaghetti-Bot/squad-server/plugins/scbl-info.js:88:27)
    at SquadServer.emit (node:events:532:35)
    at SquadLogParser.<anonymous> (file:///C:/Users/Administrator/Desktop/Servers/Spaghetti-Bot/squad-server/index.js:203:12)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

I noticed an influx of these when I enabled the plugin, the SCBL error is a known issue that shouldn't be causing an issue.

@werewolfboy13 i think the issue come when the player is inside a vehicule

https://github.com/Team-Silver-Sphere/SquadJS/pull/240


Slide Deck for Data Submission Tracker Demo

We have a meeting on Jan 10 to Demo the DST for the DMC team and NHLBI. I'd like to do just a little interface polish before we get there. We also have to develop a slide deck for the meeting to frame the Demo properly and show where the project started and how we've changed the development outlook. We should also determine the security/hosting requirements in this meeting.

We have presented the demo to the team and we are soliciting feedback.


Make a version that does not require administrator access

Description of the new feature / enhancement
I'd like to suggest that you release a version of PowerToys that doesn't include any features requiring administrator access.
Scenario when this would be used?
Currently only the File Explorer add-ons require administrator access to enable. Users who don't want or need this feature would be better served with a non-admin edition of PowerToys.
Possible solutions include either making two versions of PowerToys -- one with and one without the File Explorer add-ons -- or moving the File Explorer add-ons to a separate application.
Supporting information
Requiring administrator access complicates the installing, uninstalling, and upgrading processes. It adds confusion to the settings pages (for example #14563). And it opens the door to bugs that wouldn't otherwise exist (e.g., #13818 and #13806).

We're currently working on this, see #10126 for more information. Tagging this as a dup

Duplicate of #10126

VCM will require it due to how the direct show stuff works but yes, that is the POR come .53.  The .53 to .55 should not require a UAC


appimageTools: add extra commands option to extract function

Description of changes
Enhance appimageTools.extract to take an extraCommands option that is an empty string by default. This can be used to substitute certain values on the extracted files, for example, as currently done here:
{
  src = appimageTools.extract {
    inherit pname src version;
    extraCommands = ''
      substituteInPlace $out/usr/lib/bazecor/resources/app/.webpack/main/index.js \
        --replace "checkUdev=()=>{try{if(c.default.existsSync(f))return c.default.readFileSync(f,\"utf-8\").trim()===l.trim()}catch(e){console.error(e)}return!1}" "checkUdev=()=>{return 1}"
    '';
  };
}

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Could this not be achieved with postBuild or postInstall?

@pbsds I don't see how given the implementation uses pkgs.runCommand.

@delroth any chance you can merge this or summon someone who can? Thanks!

No.

I think it would be nice if this was called "post[something]", like the stdenv ones, or postFetch in fetchurl.  postUnpack or postExtract, maybe?

@alyssais great suggestion, I like postExtract better 👍🏽
I initially went with extraCommands similarly to how buildFHSEnv but yours is much clearer, will change it.

For nitpicks like that you can just fix it yourself with the "Squash and Merge" button :)


feat: main layout and nested layouts

Preview Deployment has these Lighthouse Audit scores:

Preview Deployment has these Lighthouse Audit scores:


Update RSpec to 3.0

Related to #445 and based on #453.

@Aigeruth A lot has changed since you created this PR. I'll close it for now. If you think it still needs to be merged please open a new PR and make sure this PR is mergeable. :heart:


Alfoa/target evaluation flushing

Pull Request Description
What issue does this change request address? (Use "#" before the issue to link it, i.e., #42.)
The target evaluation should be flushed in case it is not part of the outputspace of the Step.
Issue #118
What are the significant changes in functionality due to this change request?
The TargetEvaluation in the EnsembleModel is  filled with the data coming from the calculation only in case the linked DataObject is listed as additional <Output> in the Step where the model is used

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[x] 1. Review all computer code.
[x] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[x] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[ ] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[x] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True.
[x] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[x] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[x] 8. If an analytic test is changed/added is the the analytic documentation updated/added?

This is approved to be merged once tests pass.

removed conflicts

Commits reviewed and approved.


JSON key manipulation

Hi,
I'm having a hard time to have the keys generated in all lowercase.
I know I can use the forProductN method, but as we have very large case classes ( > 22 properties) , I wonder if there is generic way of setting the casing of generated keys for all fields of all case classes.
tia
Alex

This may help , Note this is for legacy circe version,

@awouda If you're on circe 0.6+, the new generic-extras module supports arbitrary transformations for field names in generic derivation—see the release notes here for some discussion and examples.

Thanks,
I'm using now
`  val withLowerCaseKeys: String ⇒ String =  _.toLowerCase
implicit val customConfig: Configuration = Configuration.default.copy(transformKeys = withLowerCaseKeys)`
But the keys are still camelCase. I need all keys (from the root of the doc / case class) to be lowercased, so maybe I need a discriminator, but how to set that on the root level?

@awouda Do you have a complete working example that shows the problem? The problem may be that your configuration needs to be in implicit scope at the site where the encoders or decoders are used, not where you define your case classes.

@awouda do you imported io.circe.generic-extras.semiauto._/auto._ instead of io.crice.generic.seminauto._/auto._ ?

Closing as non-reproducible.


Different volume levels of pings for when chatterino is focused/unfocused

a feature that allows the user to set the volume of pings when focused to be higher or lower.
for me atleast when chatterino is focused i can miss pings when its on other cannels because i have them off due to the high volume i like them to be at when its unfocused. i would like there to be a setting that allows me to reduce the volume of pings so that i can barely hear it but still makes me look at the mentions tab. i would like this also because i dont really look at the tabs unless im going to change channels therefore i can miss the red highlight on the tab itself.

Duplicate of #1436

Duplicate of #1436

Not a real duplicate in my opinion. This issue asks for different volumes levels depending on focus.

This issue does not provide enough useful features. As such there is a likely chance of this never being implemented. I will close this so it doesn't become a stale issue that never gets closed.


tests: do not mention on known CI failures

Description

[x] CHANGELOG update is not needed
[x] Documentation is not needed

Testing

[x] inspected CI results

Automated testing

[x] modified existing tests
[x] contributed no automated tests

How I validated my change
CI

Also, the title should probably mention this is only for tests on GHA?


Print out a graph of DataPipe from the Dictionary returned from traverse function

https://github.com/pytorch/pytorch/blob/11231b0f935c092598c994a4bab686485aac1856/torch/utils/data/graph.py#L54

Regarding graph visualization: I needed this today and hacked something together:
from __future__ import annotations

import dataclasses
from typing import Optional, Any

import matplotlib.pyplot as plt
import networkx as nx
from torch.utils.data.graph import traverse

@dataclasses.dataclass(repr=False)
class Node:
    obj: Any
    child: Optional[Node] = None

    def __repr__(self):
        return type(self.obj).__name__

    def __hash__(self):
        return hash(self.obj)

def scan(graph, child=None):
    for node, parents in graph.items():
        current = Node(node, child)
        yield current
        yield from scan(parents, child=current)

def visualize_graph(dp):
    G = nx.DiGraph()
    for node in set(scan(traverse(dp))):
        if node.child is not None:
            G.add_edge(node, node.child)
    nx.draw_networkx(G)
    plt.show()

Simple example:
from torchdata.datapipes.iter import FileLister, FileOpener

dp = FileLister()
dp = FileOpener(dp).filter(bool).map(list)

visualize_graph(dp)

Complex example:
from torchvision.prototype import datasets

dp = datasets.load("coco")

visualize_graph(dp)

I've used networkx as backend here, but we can use any graph visualization library. Let me know, if I should prettify the plots and send a PR.
Originally posted by @pmeier in https://github.com/pytorch/data/issues/284#issuecomment-1069152885

Thanks @pmeier , This looks great.
For the backend lib, I personally would prefer tensorboard to visualize the graph because PyTorch is using it to visualize the model graph. https://pytorch.org/tutorials/intermediate/tensorboard_tutorial.html#inspect-the-model-using-tensorboard
Code reference from tensorboard about how to transform it into GraphDef proto: https://github.com/tensorflow/tensorboard/blob/b2b50a328f9bf6755a72cc6f9fd25bdd792b2bbe/tensorboard/plugins/graph/keras_util.py#L193-L203
Originally posted by @ejguan in https://github.com/pytorch/data/issues/284#issuecomment-1069188827

Let me ask around about it. It seems PyTorch core is still relying on it https://github.com/pytorch/pytorch/blob/0effac2b6aa15b5bf5c941b2b44d8762a787ab36/torch/utils/tensorboard/_pytorch_graph.py#L5

Played with it some more. I've adapted the same style as torchviz and this the result for torchvision.prototype.datasets.load("voc"):

There is an issue with the Demulitplexer but that seems fixable. Let me know if you want me to continue on this route.

I talked with @albanD offline about using TensorBoard. I don't think using it will add anything beyond what networkx provides and torchviz also doesn't use TensorBoard. IMO not using it is fine.
I have been thinking about the issue related to demux, fork, unzip (basically any DP that returns multiple child DPs) as well, at a first glance it doesn't seen outrageous to show the _ChildDataPipe?
Maybe by default we can hide them, but allow an argument to show them.  It may make sense to overwrite and remove the underscore in _Demultiplexer as well. That should be less confusing for users.
Let us talk more as a team on Monday before proceeding.

I have been thinking about the issue related to demux, fork, unzip (basically any DP that returns multiple child DPs) as well

Yeah, all datapipes that return multiple ones when instantiated were affected. I fixed the issue and now
dp1, dp2, dp3 = IterableWrapper([]).fork(3)
dp1 = dp1.map(no_map)
dp2 = dp2.filter(no_filter)
dp = dp1.zip(dp2, dp3)

gives

at a first glance it doesn't seen outrageous to show the _ChildDataPipe?
Maybe by default we can hide them, but allow an argument to show them. It may make sense to overwrite and remove the underscore in _Demultiplexer as well. That should be less confusing for users.

I agree. I don't want to show _ChildDataPipe's by default, since the user never put them in. The same goes for the extra underscore in front of _Forker for example. Maybe we can have a debug flag or the like to disable all simplifications. That mode would then be aimed at datapipe developers, since for them it is useful to see the actual graph and not an equivalent representation.

I talked to the POC who owned TensorBoard in PyTorch. We are not deprecating it as the the API for Tensorboard is not going to change. I settup a meeting with them on Tuesday to understand what's the benefit using TensorBoard.
Only talking about graph visualization, TensorBoard does not provide any benefit compared to torchviz. I am thinking about by adding profiling into TorchData graph, Tensorboard would provide the opportunity to extend the visualization functionality.

Just talked to TB team about integration. They currently don't have a solution to connect graph with profiling result. And, considering TB is quite heavy framework, I don't think TB is going to be a better way compared with torchviz.
And, follow-up on the topic to differentiate iter and map.
For future development, if we are able to connect profiling result with graph, we may want to visualize each node with color based on the performance (green -> fast; reg -> slow. This idea was stolen from TB.). And, only with such feature, we may need to figure out an alternatives other than color. So, I would say color should be sufficient for now.

There is at least one IterDataPipe that takes in MapDataPipe as input, maybe that can be a verbose option in the future to show whether something is iter or map.  At some point, we may also have to consider DataPipes that interacts with torcharrow DataFrames (or maybe that is where our graph starts/ends).
I am going to edit this issue a little bit, by adding a section to track potential (but not essential) features that we want for debugging.

Do you want me to send my code as PR?

Feel free to send PR, I believe Kevin would love to review it.


Open orders is always yes?

For bittrex, I am seeing yes on every pair. Polo, it looks like it's working correctly. Probably some minor issue with how bittrex is logging.

The currend version only supports Poloniex. I need to get Bittrex and Kraken running myself to get logfiles in that format. Maybe in a few weeks.


Reduce latency and constant Underrun errors

Hey!
I need a ultra low latency audio input and output solution. I piped the input stream directly into the output stream and noticed roughly 300-400ms on my desktop (powerful components).
Code:
ao = AudioIO({
        outOptions: {
          maxQueue: 1,
          channelCount: 2,
          sampleFormat: SampleFormat16Bit,
          sampleRate: 48000,
          deviceId: -1,
          closeOnError: false // Need to cause of underruns...
        }
      })

ai = AudioIO({
      inOptions: {
        maxQueue: 1,
        channelCount: 2,
        sampleFormat: SampleFormat16Bit,
        sampleRate: 48000,
        deviceId: -1,
        closeOnError: false
      }
    })

try { ao.start() } catch { }
try { ai.start() } catch { }

ai.pipe(ao)

This is my setup. Even when deleting the maxQueue option and letting it be default, on top of the latency, I get LOTS of underrun errors? Why is that, this is a direct stream with everything matching?
So, how can I reduce the latency even further?
Thank you very much for the package and for the coming help!

Strangely enough, the latency per instance is random.
I restarted it and it came down to a latency of a roughly 150ms or so (just guessing by ear) and stays like that for the whole runtime, but when I restart again it sometimes goes up again to 400 to 500ms...
Could this be related with the underrun errors? What can I do to fix that and achieve near zero latency in this setup?

PortAudio V19.6.0-devel, revision unknown
Input audio options: default device, sample rate 48000, channels 2, bits per sample 16, max queue 1, frames per buffer 0, close on error false
Input device name is default
ALSA lib pcm.c:8526:(snd_pcm_recover) underrun occurred
AudioIO: portAudio status - output underflow
ALSA lib pcm.c:8526:(snd_pcm_recover) underrun occurred
AudioIO: portAudio status - output underflow
ALSA lib pcm.c:8526:(snd_pcm_recover) underrun occurred
AudioIO: portAudio status - output underflow

Getting underflow errors too

I switched to node-speaker


Closing the app while a photo is saving causes it to be lost

Took me a bit to figure out what was happening here, but every now and then when I open my camera to snap a quick picture, I'll end up not having the photo later.  Seems to be that if the app is closed before the photo is finished saving (which takes a second or two on my Pixel 4, GrapheneOS), the image is just lost forever.  I often open my camera by double-tapping the lock button to take a photo and then close it after it's done, or take a few and end up closing it before the last photo is saved, which leads to lost pictures.

I've got the same problem with Graphene camera but also with Open Camera.

Please try again with version 25.

You can enable the Camera Beta channel in the app repository client by going to the app page and the drop-down menu settings to get the release, or install it from GitHub.

I've tested 25 a bit and it seems like there is now a 1-2 second lag between pressing the button and the "shutter" noise/picture actually being taken. I guess this is preferable to before when the shutter would go off right when the button was pressed but the picture wasn't actually taken until 1-2 seconds later, but it feels worse to use.
There also seems to be a new problem now where if I close the app in that 1-2 second lag period, sometimes when I open it again the camera is stuck in the "please wait until the image is saved" mode forever with the spinner around the gallery image spinning.  This lasts until I close the camera and open it again.
So it kinda seems like the core issue is still here, in that if I press the button and close the app before the image is saved, the image is lost, and it also sometimes breaks the camera the next time I open it.

I've tested 25 a bit and it seems like there is now a 1-2 second lag between pressing the button and the "shutter" noise/picture actually being taken. I guess this is preferable to before when the shutter would go off right when the button was pressed but the picture wasn't actually taken until 1-2 seconds later, but it feels worse to use.

It's more accurate and the intended way because the shutter sound previously was misleading. Users would hear the shutter sound when they hit the button, but it wasn't when it actually took the picture. The shutter sound is now when it actually takes the picture. It now works exactly the same as Google Camera.

Yeah I get that it's more true to when the image is saved, and therefor preferable to being misleading, but the lag still does not feel good to use.
To say it's exactly the same as Google Camera is not accurate though.  Google Camera takes the photo/sounds the shutter within probably 100ms of when you press the button, maybe even quicker.

Our app plays the sound and animation when the photo is captured, not when the photo is saved. It's already as fast as it's going to get via Camera2 / CameraX and there is no longer a delay for further processing and then saving the photo after it's reported to us as captured. There isn't a 1-2 second delay for capturing the photo. Are you using Quality mode or Latency mode? Please read the thread at https://twitter.com/GrapheneOS/status/1519047412052017157. You're not comparing apples to apples with other apps if you use Quality mode which waits for 3A lock.

There is no way to capture photos regularly than Latency mode already does. There is no room for improvement beyond CameraX working on supporting ZSL as another photo. Many widely used apps use ZSL and don't actually capture the photo when you request it but rather ask the OS to continuously take photos and then simply give you the last one they have available when you press the button. It's not quite the same as taking a new photo, especially in Quality mode where it tries to make sure auto-focus, auto-exposure and auto-white-balance are updated.

There isn't a 1-2 second delay for capturing the photo.

I... don't know what to say other than there definitely is? I'm in the default mode, which is Quality, and there is a delay.  You can tell by hitting the button and then moving the camera and seeing what image is taken (before moving or after moving).
I did not even know there was another mode, so I have just switched it to Latency mode per your suggestion, and I see now that while there is a delay in sound/shutter animation, there is no longer a delay in capture, which is way better.  Personally I would prefer if in Latency mode if the shutter/sound matched the capture, but this works.  This seems like it should be the default mode to me.

The sound is already played when the OS tells us the photo is captured. All we can know is when it's reported to us as captured, not the immediate moment that capture occurs. It's not possible.

Ok well regardless of the delayed sound/animation, if I close the app during that delay the photo still goes missing, in both Quality and Latency modes.  Are you saying this cannot be fixed?
Additionally, there is a new issue where if I press the home button while it's saving it gets stuck in "saving" state the next time I open the app (spinner around the gallery icon in the lower right) and prevents me from taking any photos until the app is closed and opened again.  Would you like me to open a separate bug for that?

I am having the same problem. Pixel 4a. Sometimes, if I close Camera too quickly, the picture is either not taken or not copied to the galery. In case of the latter, however it is possible to access the picture through [Device Name]/DCIM/Camera. But not through Pictures/Camera.
It is annoying if no picture at all is taken. Because often I rely on being able to take a quick picture.

For the time being, stop forcefully closing the app activity.

It does show when the image has been saved.

If you're closing the app while it's saving, then sometimes it will have had time to add it to the media store but not to the directory. It's entirely expected with how it works right now. It doesn't save in the background. Consider what would happen if you exited an application on your desktop while it was saving. You'd probably wait for it to finish before you closed it. It's possible for us to spawn a background service for saving but I don't think it's what people should assume from an app, and you can see the same approach as ours in other camera apps.

My desktop is not my phone, but if I start a task and then lock the PC or minimize the app (pressing the home button essentially) I do expect it to finish, yes. Both of those scenarios are causing the image to be lost here.

You're implying that switching away from the app stops it from saving the photo. Is that what you're saying? Closing the app in recent apps is equivalent to minimizing and then closing an app on the desktop. Recent apps is the task bar equivalent where the app has been minimized. Closing it there is closing the app and killing the activity, etc.

Yes, I am saying if the app is not explicitly in the foreground, it may not save the photo.
And as I mentioned above, when pressing the home button now there is an additional problem of the image not being saved plus you can no longer take new images because it is stuck in the saving state.

@thestinger thank you for taking the time.
I would like to elaborate a little bit, to hopefully make my use case more clear.
How I would like to use the app:

See something interesting without having much time to capture it. Maybe I am on the train and have to get out at the next station, while passing by something interesting
Grab my phone, double tapping the power button to activate the camera without unlocking the phone
Tap the shutter once I see the preview on the screen - image is immediately captured
Image will be saved in background without me having to wait or worry about it
Tap power button once to lock my phone again (total time elapsed: approximately 3-5 seconds)
store my phone in my pocket

Thank you for your astonishing work!

Tap the shutter once I see the preview on the screen - image is immediately captured

You need to use latency mode for that then. Quality mode waits for the 3A locks. In this scenario, you will not have enough time for that and need to use latency mode or the upcoming ZSL mode.

I've switched to Latency mode and it's much better for this use case, and after noticing version 29 just came out with what looked like a fix for the other issue I noticed, I did some testing and can no longer repro the getting "stuck" in the saving state issue, which is great.
@Zanthed I'm not really familiar with ZSL mode, but do you think that will also solve the image being lost issue?

This appears to be working now.


Add documentation and example for dynamic redirects

Document feature #121:

Update the README to include info on using functions to resolve redirect URLs.
Remove the existing redirect example in the example app (see this comment). Users have found this example confusing, because it redirects unexpectedly when you're logged in.
In the example, add dynamic redirects on the auth page and one or two of the example pages.

Just to chime in with an example Login Page I'm using in an app. If a user attempts to hit an authenticated endpoint but is not authenticated, the app will redirect to the login page, but append the original route to the login url, e.g., /login?next=/dashboard?id=1234. So in the login flow, if the user is successful in authenticating, we redirect them back to the page.
/**
 * @/pages/login
 */
import dynamic from 'next/dynamic'
import { NextPage } from 'next'
import { withAuthUser, AuthAction } from 'next-firebase-auth'
import { SimplePageWrapper } from '@/components/layout/PageWrapper'
import FullComponentLoader from '@/components/layout/FullComponentLoader'

const FirebaseAuth = dynamic(() => import('@/components/auth/FirebaseAuth', {
  ssr: false,
})

const Login: NextPage = () => (
  <SimplePageWrapper title="Login">

Welcome to My New App!

   <FirebaseAuth />
  </SimplePageWrapper>
)

export default withAuthUser({
  whenAuthed: AuthAction.REDIRECT_TO_APP,
  whenUnauthedBeforeInit: AuthAction.SHOW_LOADER,
  whenUnauthedAfterInit: AuthAction.RENDER,
  LoaderComponent: FullComponentLoader,
  appPageURL: ({ ctx, AuthUser }) => {
    const params =
      typeof window === 'undefined'
        ? new URL(ctx.req.url).searchParams
        : new URLSearchParams(window.location.search)
    const next = params.get('next')
    return next ?? '/dashboard' // return default if no param exists
})(Login)

@litewarp That's exactly what I was looking for. If someone else wants to try this out before the stable release, you need the latest alpha to allow appPageURL to accept a function and not just a string.

Yeah the dynamic import for the FirebaseAuth component is a great idea. I will have to try that too.


Add more logging for different aspects of datascience

Random failures might occur in the wild, we should at least have logging for such a case

We would like to redesign logging for the Python extension. It's just not as useful as it could be and will get cumbersome and slow with lots of additional info.

slow with lots of additional info.

Not sure about this, I have enable logging in a number of places  and found that it doesn't slow things down. I.e. we need to measure this to determine any detrimental effects.
Either way, the long term plan is to disable verbose logging off, and enable just error and perhaps warnings on. So any concerns about performance impacts will be resolved.
We do have a separate issue to add more logging across the extension. #2156, #2673, #3256


Training details

Is there any plan to release training script or technical report?

And also the dataset? That would be fantastic.

very nice, I also want to know these details, will they be made public?

And also the dataset? That would be fantastic.

The dataset is somehow sensitive, it can't be publicly released because of there may exists privacy and other ownership problem. When AIGC has more freedom in the right to use data, it may be possible to release the data to public.

And also the dataset? That would be fantastic.

The dataset is somehow sensitive, it can't be publicly released because of there may exists privacy and other ownership problem. When AIGC has more freedom in the right to use data, it may be possible to release the data to public.

I understand. Can you release some part of the dataset?

Hii @xinsir6! Hope you are doing well! Was wondering if you have an update on the training script, by any chance. I totally understand that you can't release the dataset, but a training script would allow us to use your beautiful architecture for different domains, which would be greatly appreciated. Either way, as always, thank you so much for your contribution!


Implementation for PGExplainer (GNN interpretation method)?

🚀 Feature
GNN interpretation is becoming more and more important and would be pretty great to have in this framework. GNNExplainer is good but recently a new interpretation model emerged in NuerIPS 2020 called PGExplainer. It has much better performance and is parametrized by the nodes meaning it's a broader method than GNNExplainer. The user just needs to train the explainer once for the whole graph and can produce an explanation for any given node without the need for any significant overhead. The paper is linked here https://arxiv.org/pdf/2011.04573

Yes, that is something which I would love to add to PyG. Please let me know if you would like to contribute.

Sure, though I am not quite sure how to get started. If you could point me in the right direction i can take a stab at it :). The academic code for the paper can be found at https://github.com/flyingdoog/PGExplainer. (Note I'm not connected to the paper at all, I just think it would be cool to integrate in this package)

@shalinkpatel, Firstly thanks for sharing the paper.
I had some thoughts on the implementation.

the pg explainer module can be built, working off gnn expliner code
it modifies edge_mask and a similar thing could be done for pgexplainer.
further a new loss module will need to be implemented.

I'd be happy to collaborate with you on this.

@wsad1 Thanks for the thoughts. I actually already started work on the issue recently. It follows the basic steps you just mentioned above. It runs and trains without error so far. Currently, I am just in the process of debugging so it shouldn't be too long :). Thanks for the offer though!

@shalinkpatel . Are still you working on this.

@wsad1 Unfortunately I have had to stop working on this due to other time commitments. I actually got it to work (somewhat) in this forked repo: https://github.com/shalinkpatel/pytorch_geometric. The main issue is that the budget and connectivity constraint are not implemented yet and as such the method does not work well at all. Please feel free to pick up from where I left off or however you would like to. I will have more time in a month and will probably revisit then.

Thanks, i'll check it out this weekend.