Should outbound port requirements includes port 123 for NTP and also port 12000 for monitoring ?

I can see communication in network watcher from redis to 123 port and also to 12000 port. It is not clear from this doc if it should be or has to be included in nsg rules or not. Please can you clarify it?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 3bced23e-5c67-3a63-06f7-c659ba56b5e7
Version Independent ID: 10d48e1f-e090-ab51-553c-64655a102c9d
Content: Configure a Virtual Network - Premium Azure Cache for Redis
Content Source: articles/azure-cache-for-redis/cache-how-to-premium-vnet.md
Service: cache
GitHub Login: @yegu-ms
Microsoft Alias: yegu

@PeterUherek Thanks for the feedback. We are checking this.

@PeterUherek Port 123 and 12000 are used for specific Azure Admin related functions. They should be created in Firewall rules.Port 123 rule allows the system to perform clock sync using NTP. Create another rule the same way to port 12000 to help triage any system issues.

@PeterUherek Please let us know if you need any further help with this.

If I dont have a firewall?

@yegu-ms Can you add clarity here and check if this can be added to the document.
@PeterUherek We are checking this with our Doc author for further update.

#reassign:@flang-msft

Thanks for your dedication to our documentation. Unfortunately, at this time we have been unable to review your issue in a timely manner and we sincerely apologize for the delayed response. Though the scope of our feedback channel here on GitHub covers specific documentation fixes, we can help redirect you to the right support channel to get an answer to your question:
https://docs.microsoft.com/en-us/answers/topics/azure-cache-redis.html. Because this issue does not relate to documentation, we are closing this issue.
#please-close


Java SDK

Should be based on an API (https://docs.eventnative.dev/api) and published to maven repo

https://github.com/ksensehq/eventnative-java-sdk - SDK repository
https://mvnrepository.com/artifact/org.eventnative/eventnative - maven release
https://github.com/ksensehq/eventnative-java-sdk/wiki/Maven-release-flow - release flow description


chore(deps): upgrade runtime dependencies

Upgrades project dependencies. See details in workflow run.

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

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

Questions ?
Please refer to the Backport tool documentation


systemd: bootctl: clean up handling of files with no version information

Description of changes
Cherry-pick patch from https://github.com/systemd/systemd/pull/27069 (minus LOG_SET_PREFIX line)
Fixes https://github.com/NixOS/nixpkgs/issues/223579
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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 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

[ ] Fits CONTRIBUTING.md.

I don't think NixOS usually takes backport patches for systemd. I think we try to get upstream to backport it to a stable release and wait for that.

Please poke upstream to cherry-pick this into systemd-stable.


Rename to Microsoft.Framework.Caching.*

Fixes: https://github.com/aspnet/Caching/issues/45
@davidfowl @muratg
PRs for other repos affected due to this rename will follow.

:shipit:

:shipit:

Merged : https://github.com/aspnet/Caching/commit/566627d4fc42fcdffc02d97b29a70da0dbb28592


Setup Black Formatter

Setup and configure the Black formatter for the project. Add and configure a GitHub workflow for the Black formatter.

git fetch origin
git checkout 4-setup-black-formatter

Issue not needed. This feature is part of the other issue.


Migrate nonlocal games 1596 task2 ghz quantum

The link to the issue: https://github.com/microsoft/qsharp/issues/1596
This pull request covering

GHZ quantum tasks 2.1 (creating entangled triple).
GHZ quantum task 2.2 (quantum strategies).
Quantum strategy discussion.
GHZ quantum task 2.3 (quantum game) is converted to demo.

Testing done:

Build "python ./build.py" is successful
Placeholder cases are syntactically correct but failing verifications.
Solutions are successful.
Some other failure scenarios were tested manually

This week got crazy, so I didn't get to reviewing this - sorry about that! I'll look on Monday, my calendar is a lot clearer then

I looked at the two tasks this PR adds and left some comments. I'll take a look at the discussion and the demo tomorrow, sorry I can't finish it today, so decided to post a partial review. (Though the comment about not defining variable when measuring can be applied to the demo as well)
Thank you!

@tcNickolas - Maria, comments are addressed, waiting for re-review.


ISO 19115 en Geoportal

Hello,
I have the following query for you

I have Geoportal installed and I realize that at the moment of entering metadata under ISO 19115 or ISO 19115-2 this does not bring all the fields that this standard establishes.

If you confirm that only a limited number of fields are provided, I would be grateful if you would advise me what I should do to add the rest of the standard or where and how to purchase it to use it.

Best regards

you are right not all the ISO fields are included in the editor, there is a wiki page might be helpful for understanding and customizing the editor, https://github.com/Esri/geoportal-server/wiki/Geoportal-XML-Editor


Fixed punctuation.

I recently reviewed the content and identified a minor punctuation miss.

@VishalYadavShorthillsAI , "that are mmapped" fix is not a typo error, Please revert this change, keep all other changes as it is and Re-Raise the PR


Add tests to xeus-cling

Many thanks to @takluyver for the jupyter_kernel_test package which made this possible!


Applications run but don't create window

Environment
Windows build number:  Win32NT             10.0.21364.0 Microsoft Windows NT 10.0.21364.0
Your Distribution version: Release:        20.04
Your WSLg version: <IP_ADDRESS>

Steps to reproduce

Launch a wsl instance in Windows Terminal
Launch a graphical application (gedit in this example)

WSL logs:

Attach WSLg logs from  /mnt/wslg

You can access the wslg logs using explorer at: \\wsl$\<Distro-Name>\mnt\wslg (e.g.: \\wsl$\Ubuntu-20.04\mnt\wslg)

pulseaudio.log
weston.log
versions.txt

Expected behavior
gedit will open and present a blank file with all UI elements
Actual behavior
The application runs, does not create a window, and prints these errors
pengu@ARCTICA:~$ gedit

(gedit:22): Gdk-CRITICAL **: 19:34:15.273: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.364: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.364: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.539: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.539: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.539: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.539: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.539: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.539: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.539: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.539: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.540: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.540: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.540: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.540: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.540: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.540: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.540: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.541: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.541: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.541: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.541: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.541: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.541: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.541: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.541: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.541: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.616: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.681: gdk_seat_get_pointer: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.681: gdk_device_get_window_at_position_double: assertion 'GDK_IS_DEVICE (device)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.681: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.681: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.681: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.681: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

(gedit:22): Gdk-CRITICAL **: 19:34:15.681: gdk_seat_get_keyboard: assertion 'GDK_IS_SEAT (seat)' failed

https://aka.ms/AAc1v26

@Thepenguin9 , would you please provide output of dmesg ?
It looks WSLg failed to start RDP client software (mstsc.exe) in Windows side, the provided weston.log does not show the connection to Windows.
[19:34:15.666] CreateWndow(): rdp_peer is not initalized
And virtiofs is also not properly configured in your system, this could be separate issue, but can be same root case.
[19:34:09.983] WSL2_SHARED_MEMORY_MOUNT_POINT is not set.

@Thepenguin9 , would you please provide output of dmesg ?
Interestingly that dmesgoutput.txt of the puzzle. I've been having mount errors for an unrelated experiment on a hard drive, so I didn't think to check it now.

I followed the guide in the root readme; updating wsl via powershell; restarting the instance; restarting my computer for good measure.
I can't recall any other actions I could've taken to affect WSLg

It looks WSLg failed to start RDP client software (mstsc.exe) in Windows side, the provided weston.log does not show the connection to Windows.

mstsc.exe works fine launching from start, not sure what I can do there

And virtiofs is also not properly configured in your system, this could be separate issue, but can be same root case.

And this I have to admit I have no knowledge of, nor encountered this when setting up wsl

It seems you are not runnnig WSL2. What's the output of wsl.exe -l -v ?

Are you running a custom kernel? Make sure you are running latest kernel from Windows Update with wsl.exe --update and comment out the kernel entry in .wslconfig.

I was running a self-build of Microsoft's own kernel. No edits, just locally compiled.
Commenting out the self-built kernel and restarting wsl has fixed the issue I had.
I will try and rebuild the kernel and see if it still works, though for now this issue can be considered solved!

this seems to be happening to me as well (no i don't have a custom kernel nor any self-built thingy like thepenguin9 so yeah help please)

@c4artisan, would you please share /mnt/wslg/weston.log? thanks!

@hideyukn88
The same started happening to me today, immediately after enabling systemd per the instructions here. After disabling systemd (just removed wsl.conf) I'm able to see windows again.
I also updated wsl today, so it might be an issue in the latest version.
PS> wsl --version
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>
WSLg version: 1.0.47
MSRDC version: 1.2.3575
Direct3D version: 1.606.4
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22623.1020

Here's my own /mnt/wslg/weston.log, seems similar to the one above:
weston.log
Unfortunately disabling systemd is not an acceptable workaround for me, as I'm running apps that depend on it.

anything new on my end?

@hideyukn88

@OfekShilon: I wonder if you have a sysyemd unit that kills the X11 socket.
Can you share the output of sudo systemctl -t service  and dmesg ?

~$ sudo systemctl -t service
  UNIT                                 LOAD   ACTIVE SUB     DESCRIPTION
  accounts-daemon.service              loaded active running Accounts Service
  apport.service                       loaded active exited  LSB: automatic crash report generation
● atd.service                          loaded failed failed  Deferred execution scheduler
  avahi-daemon.service                 loaded active running Avahi mDNS/DNS-SD Stack
  blk-availability.service             loaded active exited  Availability of block devices
  console-getty.service                loaded active running Console Getty
  console-setup.service                loaded active exited  Set console font and keymap
  cron.service                         loaded active running Regular background program processing daemon
  dbus.service                         loaded active running D-Bus System Message Bus
  finalrd.service                      loaded active exited  Create final runtime dir for shutdown pivot root
  gdm.service                          loaded active running GNOME Display Manager
  keyboard-setup.service               loaded active exited  Set the console keyboard layout
  ModemManager.service                 loaded active running Modem Manager
  networkd-dispatcher.service          loaded active running Dispatcher daemon for systemd-networkd
  NetworkManager-wait-online.service   loaded active exited  Network Manager Wait Online
  NetworkManager.service               loaded active running Network Manager
  polkit.service                       loaded active running Authorization Manager
  rsyslog.service                      loaded active running System Logging Service
  rtkit-daemon.service                 loaded active running RealtimeKit Scheduling Policy Service
  setvtrgb.service                     loaded active exited  Set console scheme
  snapd.seeded.service                 loaded active exited  Wait until snapd is fully seeded
  snapd.service                        loaded active running Snap Daemon
● ssh.service                          loaded failed failed  OpenBSD Secure Shell server
  switcheroo-control.service           loaded active running Switcheroo Control Proxy service
  systemd-binfmt.service               loaded active exited  Set Up Additional Binary Formats
  systemd-hostnamed.service            loaded active running Hostname Service
  systemd-journal-flush.service        loaded active exited  Flush Journal to Persistent Storage
  systemd-journald.service             loaded active running Journal Service
  systemd-logind.service               loaded active running Login Service
  systemd-networkd-wait-online.service loaded active exited  Wait for Network to be Configured
  systemd-networkd.service             loaded active running Network Service
● systemd-remount-fs.service           loaded failed failed  Remount Root and Kernel File Systems
  systemd-resolved.service             loaded active running Network Name Resolution
  systemd-sysctl.service               loaded active exited  Apply Kernel Variables
  systemd-sysusers.service             loaded active exited  Create System Users
  systemd-timedated.service            loaded active running Time & Date Service
  systemd-tmpfiles-setup-dev.service   loaded active exited  Create Static Device Nodes in /dev
  systemd-tmpfiles-setup.service       loaded active exited  Create Volatile Files and Directories
  systemd-udev-settle.service          loaded active exited  udev Wait for Complete Device Initialization
  systemd-udev-trigger.service         loaded active exited  udev Coldplug all Devices
  systemd-udevd.service                loaded active running udev Kernel Device Manager
  systemd-update-utmp.service          loaded active exited  Update UTMP about System Boot/Shutdown
  systemd-user-sessions.service        loaded active exited  Permit User Sessions
  udisks2.service                      loaded active running Disk Manager
  ufw.service                          loaded active exited  Uncomplicated firewall
  unattended-upgrades.service          loaded active running Unattended Upgrades Shutdown
<EMAIL_ADDRESS>      loaded active exited  User Runtime Directory /run/user/1000
<EMAIL_ADDRESS>       loaded active exited  User Runtime Directory /run/user/122
<EMAIL_ADDRESS>                  loaded active running User Manager for UID 1000
<EMAIL_ADDRESS>                   loaded active running User Manager for UID 122
  wpa_supplicant.service               loaded active running WPA supplicant

dmesg output:
dmesg.txt
Thanks.

Thank you @OfekShilon.
I don't see anything that jumps out, but let's gather some debugging information to see if we can root cause this. Can you share:

Which distribution you're using
The output of ls -la /tmp/.X11-unix/
The output of sudo mount
The output of sudo systemctl -u wslg-mount.service
If running sudo systemctl restart wslg-mount.service solves the issue
If running systemctl disable gdm.service, and wsl.exe --shutdown solves the issue ? (after restarting the distro)

Thank you @OfekShilon.
Sorry about the typo on wslg-mount.service (what I meant was systemctl status wslg-mount.service), but I can see that /tmp/.X11-unix/X0 exists on your machine, so this is not the same as this issue as I suspected.
Let's keep digging on #917

i'm using a self-compiled kernel and getting the same error

i'm using a self-compiled kernel and getting the same error

Firstly it's within the penultimate hour of the year, so Happy New Year!
Secondly, there is likely some secret sauce being applied to the kernel so audio and windows (the actual window of the program) and input etc actually works.
It would be best you spin this off into it's own issue and instead reference this one via it's issue number! I consider this issue fully resolved so it would be the more appropriate place.

happy new year!


consider setting default limits to maximum

Current defaults seems copied what api defines as default. They are very small and the maximums are not very large either.
for example categories default limit is now 20, maximum is 50. And api currently returns total categories over 20 but less than 50.

also quite inconsistent:
... album().tracks.limit -> 50 ... but album_tracks() uses limit 20

I'd hate to change it precisely because it is the API default too. I agree it would speed up calls to lengthy resources. But for any such call it's easy to include the maximum limit.
tracks = s.all_items(s.album_tracks(album_id, limit=50))
Many times all items are not needed, and 20 might be fine. I think we'll be lads to the people over at Spotify and reduce their load a bit, or respect whatever their reason was for these defaults.

I'm afraid OP deleted his account, I didn't know about @ghost :(
If you need someone's else opinion, I'd leave the default limits as they are too. It's really easy to modify anyway, as you pointed out.

Yeah, I noticed, too bad. But I'll close this then, as some sort of consensus has been achieved.

This should be revisited. It wouldn't be too hard to provide a parameter / context manager to turn on maximum limits.


Sensu RPM package is broken: remove + reinstall does not update directory ownership in /var/run

If you uninstall sensu and then re-install sensu, the package will create a new sensu user with UID that differs from the sensu user created by the earlier package install.  However, the package does not update the ownership of /var/run/sensu, leading to this:
# ls -ld /var/run/sensu
drwxr-xr-x. 2 983 root 40 Oct 31 12:01 /var/run/sensu/

And ultimately this:
{"timestamp":"2016-10-31T12:09:33.651781-0400","level":"fatal","message":"could not write to pid file","pid_file":"/var/run/sensu/sensu-api.pid"}

Expected Behavior

I expect to be able to successfully start sensu services after re-installing the package.
Current Behavior

See above.
Possible Solution

The package should remove /var/run/sensu when the package is removed.  The directory will be re-created with correct permissions when the service starts.
Steps to Reproduce (for bugs)

Install, configure, and start sensu-server and sensu-api
Remove sensu (yum remove sensu)
Reinstall sensu (yum install sensu)
Attempt to start sensu-api (systemctl start sensu-api).

Context

Your Environment

Sensu version used: sensu-0.26.5-2.x86_64
Active Sensu extensions (e.g. WizardVan 0.1.0):
Operating System and version (e.g. Ubuntu 14.04): RHEL 7
Transport and runtime versions (e.g. RabbitMQ 3.6.2 on Erlang 18.2):

This is fixed and will be available in the upcoming 0.27 release. The new package scripts run chown against the pid directory with each postinstall: https://github.com/sensu/sensu-omnibus/blob/master/package-scripts/sensu/postinst


Advanced constructor - Click navItems simultaneously

I created a multiple wheelnav using the Advanced constructor with a slicePath().DonutSlice and my aim is to click either the image or the text slice and they will be selected simultaneously, like the cogSlice.
I tried using this code,
newheels0.navItems[0].navigateFunction = function() {
	newheels1.navigateWheel( 0 );
};
newheels1.navItems[0].navigateFunction = function() {
	newheels0.navigateWheel( 0 );
};

then click the other navItem, whenever I click the navItem[0] to test it, my browser stuck up, and i tried to wait it, and it occurs an error "Maximum call stack size exceeded". I think this returns an infinite loop?
What do you think is the problem here? :) Thank you.

Please try this:
this.newheels0 = new wheelnav("newheel0");
this.newheels1 = new wheelnav("newheels1", this.newheels0.raphael);

thisnewheels0 = this.newheels0;
thisnewheels1 = this.newheels1;
this.newheels0.navItems[0].navigateFunction = function () {
    thisnewheels1.navigateWheel(0);
}
this.newheels1.navItems[0].navigateFunction = function () {
    thisnewheels0.navigateWheel(0);
}

Thank you for the quick reply.
Unfornately, it still not working :(
Here's my sample code:
window.onload = function () {

   setWheel();

};// on load

var setWheel = function(){
    this.newheels0 = new wheelnav("newheel0", null, 300, 300);
    this.newheels1 = new wheelnav("newheel1", this.newheels0.raphael);

    this.newheels0.slicePathFunction = slicePath().DonutSlice;
    this.newheels0.slicePathCustom = slicePath().DonutSliceCustomization();
    this.newheels0.sliceSelectedPathCustom = this.newheels0.slicePathCustom;
    this.newheels0.sliceInitPathCustom = this.newheels0.slicePathCustom;
    this.newheels0.slicePathCustom.minRadiusPercent = 0.5;
    this.newheels0.slicePathCustom.maxRadiusPercent = 0.7;

    this.newheels1.slicePathFunction = slicePath().DonutSlice;
    this.newheels1.slicePathCustom = slicePath().DonutSliceCustomization();
    this.newheels1.sliceSelectedPathCustom = this.newheels1.slicePathCustom;
    this.newheels1.sliceInitPathCustom = this.newheels1.slicePathCustom;
    this.newheels1.slicePathCustom.minRadiusPercent = 0.1;
    this.newheels1.slicePathCustom.maxRadiusPercent = 0.5;

    thisnewheels0.createWheel(["1","2","3","4"]);
    thisnewheels1.createWheel(["a","b","c","d"]);

    thisnewheels0 = this.newheels0;
    thisnewheels1 = this.newheels1;

    this.newheels0.navItems[0].navigateFunction = function () {
        thisnewheels1.navigateWheel(0);
    }
    this.newheels1.navItems[0].navigateFunction = function () {
        thisnewheels0.navigateWheel(0);
    }
}

My browser still stuck whenever i click the navItems[0]

Your above code contains an error.
You used thisnewheels0 before createWheel instead of this.newheels0.
I've created a JS Bin and it works well.

There are no examples of submenu？Can you give me a guide demo?

Did you check the JS Bink link in my comment above?
I think this is a good example of submenu.

There is no such example as the official website?thx

Sorry for the late reply I just came back from my vacation. It works great when i use your cdn

http://cdn.jsdelivr.net/wheelnav/1.7.0/wheelnav.min.js

But if I use the local wheelnav.min.js with the same version 1.7.0, it still stuck in the browser, I don't know why. Anyway, I'll just used the CDN. Thank you very much.
One last question, is it possible to populate the .navigateFunction via FOR loop?
for( var i = 0; i < 4; i++){
	thisnewheels0.navItems[i].navigateFunction = function() {
		newheels1.navigateWheel( i )
	};
}

My aim is to make the wheel navItem dynamic.

@Mhj520 There is no such example. Please check this issue.

@leemel2016 Yes, you can populate it in this way.

thank you!!!


Conflict with quick-switch bind [BUG]

An update of TF2 Bot Detector broke this script https://github.com/jooonior/tf2-loadouts-script and every time you try to quick-switch it doesn't recognize. Previously this bind worked.
How to replicate:

Open TF2 with TF2 Bot Detector
Join a match
When pressing the key that triggers quick-switch binds, it outputs an error in the console, for example: "Unknown command: loadouts.class.A" when trying to switch to loadout "A"

If you don't launch TF2 with the bot detector, the quick-switch bind works as intended.
OS: Windows 10
Version of the TF2 Bot Detector: v.<IP_ADDRESS>9
I also have "Config Compatibility Mode" on.
This bug might have occurred after the 17th of March 2022 (this is the last good date of my saved_loadouts.txt).

The console gives me these messages when I am on a server and trying to use the quick-switch bind.
Msg from SERVER_IP: svc_UserMessage: type 16, bytes 17
Msg from SERVER_IP: svc_UserMessage: type 5, bytes 34
Unknown command: loadouts.A
Msg from SERVER_IP: svc_UserMessage: type 5, bytes 34
Msg from SERVER_IP: svc_UserMessage: type 5, bytes 34
Unknown command: loadouts.A
Unknown command: loadouts.A
Msg from SERVER_IP: svc_UserMessage: type 5, bytes 34
Unknown command: loadouts.A
Msg from SERVER_IP: svc_UserMessage: type 5, bytes 34
Unknown command: loadouts.A
Msg from SERVER_IP: svc_UserMessage: type 5, bytes 34
Msg from SERVER_IP: svc_UserMessage: type 5, bytes 34
Unknown command: loadouts.A
Unknown command: loadouts.A
Msg from SERVER_IP: svc_UserMessage: type 5, bytes 34
Unknown command: loadouts.A
Msg from SERVER_IP: svc_UserMessage: type 5, bytes 34
Unknown command: loadouts.A
Msg from SERVER_IP: svc_UserMessage: type 5, bytes 34
Unknown command: loadouts.A
Unknown command: loadouts.A
Msg from SERVER_IP: svc_UserMessage: type 5, bytes 34
Msg from SERVER_IP: svc_UserMessage: type 5, bytes 34
Unknown command: loadouts.A
Msg from SERVER_IP: svc_UserMessage: type 5, bytes 34
Unknown command: loadouts.A
Msg from SERVER_IP: svc_UserMessage: type 5, bytes 34
The text SERVER_IP is actually not in the output, I just changed the IP because I don't know if it's mine so...

How did you resolve this?

How did you resolve this?

It was an error on my end.
The cause of this was me updating Mastercomfig, I had edited a previous version and I changed the name of its "autoexec.cfg" to "mastercomfig_autoexec.cfg" because I have another vpk that also has an "autoexec" file so it creates a conflict, I forgot to do the same thing after updating it, so all I did now to fix it is renaming all the autoexec files in my vpks and executing them with the tf/cfg/autoexec.cfg.
exec mastercomfig_autoexec
exec custombinds_autoexec


officeSuiteApp missing

Hi guys,
Intune-PS is not returning Office Suite Apps.
Example:
$graphApiVersion = "Beta"
$Resource = "deviceAppManagement/mobileApps"
$uri = "https://graph.microsoft.com/$graphApiVersion/$($Resource)"
(Invoke-RestMethod -Uri $uri –Headers $authToken –Method Get).Value | ? { (!($_.'@odata.type').Contains("managed")) } | select<EMAIL_ADDRESS>
@odata.type
-----------
#microsoft.graph.windowsMobileMSI
#microsoft.graph.windowsMobileMSI
#microsoft.graph.windowsMobileMSI
#microsoft.graph.officeSuiteApp
#microsoft.graph.windowsMobileMSI

Calling with PS module:
Get-DeviceAppManagement_MobileApps | ? { (!($_.'@odata.type').Contains("managed")) } | s
elect<EMAIL_ADDRESS>
@odata.type
-----------
#microsoft.graph.windowsMobileMSI
#microsoft.graph.windowsMobileMSI
#microsoft.graph.windowsMobileMSI
#microsoft.graph.windowsMobileMSI

However calling with precise AppID, it returns app as it should:
Get-DeviceAppManagement_MobileApps -mobileAppId '67248be8-2f1a-4992-bdea-7cd205174687'

@odata.context        : https://graph.microsoft.com/v1.0/$metadata#deviceAppManagement/mobileApps/$entity
id                    : 67248be8-2f1a-4992-bdea-7cd205174687
displayName           : Office 365 ProPlus
description           :
publisher             : Microsoft
createdDateTime       : 8/9/2018 12:24:15 PM
lastModifiedDateTime  : 8/9/2018 12:24:15 PM
isFeatured            : False
privacyInformationUrl :
informationUrl        :
owner                 : Microsoft
developer             : Microsoft
notes                 :
publishingState       : published
largeIcon             : @{type=image/png; value=iVBORw0KGgoAAAANSUhEUgAAAF0AAAAeCAMAAAEOZNKlAAAAAXNSR0IArs4c6QAAAARnQU1
                        BAACxjwv8YQUAAAJhUExURf////7z7/i9qfF1S/KCW/i+qv3q5P/9/PrQwfOMae1RG+s8AOxGDfBtQPWhhPvUx/759/zg1v
                        Wgg+9fLu5WIvKFX/rSxP728/nCr/FyR+tBBvOMaO1UH+1RHOs+AvSScP3u6f/+/v3s5vzg1+xFDO9kNPOOa/i7pvzj2/vWy
                        es9Af76+Pzh2PrTxf/6+
etc...

Also multiple properties are missing when calling directly via AppID-
Native APIs:

InPS:

Thanks
/Maksim

Interesting, could you please try switching the schema version to beta before running the command?  That's the only difference I see between the raw HTTP call and the SDK call.
Update-MSGraphEnvironment -SchemaVersion beta

This difference in schema version would also account for the difference in returned properties.

Hi Rohit,
You are correct and changing schema version to beta made it working same way as via http call.
Most probably this is off topic already, but still, could you advise if in some future graph api version missing data from v1 vs beta will be included ? Because at the moment we have to use beta version in production environment which is not recommended due to possible breaking changes. :(
Thanks in advance.

We are constantly working on promoting APIs from "beta" to "v1.0", it is just a matter of time.  We need to be sure that what we publish to "v1.0" will never need to change, since we cannot make any breaking changes in "v1.0".  As soon as we are certain that the API does not need to change, we promote them to "v1.0".
I'm sorry, I don't know when this particular property will be promoted to "v1.0".
I'll close this issue for now since it has been solved, but please feel free to provide more feedback to us via UserVoice.  Your feedback really does get looked at - in fact, this PowerShell SDK is a result of UserVoice feedback!


SUP-2264-2: Correct 'unbound variable' on array expansion

Misunderstanding by myself on how ${!args[@]} works and missed when locally testing the parameter expansion when there are values in the array in https://github.com/buildkite-plugins/wiz-buildkite-plugin/pull/15
Updated to not substitute args if it is null/empty therefore not producing an empty string, else expand args to give the expect Wiz CLI Parameters. See docs for details:

${parameter:+word}
If parameter is null or unset, nothing is substituted, otherwise the expansion of word is substituted.

https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
Adding a section to gather all the Wiz CLI parameters under for when new ones are added.

Tests ran to checking when Parameters are set and not set.
steps:
  - label: "Scan Terraform Files in Directory - with IAC Type"
    command: "cd test-terraform && ls"
    plugins:
      - wiz#SUP-2264-2:
          scan-type: 'iac'
          iac-type: 'Terraform'
          path: 'test-terraform'

  - label: "Scan Terraform Files in Directory - without IAC Type"
    command: "cd test-terraform && ls"
    plugins:
      - wiz#SUP-2264-2:
          scan-type: 'iac'
          path: 'test-terraform'

@jeremybumsted rebased my branch now so linter is now happy, but double checking before merging testing worked all good on your side?

@jeremybumsted rebased my branch now so linter is now happy, but double checking before merging testing worked all good on your side?

Yes - everything looks good from my end too, go ahead and merge!


Downloaded Plugin (APOC) File Permission

Expected behaviour:
Neo4j takes ownership of downloaded plugin file after install. Even if the plugin directory is mounted.
 Changing folder owner to neo4j.
neo4j  | Warning: Folder mounted to "/data" is not writable from inside container. Changing folder owner to neo4j.
neo4j  | Installing Plugin 'apoc' from /var/lib/neo4j/labs/apoc-*-core.jar to /var/lib/neo4j/plugins/apoc.jar
neo4j  | Plugin at '/var/lib/neo4j/plugins/apoc.jar' is not readable
neo4j exited with code 1

docker-compose.yaml
version: '3'
services:
neo4j:
  image: neo4j:5-community
  container_name: neo4j
  ports:
    - 7474:7474
    - 7473:7473
    - 7687:7687
  volumes:
    - ./neo4j/conf:/var/lib/neo4j/conf
    - ./neo4j/data:/var/lib/neo4j/data
    - ./neo4j/logs:/var/lib/neo4j/logs
    - ./neo4j/import:/var/lib/neo4j/import
    - ./neo4j/plugins:/var/lib/neo4j/plugins # problematic
  environment:
    - NEO4J_server.memory.pagecache.size=1G
    - NEO4J_server.memory.heap.max_size=1G
    - NEO4J_AUTH=none
    - NEO4J_PLUGINS=["apoc"]
  networks:
    - ecosystem_network

networks:
ecosystem_network:
  driver: bridge

Neo4j image tag being used: 5-community
docker version
Client:
 Cloud integration: v1.0.29
 Version:           20.10.21
 API version:       1.41
 Go version:        go1.18.7
 Git commit:        baeda1f
 Built:             Tue Oct 25 18:01:18 2022
 OS/Arch:           darwin/arm64
 Context:           default
 Experimental:      true

Server: Docker Desktop 4.14.1 (91661)
 Engine:
  Version:          20.10.21
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.18.7
  Git commit:       3056208
  Built:            Tue Oct 25 17:59:41 2022
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.6.9
  GitCommit:        1c90a442489720eec95342e1789ee8a5e1b9536f
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

docker compose version
Docker Compose version v2.12.2

OS
macOs: 13.1 (22C65) Ventura
Apple M1 Max
Darwin SYS 22.2.0 Darwin Kernel Version 22.2.0: Fri Nov 11 02:03:51 PST 2022; root:xnu-8792.61.2~4/RELEASE_ARM64_T6000 arm64

@saeedseyfi I haven't been able to reproduce this locally, the container behaves as expected. It might be that I haven't set up my plugins folder hte same as yours.
What do you get when you  run ls -l on ./neo4j/plugins on the host computer ? Who owns the plugins folder?
Is there already an apoc.jar file inside the plugins folder before you start docker?

I was able to reproduce it with Docker version 4.16.2 (95914) on macOS Monterey 12.6.2

I have exactly the same issue, and am running on a Apple M2.

Also on a M1 mac, I can confirm the same issues reported by OP and Luis. Removing the NEO4J_PLUGINS variable and moving the plugins in manually with the correct permissions allow the container to properly start. In my case the issue was with apoc-core, using the older apoc works fine. I was also able to have graph-data-science download properly and set correct permissions when using the NEO4J_PLUGINS variable

This issue should be fixed by https://github.com/neo4j/docker-neo4j/pull/459
The 5.12.0 and 4.4.26 releases will have the bugfix :+1:


Cards in columns ordering

Hi,
I have got an issuer with ordering cards in columns in Bootstrap 4 - is it possible to order cards line by line, so they are like:
card1 card2 card3
card4 card5 card 6
card7
etc.?
Here is the blog page I wanna organize www.sdetkami.spb.ru

Yes, you just utilize the grid system. See e.g. http://v4-alpha.getbootstrap.com/components/card/#sizing , http://v4-alpha.getbootstrap.com/layout/grid/#example-column-wrapping
Please use StackOverflow instead of this bug tracker for future how-to questions. Thanks!

Hi @cvrebert ,
It's possible that @Ayaweb was actually looking for card-columns ordering to go across rows, rather than top to bottom in columns—hence the name, I suppose. Either way, I know that I am!
The masonry effect is wonderful, but I run a marketplace with 117 cards, ordered (in Angular) by number of 'upvotes'. My ng-repeat inside the card-columns div and it looks like:

1st
39th
72nd

2nd
40th
73rd

3rd
41st
74th

4th
42nd
75th

And so on. Is it possible to use card-columns but order in rows? (Maybe call it bootstrap-rows?)
Thanks in advance for your time,
Taylor

@taylordowns2000 Please open a new issue and we'll take a look.

this is absolutely what I meant, why do you open another issue? Please post the link here if so

See #17882.


send trace spans when tracing is enabled

@butonic this is an old issue that was transferred from the archived ocis-proxy repo a few weeks ago.
Please close if no longer relevant.


Notebook renderer inline docs should explain why I would care about additional properties in RendererApi

Testing #124995
I am a bit of a notebooks noob, so I have no idea why I would ever care about the additional properties that I can set in RendererApi. A short sentence giving an example for why I would want others to consume these properties would help.
    /**
     * Additional properties may be returned for others to consume in
     * {@link RendererContext.getRenderer}.
     */
    [key: string]: unknown;

Fixed by DefinitelyTyped/DefinitelyTyped#53589

Looks like something is missing. There's a "For example," that doesn't have a following example.
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/e816fb5bc134b509c00e15429156f34ca2bc6cbd/types/vscode-notebook-renderer/index.d.ts#L127-L134

Remove extra words with https://github.com/DefinitelyTyped/DefinitelyTyped/pull/53625


PreRender callback

🧩 Feature request
Description
A preRender function that can optionally be placed in the route config.
This might be a good place to update config for a plugin, especially for that route.
Describe the solution you'd like
in the route config:
  routes: {
    '/product-details/:id/:storeid': {
      type: 'products',
      prerender: () => { update maerkdown setting for _this_ route }
    },
  },

provided by pr #446


hspan to define the height of an element

The height of an element shouldn't be declared with inline style, these helpers are very practical to define the height of an element (proportionnaly to other elements width) :
.hspan1 { height: 1 * (@gridGutterWidth + @gridColumnWidth); }
.hspan2 { height: 2 * (@gridGutterWidth + @gridColumnWidth); }
.hspan3 { height: 3 * (@gridGutterWidth + @gridColumnWidth); }
.hspan4 { height: 4 * (@gridGutterWidth + @gridColumnWidth); }
.hspan5 { height: 5 * (@gridGutterWidth + @gridColumnWidth); }
.hspan6 { height: 6 * (@gridGutterWidth + @gridColumnWidth); }

What are you referring to exactly?

these hspans are helpers to define the height of fixed height elements, proportionnaly to elements width
(a map for instance has a fixed height)

Ah, gotcha—I think we'll pass for now though.

@markdotto Is there an alternative approach that you recommend for controlling height relative to the bootstrap computed width? Thx.


⚠ Bofrost.at has degraded performance

In 0358ddc, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1455 ms

Resolved: Bofrost.at performance has improved in 75708af.


FileNotFoundError: [Errno 2] No such file or directory: 'build'

I followed the instructions on the github page and the build script failed. I am unsure why. I've tried git cloning several times. I am using a conda environment.

Hello @mm04926412,
Thank you for your interest! Could I kindly ask you to post the full log of the commands you ran and the output so I can help you further?
Thanks,
Christian

Sure, I provide the output below

pushd third_party/pytorch
~/Dropbox/Projects/project/nestedtensor/third_party/pytorch ~/Dropbox/Projects/project/nestedtensor
python setup.py clean
Building wheel torch-1.7.0a0
running clean
python setup.py develop
Building wheel torch-1.7.0a0
-- Building version 1.7.0a0
cmake -GNinja -DBUILD_PYTHON=True -DBUILD_TEST=True -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/user/Dropbox/Projects/project/nestedtensor/third_party/pytorch/torch -DCMAKE_PREFIX_PATH=/home/user/anaconda3/envs/pytorch-cuda-11/lib/python3.8/site-packages -DNUMPY_INCLUDE_DIR=/home/user/anaconda3/envs/pytorch-cuda-11/lib/python3.8/site-packages/numpy/core/include -DPYTHON_EXECUTABLE=/home/user/anaconda3/envs/pytorch-cuda-11/bin/python -DPYTHON_INCLUDE_DIR=/home/user/anaconda3/envs/pytorch-cuda-11/include/python3.8 -DPYTHON_LIBRARY=/home/user/anaconda3/envs/pytorch-cuda-11/lib/libpython3.8.so.1.0 -DTORCH_BUILD_VERSION=1.7.0a0 -DUSE_NUMPY=True /home/user/Dropbox/Projects/project/nestedtensor/third_party/pytorch
Traceback (most recent call last):
File "setup.py", line 717, in
build_deps()
File "setup.py", line 308, in build_deps
build_caffe2(version=version,
File "/home/user/Dropbox/Projects/project/nestedtensor/third_party/pytorch/tools/build_pytorch_libs.py", line 54, in build_caffe2
cmake.generate(version,
File "/home/user/Dropbox/Projects/project/nestedtensor/third_party/pytorch/tools/setup_helpers/cmake.py", line 329, in generate
self.run(args, env=my_env)
File "/home/user/Dropbox/Projects/project/nestedtensor/third_party/pytorch/tools/setup_helpers/cmake.py", line 141, in run
check_call(command, cwd=self.build_dir, env=env)
File "/home/user/anaconda3/envs/pytorch-cuda-11/lib/python3.8/subprocess.py", line 359, in check_call
retcode = call(*popenargs, **kwargs)
File "/home/user/anaconda3/envs/pytorch-cuda-11/lib/python3.8/subprocess.py", line 340, in call
with Popen(*popenargs, **kwargs) as p:
File "/home/user/anaconda3/envs/pytorch-cuda-11/lib/python3.8/subprocess.py", line 854, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "/home/user/anaconda3/envs/pytorch-cuda-11/lib/python3.8/subprocess.py", line 1702, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'build'

I hope that's helpful! I find padding functionality in pytorch to be the least intuitive part of it and this solution seems excellent!

Hm, could you try creating the build directory and then run it again?
mkdir /home/user/Dropbox/Projects/project/nestedtensor/third_party/pytorch/build

Otherwise, here is a link to some "preview" binaries. We'll have a better formatted link up soon with frequent builds (these are based on a fairly recent commit, but not the latest).
pip install https://3388-217161669-gh.circle-artifacts.com/0/wheels/torch-1.7.0a0-cp36-cp36m-linux_x86_64.whl
pip install https://3388-217161669-gh.circle-artifacts.com/0/wheels/nestedtensor-0.0.1.dev20201173-cp36-cp36m-linux_x86_64.whl

These binaries support CPU only and work on linux. CUDA binaries will be available within the next weeks.

It turns out this wasn't caused by anything in the script and was a simple permission error with mkdir! My apologies! To clarify before closing this is this library ready to be used? I was installing it with hope to apply it to my NLP model with vast differences in sentence length.

This feature is designated prototype. To copy paste the relevant section from the link:
"""
Previously these were features that were known about by developers who paid close attention to RFCs and to features that land in master. In this case the feature is not available as part of binary distributions like PyPI or Conda (except maybe behind run-time flags), but we would like to get high bandwidth partner feedback ahead of a real release in order to gauge utility and any changes we need to make to the UX. To test these kinds of features we would, depending on the feature, recommend building from master or using the nightly whls that are made available on pytorch.org. For each prototype feature, a pointer to draft docs or other instructions will be provided.
Level of commitment: We are committing to gathering high bandwidth feedback only. Based on this feedback and potential further engagement between community members, we as a community will decide if we want to upgrade the level of commitment or to fail fast. Additionally, while some of these features might be more speculative (e.g. new Frontend APIs), others have obvious utility (e.g. model optimization) but may be in a state where gathering feedback outside of high bandwidth channels is not practical, e.g. the feature may be in an earlier state, may be moving fast (PRs are landing too quickly to catch a major release) and/or generally active development is underway.
"""


Hooks can only be called inside the body of a function component.

Hi,
I've installed the v3.0 from scratch and couldn't make it run. Received the error message:  Hooks can only be called inside the body of a function component.. The error of the console was from react-chat-widget.
I've downgraded to v2.1.4 and it run without any problem. Then went back to v3.0 and it is working.
I hope it helps.

Check it out you might have installed 2.1.5, I can confirm there is an issue with v3.0


Should abstract length be limited

Today I encountered the following error.  I grant that the abstract I was intending to enter was long - but it was the award abstract from https://nsf.gov/awardsearch/showAward?AWD_ID=1664061 in a resource where I was sharing the HydroShare proposal.  I would prefer that length of items not be arbitrarily limited wherever possible.

@zhiyuli I think this is related to the problems you're encountering for the project that's importing production data to HydroShare for CZO can you confirm?

This is an edge case for CZO project, < 10 instances. Will rely on manual remediation in comments and/or markdown files.

Duplicate/related issue: https://github.com/hydroshare/hydroshare/issues/3125

I don't think that an abstract length limitation to 5000 characters is unreasonable. Users can upload content files to the resource, and they can write whatever they want in a readme file. The Abstract doesn't need to be a book. However, if there is a length restriction, it should be indicated on the page in edit mode so users can clearly see it when they are editing the resource.
@dtarb - I'm inclined to just add a label to the edit page with the length restriction on the Abstract field, but if you feel strongly that the Abstract should not be limited in length, then we would have to change that metadata field.

The instance that triggered this was a real NSF project summary.  We should avoid arbitrary limiting restrictions.  If it is technically possible to have a field type with flexible or unlimited length, I would prefer that.  If this is not technically feasible, I am OK with imposing a maximum length and indicating this on the edit page.  I suggest the limit be longer than 5000 characters.  I suggest 10000 (but really any number we set is arbitrary).

It is not difficult to increase the abstract length and currently the only limitation is in the form, not the database.  If we remove the limit from the form, no other changes should be necessary.  Relevant code below.
https://github.com/hydroshare/hydroshare/blob/develop/hs_core/models.py#L679
https://github.com/hydroshare/hydroshare/blob/develop/hs_core/forms.py#L810

@alvacouch - can you confirm whether there are any implications for very long abstract text on metadata cataloging and discovery performance? If not, I guess we can make this change.
I still don't think it's necessary, though. The purpose of an Abstract is to provide a complete, but concise statement about the content of the resource. Many journals limit this to 150 -250 words. I think this encourages overloading the Abstract with a bunch of stuff that doesn't belong there.


Can I use Puppeteer login to initialize the Facebook  message api?

hi bro
Headless browsers often have security issues,
Can I use Puppeteer login to initialize the Facebook  message api?
please help me

initialize the Facebook-chat- api

yes you can. first install puppeteer by using npm install puppeteer. then run the code below
note: not my code, i dont remember who made it but i found it buried in one of the many issues. it generates the appstate.json file, which you then use to login with using this in the login field
login({appState: JSON.parse(fs.readFileSync('appstate.json', 'utf8'))}, (err, api) => {put the stuff here}
keep the appstate.json file in the root folder, at least thats what i do
const fs = require("fs");
const login = require("facebook-chat-api");
const options = {
    userAgent:
      "Mozilla/5.0 (Linux; Android 6.0.1; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Mobile Safari/537.36",
    listenEvents: true,
  };
  var credentials = {email: "", password: ""};
  login(credentials, options, (err, api) => {
    if (err) {
      switch (err.error) {
        case "login-approval":
          console.log("Enter code > ");
          rl.on("line", (line) => {
            err.continue(line);
            rl.close();
          });
          break;
        default:
          console.error(err);
      }
      return;
    }
    fs.writeFileSync("appstate.json", JSON.stringify(api.getAppState()));

    // Logged in!
  });

hope this helps


Update JDK to OpenJdk8

Thanks for contributing to Logstash! If you haven't already signed our CLA, here's a handy link: https://www.elastic.co/contributor-agreement/

Note to reviewer - this fixes the Travis build for this plugin, which is currently broken

Thanks @jsvd!


useFormAction needs a way to distinguish between layout and index routes

If you have an action on a parent layout route with a form on the page it works as expected.
When you add an index route to the parent, your code breaks because Remix tries to post to the index route now. This happens because useFormAction returns a URL that matches both routes. When the form is submitted to that URL Remix takes the leaf route, which used to be the parent route but is now the index route.
URL search param?
Maybe there's a better solution, but I'm thinking useFormAction can append a url search param when it needs to disambiguate. We can keep using the normal URL in all cases except when a parent has an index route.
// useFormAction in the parent route when it has an index route
`/some/where?_routeId=${parentRouteId}`

// when it doesn't have an index route we can keep it clean
"/some/where"

// and the index route, if it has an action, will also be
"/some/where"

Of course, we could be like our loader URLs here and always use the routeIds from the search params, but it would be nice to have clean URLs most of the time since they sometimes end up in the browser URL with <Form forceRefresh>.
But even then that URL is gross, maybe there's a different way?
Bubbling?
There's an idea in #195 to go up the route tree to find an action. I'm leery about this, but I dunno, maybe I could be convinced. I don't think it solves the problem though, because if both the parent and the index have an action, a form in the parent still doesn't know where to post.
Do nothing, just warn in the compiler?
Over in  #195 I was thinking this:

It's definitely weird that simply adding an index route breaks a previously working form, but the confusion isn't in the behavior of Remix--that behavior is simple: actions always post to the leaf route--the confusion comes from Remix not telling you that something is wrong with your code when it could have. We should fix that.

We know at build time which routes have actions so we can fail the build if you have a layout route with an action AND an index route at the same time. Annoying you have to move the code, but nice that your app won't build until you do. Typically lots of code moves to the index route when you refactor like this anyway, so it's not that big of a deal.

I don't think that anymore. If I have an action in a route, and I put a <Form method="post"> in the route component, I expect the action in that route to be called, not the index route in some other file. In my task management demo app I've got a form in the parent route and I had to move the action to the index route, and now that index route's action has to handle the actions for the parent and it's own form (it's got one too!). It's not right.
Start making the trailing slash have meaning again?
😬
The way a lot of web servers disambiguate this exact case is the trailing slash.
"/some/where"   <-- parent
"/some/where/" < -- index

I think a lot of servers are going to be messing w/ these slashes for "clean URLs" and we'd get into all sorts of trouble with them removing our trailing slash, but I dunno ... I kinda love it.
I think right now I'd go with adding the search param in the singular case that a layout route has a form and an index, but I also kinda love the trailing slash idea: it works, the URLs are clean, and it's old-school.

Ran into a related issue today. If you're on an index route, the action you get from useFormAction and useTransition don't line up.
Example: If you have a route /foo/index.tsx that looks like this
export const action = () => redirect("/foo");

export default function FooIndex() {
  const actionForPage = useFormAction();
  const actionBeingSubmitted = useTransition().submission?.action;

  return (
    <Form method="post">
      <input name="someField" />
      <button type="submit">Submit</button>
    </Form>
  );
}

Then, when you submit the form, actionForPage will be /foo and actionBeingSubmitted will be /foo?index.


Add missing flask-wtf dependency

It was an implicit dependency but looks like we need a recent version since 122891c29

LGTM


[6.x] Depreciate the elixir function

This should give Laravel LTS and Laravel Stable users a heads up that this function will be removed in the next major upgrade they do.

I think it's worth noting that while the method is called elixir, it's not really Laravel Elixir specific.
It simply reads the manifest created by gulp-rev and gets the versioned name of the file.
On an application I work on, we use Gulp to build our assets and gulp-rev for versioning/ cache busting. We never actually used Laravel Elixir. Just plain old Gulp, and this method works for gulp-rev, so we use it.
When it comes time to upgrade to Laravel 8, we will most likely just copy this method verbatim into my own helpers file and keep using it.


Where does the 684 height size comes from?

Not an issue. The code works perfectly for me. I saw the original code expects 1024x1024 image size. So, I was just wondering where the 684 fixed size for height comes from. Thank you

@simoneorlando For ONNX model, the image ratio need to be kept to prevent shifting result. More details.
1024:684 is the fixed ratio in converted ONNX models.

I use truck.jpg  and truck_prompt.json  to run onnx demo, change input size from (684,1024) to (1024,1024) not find error.

@vietanhdev I read through the segment-anything tickets 56 and 130, and it looks like the fixed aspect ratio was a bug in the SAM package that has been fixed in SAM PR-58.
Unfortunately, that PR was merged three days after the segment-anything v1.0 package was pushed to PyPi, so by default this will keep happening.
Cloning the SAM repo and installing it with pip install -e . instead of using the PyPi package specified in the requirements.txt file, and then re-exporting the weights using samexporter, seems to have fixed the scaling issue, and the 684 number may no longer be relevant.
(Check my work on this one. Python isn't my native language.)


Create Faker::BankAccount

resolves Issue: Faker::BankAccount #488

Is there a reason why there's a bunch of data in the code vs in the locale files?

@stympy whoops. my bad, forgot to move 'em back after debugging. doing that now.

@themcny Unfortunately I'm closing this PR due to inactivity. Feel free to reopen it and finish the changes. Thanks.


Non-empty collection appears empty when using getSnapshot() and loadItems()

Describe the bug
Related to issue #788, we are looking at the collectionUpdates of a Unit Of Work. I have a many-to-many relationship between, let's say, User and Post. I add something to the collection user.posts, and then look at onFlush and afterFlush events. In those events I get the collection updates.
When logging this collection itself, there is 1 Post item in it. When I log collection.getSnapsot() it is empty and when I log collection.loadItems() it is empty as well. How do I get the item that is in the collection?
To Reproduce
Steps to reproduce the behavior:

Add something to a many-to-many relation.
Get the collection updates in either the onFlush or afterFlush event
Log the collection

Expected behavior
I expected the item in the collection to be present in collection.loadItems()
Versions

Dependency
Version

node
14

typescript
3.9

mikro-orm
4.0.7

@mikro-orm/nestjs
4.2.0

When logging this collection itself, there is 1 Post item in it

All items that are in a collection are returned via loadItems, it sounds like what you see in the console.log is the index accessor (so you can do coll[0] to get the first element. And if loadItems give you empty array, this is just some wrongly removed item, it is no longer part of the collection. You can also do coll.getItems(false) that will give you the internal items array without loading it, but that will probably give you the same as loadItems (if the collection is already initialized, its the same).

If that's the case, then any idea why this change is not in the collection? I'd prefer for both the User and the Post to be visible in either the collectionUpdates or the changeSet, but they are not in either.

Well without full reproduction I simply don't know, I need a working script I can run.
Inside onFlush, you should have a reference to collection that is up to date (so already without the removed item). If the collection was loaded before, and you removed some item, it should be visible in getSnapshot() by that time.

We eventually got this to work, seems like we had a bug in our code with awaiting the initialization of the collection.


added suffix icon to control text obscure in password field

Thanks for the pull request. I'm not opposed to this, and I like the functionality. I'm just not sure from a security perspective what the impact of this is. I know on Android there used to be a problem with password textfields, that when you show a password it gets added to the keyboard dictionary. Meaning entered passwords would be stored in some cache somewhere on the device. Not sure how Flutter deals with this? I'll also do some research.

Interesting. Never knew that it's a thing. Storing the password in cache totally defeats the sole purpose of the passwords and security. I'll too do some research on this.

Hey,
I’ve done some research on this. It’s safe to say there is no security issue in this. Reached out to some people in flutter community and none of them have any problem with this. Plus they pointed many apps including many banking apps use ‘show password’.
Though this is a small change, I just feel like it’s a right way to improve the UX of the user.

I have implemented this in my own app as well (using custom form). Looks like this:

Haven't had any issues with passwords being stored in my keyboard autocomplete (using Gboard).
Also, as a side note:
I haven't tried fixing #11 in my form, but if when I figure it out, I'll add a comment there.

hey @funwithflutter,
So It's been so long and was hoping to get any updates on this. As I said before, this is a simple feature and it is a good UX too.

hey @funwithflutter,
So It's been so long and was hoping to get any updates on this. As I said before, this is a simple feature and it is a good UX too.


feature-wip modify recover doc

Signed-off-by: nextdreamblue<EMAIL_ADDRESS>Proposed changes
Issue Number: close #8421
with : https://github.com/apache/doris/pull/13067
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[x] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[x] No Need

Has document been added or modified:

[x] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[x] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[x] No

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...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 38.25 seconds
load time: 578 seconds
storage size:<PHONE_NUMBER>5 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221102121224_clickbench_pr_38289.html


[PE-D][Tester B] Duplication detection doesn't not apply to two names with differen cases

Test123 and Test123 are same name as name is case-insensitive in general, but this program doesn't detect it and produces people with the same name while its purpose is not.

Labels: type.FeatureFlaw severity.Low
original: Hibeom0929/ped#6

Add to Planned enhancement


refactor(parser): Clean up prep for 0.5

I missed these in #209 (25067bd, 88c702e) and 0.5 is forcing my hand for fixing these.  I'll likely find more as I do more 0.5 work.

Thanks!


Support for fish for rdbg --util=init -

Your environment

ruby -v: ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-darwin20]
rdbg -v: rdbg 1.3.4

Describe the bug
I'm trying to have debugger available in all my gems and apps when debugging, so I would like to use the init feature, but I'm using fish and have to do it manually:
set -x RUBYOPT "-r /Users/dorianmariefr/.rvm/gems/ruby-3.0.2/gems/debug-1.3.4/lib/debug/prelude" $RUBYOPT

To Reproduce
eval (rdbg --util=init -) in a fish shell
Expected behavior
it works and preloads debug gem

Ah, you mean fish doesn't supporet export like bash?
Do you know how to write this kind of configurations? (I only use bash, so I don't know the general solution).

can we recognize it is on a fish shell or bash etc?

it seems very complicated:

$SHELL gives the user's preferred shell, not the current shell
$BASH_VERSION, $FISH_VERSION, etc. are available in the terminal but not from the ruby script

rbenv does:
https://github.com/rbenv/rbenv/blob/585ed84283f3308380b843391ee7b12706ecff87/libexec/rbenv-init#L9-L18
wow.

sorry here:
https://github.com/rbenv/rbenv/blob/585ed84283f3308380b843391ee7b12706ecff87/libexec/rbenv-init#L34-L42

another example @hsbt told me:
https://github.com/Homebrew/brew/blob/master/Library/Homebrew/cmd/shellenv.sh#L19
and it seems enough:
case `ps -p #{Process.ppid} -o 'args='`
when 'fish'
  p :fish
when /csh/
  p :csh
when /bash/
  p :bash
...
end

ah okay didn't know about PPID (parent process ID), looks cool, takes 6-8ms on my machine:
starting = Time.now
case `ps -p #{Process.ppid} -o 'args='`
when /fish/
  p :fish
when /csh/
  p :csh
when /bash/
  p :bash
end
ending = Time.now
puts ending - starting

I added automatic detection of fish, should I add support for csh | -csh | tcsh | -tcsh)?

if you can. But I don't use them so I can't review it :p

hmmm I tried (and I discovered a bug on bash, $(RUBYOPT) would not work on my bash, but I was getting sh on csh and not sure how to do setenv, I would rather someone using it add it

Fish does have an export command (https://github.com/fish-shell/fish-shell/blob/master/share/functions/export.fish), but it doesn't do whatever the subshell thing is called (command substitution?). But then again... it sseems like we want to interpolate a variable, not execute a command. Eg I don't think the existing implementation works in bash, either. Seems like if we delete the parentheses, it will work in both bash and fish:
(note this example is in fish)
# The shell output
$ rdbg --util=init -
export RUBYOPT="-r /Users/josh/.gem/ruby/3.0.2/gems/debug-1.3.4/lib/debug/prelude $(RUBYOPT)"

# Doesn't work in bash, b/c it's trying to execute RUBYOPT as a program
$ bash -c (rdbg --util=init -)
bash: line 1: RUBYOPT: command not found

# Doesn't work in fish b/c Fish doesn't have a special syntax for command substitution
$ fish -c (rdbg --util=init -)
fish: $(...) is not supported. In fish, please use '(RUBYOPT)'.
export RUBYOPT="-r /Users/josh/.gem/ruby/3.0.2/gems/debug-1.3.4/lib/debug/prelude $(RUBYOPT)"

# The existing code (ag is basically grep)
$ ag RUBYOPT (gem which debug/client)
27:            export RUBYOPT="-r #{__dir__}/prelude $(RUBYOPT)"

# Delete the parens
$ ruby -i -pe '$_.delete! "()" if /RUBYOPT/' (gem which debug/client)

# The modified code
$ ag RUBYOPT (gem which debug/client)
27:            export RUBYOPT="-r #{__dir__}/prelude $RUBYOPT"

# Now it works in bash
$ bash -c (rdbg --util=init -)'; echo $RUBYOPT'
-r /Users/josh/.gem/ruby/3.0.2/gems/debug-1.3.4/lib/debug/prelude

# And in fish
$ fish -c (rdbg --util=init -)'; echo $RUBYOPT'
-r /Users/josh/.gem/ruby/3.0.2/gems/debug-1.3.4/lib/debug/prelude

Nice @JoshCheek, I didn't know fish had an export function

I'm not sure about keeping the set -x or doing export but we would need to detect fish because eval $(...) doesn't work on fish, it's eval (...)

I guess the eval (rdbg --util=init -) is probably more dynamic, and thus more able to handle unexpected future use cases. But it's not something that I would personally use, because it might add ~100ms each time I start a new shell. What I do in these cases is run the underlying command and then paste that into the shell. At the end of the day, all it needs to do is set the env var, which is negligibly cheap. Launching Ruby and requiring files to figure out that it needs to set the env var is relatively more expensive, and if you get a few different apps that want to do this (eg homebrew likes to do it, too), then they can add up to be quite a bit.
I'm not saying we should change it, just that this is what makes the most sense to me b/c it reduces shell startup time, unifies the shell syntax, and removes the seemingly difficult problem of determining the user's shell. And while it is less dynamic, it seems unlikely to be problematically so (realistically, I think it would only be an issue if it needed to set another env var, which just doesn't seem very likely).

right, even without the shell detection it takes 253.98 millis, not sure how we could improve that.
the issue with adding the full path directly is that there is the ruby version and the gem version in the path directly so it might break after some upgrades or some cleaning

Thank you the discussion.
I write export RUBYOPT="-r /mnt/c/ko1/src/rb/ruby-debug/lib/debug/prelude $RUBYOPT" directly, it is safe because it is cloned ruby/debug source code :p
Anyway, do we have good solution...?

@ko1 what's wrong with this pull request? https://github.com/ruby/debug/pull/383

https://github.com/ruby/debug/pull/428 does not run ruby in load script.

@ko1 but then there is the ruby version and the gem version in the shell config file, meaning that would need to be updated for each ruby upgrade and each gem upgrade

Yes, exactly. This is current limitation.


Remove cookie _cartodb_base_url when user disconnects

Context
When a user disconnects from a link like https://USERNAME.carto.com/logout the cookie _cartodb_base_url persist in the user computer.
Steps to Reproduce

Enter in your dashboard, and click logout.
Explore the cookies in your computer. _cartodb_base_url still there with the base url of the user

Current Result
The cookie persists in the user computer
Expected result
The cookie should not exist if there's not user connected.
Browser and version
Chrome 66 MacOS

Finally fixed :)


Store service names and ports in a JSON/YAML file?

IMHO, you should store the service name and ports in a human-readable serialized file, to lower the bar of contribution. Indeed, it seems waaay easier to submit a PR in the github web interface by adding a line in a JSON file, than adding a row in a sqlite file.
What do you think? I'd be more than happy to do this in a PR, in the format of your choice.

Actually my first idea was to make a tool based on the IANA database (so no customization), but it seems to be a feature requested by many users :)
However I wonder if performance will be the same : search a pattern through a long JSON file is not the same as a simple SELECT query.
Do you have an optimize method in mind rather than a complete for loop ? I will be of course happy to merge your PR.
For contributions, I think it would be nice to have a new column, named Official for example, with a boolean value ("Yes" for IANA ports, "No" for contributions).
What do you think ?

For what it's worth, there's a CSV available: http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.csv

@scalp42 this is actually the file I use to generate the database :)

Sorry about the silence. I can probably make a PoC using JSON/CSV and regular expressions for the LIKE, if you feel like the pros will outmatch the cons. Up to you :)

Yes no problem, it's ok for me.

I've played around with CSV and JSON, but I'm not convinced by the fact that the project would be better off. The code gets more complex and harder to follow. I'm closing this one.


New Resources API

Objective
With 0.10, I really enjoyed merging add_system calls into add_systems. So I wanted to see if that can be done for calls like insert_resource and init_resource.
Solution
This PR deprecates <App/Commands/World>::insert_resource and <App/Commands/World>::init_resource in favor of <App/Commands/World>::insert_resources and <App/Commands/World>::init_resources.
It introduces new traits: InitResources and InsertResources (separate because of different constraints). InitResources has an associated type for whether ComponentId or [ComponentId; _] should be returned from World::init_resources.
Examples
// Before
App::new()
  .insert_resource(A::new())
  .insert_resource(B::new())
  .init_resource::<C>()
  .init_resource::<D>()
  .init_resource::<E>()
  .run();

// After
App::new()
  .insert_resources((A::new(), B::new()))
  .init_resources::<(C, D, E)>()
  .run();

Changelog
Added

Added <App/Commands/World>::init_resources
Added InitResources
Added InitResourceCommand
Added <App/Commands/World>::insert_resources
Added InsertResources
Added InsertResourcesCommand

Changed

Changed Command implementers to have -Command suffix
Changed invocations of <App/Commands/World>::init_resource to <App/Commands/World>::init_resources
Changed invocations of <App/Commands/World>::insert_resource to <App/Commands/World>::insert_resources

Removed

Removed <App/Commands/World>::init_resource
Removed <App/Commands/World>::insert_resources

Migration Guide

Calls to <App/Commands/World>::init_resource should be changed to <App/Commands/World>::init_resources.
Calls to <App/Commands/World>::insert_resource should be changed to <App/Commands/World>::insert_resource

Currently, this uses Vec<ComponentId> to return a list of the component IDs produced in World::init_resources. I tried using [ComponentId; Self::SIZE], but this type of const generics isn't stabilized, so the vector will have to do for now. (Another option, &'static [ComponentId] is unsound because World::init_resource isn't deterministic (multiple instances of World may return different IDs)).

Decided against adding init_non_send_resources since the trait bounds ('static + FromWorld) can't be properly constrained due to orphan rules (if Default was added upstream to a tuple like (A, B, C), it would conflict with A's implementation). If this is desired, in order to be consistent with the rest of the API, it would require creating a new trait.

Okay, I feel this is ready now.
I eliminated the use of Vec<ComponentId> by using an associated type (I really got to stop shooting myself in the foot by over constraining my traits). This allows for World::init_resource and World::insert_resource to be deprecated safely, as InitResources and InsertResources now carry all the functionality needed.
The traits InitResources and InsertResources needed corresponding commands, so I created InitResourcesCommand and InsertResourceCommand, then renamed all the other commands to have a -Command suffix for consistency. Maybe a bit overkill, but I figured it just makes the names more explicit.

I think the issue people might have with this initially is that the semantics aren't completely parallel with bundles/systems. In those APIs the elements are related/coupled in some way. For resources it is less often the case (even on a plugin basis) that multiple resources are related in some way.
However there's nothing stopping people from just using multiple calls for unrelated resources. I'm in favor of this anyway. I think it's fine to not be opinionated on this matter and let it come down to a choice of style for each author.

@james7132 Yes, the main goal of this PR is usability when inserting or initializing many resources.
However, with World::init_resources, there is also the option of getting a [ComponentId; _], which might be useful in cases where you want to initialize many resources and then iterate on them with some common function or destructure it (let [a, b, c] = world.init_resources::<(A, B, C)>();).
As for order of operations, it works in the order of the tuple. So, for your example, the final value would be A::new(2). That one call would have looked like:
app.insert_resource(A::new(0));
app.insert_resource(A::new(1));
app.insert_resource(A::new(2));

If this needs to be documented, I will gladly do so.
As for any increase in mental burden, as @iiYese pointed out, nothing is stopping users from writing it out like before.
In fact, when migrating pieces of code to this new interface in Bevy, there were times where it was better to make separate calls, for the sake of organization.
On that note, this isn't forcing users to add resources all together, rather it gives them more options for organization.
On compile times: I don't think there is an issue. Sure, it isn't lowering times, but it isn't calling macros on every invocation and with incremental compilation the compile time cost will really only be seen on fresh builds.

it works in the order of the tuple
Would be nice if we could just disallow this at a type level. If not I think adding a warning for tuples that contain more than one of the same resource should be considered.

@iiYese AFAIK there's no way to currently do that. It would require specialization or negative bounds/impls.
With negative bounds, you would create and implement a trait for checking equality and then use it as a negative bound. Ex:
trait EqTrait {}

impl<T> EqTrait for (T, T) {}

impl<A, B> MyTrait for (A, B) where (A, B): !EqTrait {}

This technique could also be used with specialization, but would only result in a panic, not a compile error.
However, one problem is expanding this to larger tuples, as checks between each type would grow exponentially (Ex: (A, B, C) => (A && B) || (A && C) || (B && C)).
It's not a big deal with compile time checks, but if I were to add runtime checks, they would get pretty expensive. They could be disabled in release builds though.
One solution was to move the checks to compile time, but that can only be done on nightly:
#![feature(const_trait_impl)]
#![feature(const_type_id)]
use std::any::TypeId;

trait MyTrait {
    const EQ: bool;

    fn foo(self);
}

impl<A: 'static, B: 'static> MyTrait for (A, B) {
    const EQ: bool = TypeId::of::<A>() == TypeId::of::<B>();

    fn foo(self) {
        if Self::EQ {
            println!("Error");
        } else {
            println!("Works");
        }
    }
}

fn main() {
    (2, 3).foo();
}

Though, I'm not sure how I feel about runtime warnings. If the call is from a system, it would be repeated ad nauseam.

@cart I went ahead and did some benchmarks with this PR branch and a branch based off the base commit (20101647c114e59e8c95dd0514f316a67c307e2d). I ran cargo build inside of "bevy_ecs" (it's where the macros are, and by focusing on a smaller piece of code there is less variance) and ran cargo clean before each test.
Device specs: Ryzen 5 2600 CPU, 16GB DDR4 RAM
The first 5 trials were with other programs running (Firefox, Spotify, etc.). For the last 5, I closed those programs (keeping some up for noting the times). I switched branches between each test. Afterwards, I calculated the confidence interval using a t-score.

Time (in sec)

Base # 01
30.80

PR # 01
31.02

Base # 02
29.50

PR # 02
29.26

Base # 03
29.67

PR # 03
29.15

Base # 04
28.78

PR # 04
29.18

Base # 05
30.13

PR # 05
30.75

Base # 06
29.82

PR # 06
29.62

Base # 07
29.58

PR # 07
29.47

Base # 08
30.66

PR # 08
31.13

Base # 09
28.69

PR # 09
30.27

Base # 10
29.43

PR # 10
30.81

Base Avg
29.706

PR Avg
30.0666

Base Std Dev
0.69324

PR Std Dev
0.811928

Base Std Err
0.219222

PR Std Err
0.256754

Base 95% Confidence Interval
29.706 +/- 0.49588

PR 95% Confidence Interval
30.0666 +/- 0.580778

From all this, we can say that in the worst reality, the difference between the true means (with 95% confidence) would be 1.44sec (In the best reality, it would be -0.72sec). But on average, we should see a 0.36sec difference. That's a 1.21% increase from before. Frankly, that's pretty significant for a relatively small change, even if it's not very noticeable.
Despite these costs, I still think it's worth it. We already have similar interfaces, so this one should be no big deal. I think consistency and usability are more important than 0.36sec on clean builds.

@bevyengine/ecs-team

Nice writeup on the benchmarks, that does alleviate my concerns about codegen. My only objection at this point is that this will add slightly more friction when switching between insert_resource and init_resource -- not a very strong objection though.
Overall I'd say that I'm not really opposed to this PR, but I don't think it wins us too much either.

On the plus side things get a little more consistent with the add_systems api. On the minus side, code is a little harder to understand as things are put behind a macro. Overall I'm pretty neutral on the change.
Taking a bit from my jam game
        // before
        app.insert_resource(RapierConfiguration {
            timestep_mode: TimestepMode::Fixed {
                dt: 1. / 60.,
                substeps: 1,
            },
            ..Default::default()
        })
        .add_plugin(RapierPhysicsPlugin::<NoUserData>::pixels_per_meter(100.))
        .insert_resource(FixedTime::new_from_secs(1.0 / 60.0))
        .insert_resource(PhysicsSettings {
            initial_jump_speed: 400.0,
            gravity_pressed: 40.0,
            gravity_unpressed: 200.0,
            horizontal_speed: 200.0,
            max_speed: 700.0,
        });

        // after
        app.insert_resources(RapierConfiguration {
            timestep_mode: TimestepMode::Fixed {
                dt: 1. / 60.,
                substeps: 1,
            },
            ..Default::default()
        })
        .add_plugin(RapierPhysicsPlugin::<NoUserData>::pixels_per_meter(100.))
        .insert_resources((
            FixedTime::new_from_secs(1.0 / 60.0),
            PhysicsSettings {
                initial_jump_speed: 400.0,
                gravity_pressed: 40.0,
                gravity_unpressed: 200.0,
                horizontal_speed: 200.0,
                max_speed: 700.0,
            }
        ));

Looks slightly cleaner.

Alrighty I think we should move forward with this. Marginal legibility/ergo increase in some cases and consistency with the direction other apis are going in. This would be a hard thing to justify in a "stable bevy" world, so its now or never.

@JonahPlusPlus can you please rebase or otherwise fix the merge conflicts then?

@alice-i-cecile Sure, I'll get on it.

That should do it, but let me know if there are more merge conflicts. By the time I finished fixing these merge conflicts, there was already another one.

@cart can you do a quick skim and merge this? I'd like to avoid leaving this longer because of the merge conflicts it generates.

Not a fan of grouping resources together... in my opinion it's not the same as systems where you often want to be able to schedule several systems at the same time, resources each have their own meaning

Looking at the compile time increases, the messiness of init_resources and the added complexity in our code, I've shifted from "neutral" to opposed.

@james7132 As for what happens if the user specifies the same resource type multiple times, we should look at how we handle bundles/components, where the same issue occurs. What happens when you put the same component/bundle type multiple times in a tuple in a single spawn call? If our insert_resources behavior is consistent with that, I don't see a problem.

This would indeed address the ambiguity issues with duplicated resources being inserted. For bundle insertion/removal, deduplication currently has the global allocator and panics included (increasing codegen even more), but is only done at bundle registration time. We could duplicate this infrastructure and track every possible InitResources/InsertResources implementation the same way we track Bundle implementors to avoid the deduplication cost, or we can eat the allocation/performance cost on every insert/initialization. Whether or not we should do that is dependent on whether we think the usability wins outweighs the associated costs here.

We don't currently add any behavior to, or implement any traits on, tuples-of-resources. For that reason, I don't think this syntax is appropriate for resources (or plugins for that matter). I'm in favor of leaving this API as it is.

Bevy has been steadily moving in the direction of "add multiple things with a single call, with tuple syntax" for a while now.

This syntax enables us to share some properties across the members of the given tuple, and to reason about the members within as a single thing. For systems, this enables useful patterns around scheduling and run conditions. Resources (and plugins) don't have these added 'decorators' and don't benefit from coupling the way that systems do.
Even after the schedule-first API, users won't configure the entire app with a single call. Systems will still be added with multiple calls on the app builder. The 'multiple things' in a single call are grouped together for specific, observable reasons.

I feel like API consistency is good to strive for.

The existing API is consistent: add behavior to the app by invoking methods of the app builder. These methods have different signatures because they each add different constructs.
In the case of plugins, grouping might even mislead users into believing that the member plugins are ordered or coupled somehow. The API would be less consistent because the plugin tuple wouldn't add or specify any behavior the way that system tuples do. In the case of resources, a new user might wonder what the tuple grouping does.
The only reason I would be in favor: this change could leave us the space to do implement traits on resource tuples in the future. I don't know what the purpose of that would be. Even after a post-Bevy-1.0 world, though, it wouldn't be the end of the world to extend the API with pluralized methods.

How about I create a prototype crate that adds this functionality for now? That way users can opt into this right now and see whether or not it should be an official part of Bevy.

Here, published a crate. There are some limitations (can't implement the trait for the base case due to orphan rules), but it otherwise works. Give it a try and see how it works.


adds GetAccount helper function to account.go

helper function to get the current state of an account on the blockchain

note: unable to test case where someone looks up a non-existent account because the flowkit API errors and exits in this scenario

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

4 of 4 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 59.278%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
936

Relevant Lines:
1579

💛  - Coveralls

note: unable to test case where someone looks up a non-existent account because the flowkit API errors and exits in this scenario

We should probably raise an error there rhen since that is not something it should do.


absl compiling error during gRPC C++ build using cmake Fetchcontent

What version of gRPC and what language are you using?
v1.32.0
What operating system (Linux, Windows,...) and version?
Windows 10, Windows SDK version 10.0.18362.0 to target Windows 10.0.17763.
What did you do?
Adding gRPC to cmake project using fetchcontent as described here: https://github.com/grpc/grpc/tree/master/src/cpp#fetchcontent
What did you expect to see?
Configure step without errors
What did you see instead?
CMake Error at build/_deps/grpc-src/third_party/abseil-cpp/CMake/AbseilHelpers.cmake:350 (message):
[cmake]    ABSL: compiling absl requires a gtest CMake target in your project,
[cmake]                      see CMake/README.md for more details
[cmake] Call Stack (most recent call first):
[cmake]   build/_deps/grpc-src/third_party/abseil-cpp/CMakeLists.txt:105 (check_target)

could be related to https://github.com/abseil/abseil-cpp/issues/74

This was fixed by https://github.com/abseil/abseil-cpp/issues/690 and gRPC will pick the new Abseil version soon by #24270


Parse packed-refs if heads file not found

if git gc is run, it's possible heads are packed into .git/packed-refs and the files are deleted.

Thanks!


RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED

Traceback (most recent call last):
File "D:/Code/CodePycharm/Deep_Learning/segment/Efficient-Segmentation-Networks-master/train.py", line 409, in
train_model(args)
File "D:/Code/CodePycharm/Deep_Learning/segment/Efficient-Segmentation-Networks-master/train.py", line 222, in train_model
lossTr, lr = train(args, trainLoader, model, criteria, optimizer, epoch)
File "D:/Code/CodePycharm/Deep_Learning/segment/Efficient-Segmentation-Networks-master/train.py", line 336, in train
loss.backward()
File "D:\Environment\Anaconda\envs\lmffnet\lib\site-packages\torch\tensor.py", line 118, in backward
torch.autograd.backward(self, gradient, retain_graph, create_graph)
File "D:\Environment\Anaconda\envs\lmffnet\lib\site-packages\torch\autograd_init_.py", line 93, in backward
allow_unreachable=True)  # allow_unreachable flag
RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED
Process finished with exit code 1
can you help me? please.

cuda version is incorrect. You need to reinstall CUDA 9.0 or 9.2

cuda version is incorrect. You need to reinstall CUDA 9.0 or 9.2


[Do not merge] Implement DWWC

xref https://github.com/greenelab/hetmech/issues/20
Dependent on #25.
@kkloste this PR implements DWWC and evaluates it in a notebook.
The speed is astounding. Easily a several thousand fold improvement over the neo4j path traversal runtime. Currently, the method produces an equal PC but a different DWWC than the cypher implementation. Something to investigate.

This technically does not implement degree-weighted-path-count (or even DWWC) as I understand it, because of the way the matrix normalization is executed: when scaling the rows, the code changes what each column will sum to before the column normalization is computed.
The good news is it shouldn't be too hard to make the necessary changes (and won't increase complexity).

This technically does not implement degree-weighted-path-count (or even DWWC) as I understand it

Fantastic. Perhaps the correct implementation will fix the discrepancy with the Cypher implementation.
I understand now what I've done... I think.

DWWC/DWPC: must take row/column sums before any normalization
diffusion: sequentially normalize.

Means that the current function names in #25 are busted.


Race condition with updating the Blockchain height from admin panel

How did you solved the issue?? I am also having same Race condition in one of the blockchain


List and Trigger Quick Actions

Add the ability to list the available quick actions and trigger them.

It looks like the automations and quick actions come from the same request to /api/v1/automation, the quick actions have the type "manual".
automation_json.txt
You trigger ("apply") a quick action with: https://my.goabode.com/api/v1/automation/{id}/apply

Finished in v0.10.0


Separate into irc-bot-core and my own irc-bot-plugins

https://github.com/c650/irc-bot-framework/commit/2e775258ba85a53d3264550c4393b6cedcfaf92b


fix: headers cannot be set

Problem: When using options.headers = { ...header }, the headers were not correctly applied to the request.
Solution: I replaced options.headers = { ...header } with options.headers = header. By assigning the headers directly, the issue is resolved, and the HTTP headers are now set correctly.

@nmsbnmsb1
Hey, can you explain where exactly it is not set properly?
It would be great if you could provide screenshots.
My test here is normal. This is my test result:

My code like this:
const header = new Headers(options.headers); const token = getToken(); if (token) {    header.append("Token", token); } options.headers = header;
I believe this Header instance is used for setting headers, so I used its API to configure them.
When I used the destructuring operator，
options.headers ={ ... header }
I found that I couldn’t add the Token field to the HTTP headers, so I made this modification
options.headers = header
If this wasn’t your intention, please ignore my request.
Thanks : )

Can you try this code snippet?
const token = getToken();
if (token) {
	header.set("Token", token)
}

Maybe you should use set instead of append.

Hello. I have tried. Here are the results.

Please verify and test.
Thanks

@nmsbnmsb1 You are right, but I am working on other new features now. I will merge this PR later. Thanks