[help] passing env variable to container.

need help,
how can i pass an env varialbe directly from helm cmdline to pod?
or not supported?
and this variable not pre-defined in charts/deployment.yaml.
from cmdline (or else):
helm install abc xxx/abc --set VAR=123
helm install abc xxx/abc --set env.VAR=123
result:
deployment.template.container:
env:
  -- name: VAR
      value: 123

Usually there is a env: section in Kubernetes Deployments, etc.
For those to be accessible and changeable the Chart has to support that.
An example can be found here:
https://github.com/helm/charts/blob/master/stable/nginx-ingress/templates/controller-deployment.yaml#L137
You can then add additional environment variables with: controller.extraEnvs.

ok, thanks @pho-enix. I understand now:

There is no official helm method to pass env.variables to container directly.
And the best practice is: chart writers should/may put an extraEnvs in chart.deployment.container.env,  just in case.

but unluckily, the chart i want to use does not support this.
Maybe, this should become a helm builtin feature, for exposing container env outside.
We cannot expect chart makers copy-paste all container options.

for future users come here,

pull the chart, edit templates/deployment.yaml

add the variable you need.
or add a extra turnnel, like @pho-enix 's advise.

Use double dollar signs:
var: $$VAR_HERE


🛠Add some JavaScript tools

This is the foundation of tools to interact with :octocat: API with JavaScript - more to come

Hello @gjtorikian, @kylemacey , @nathos if you have ⌚ could you please 👀  my pr
:octocat: ❤


stuck on node-gyp

I successfully installed node-gyp onto my computer using another github project: https://github.com/nodejs/node-gyp . I downloaded all of the dependencies needed for this to work on Windows including:
Bonjour SDK
Python 2.7
Visual Studio 2015 with Visual C++ packages installed
npm
node
For some reason every time I try to install mdns I am still getting the same error message (even after downloading node-gyp<EMAIL_ADDRESS>install: `node-gyp rebuild'". Any ideas as to what the problem might be? Thanks.

Is node-gyp available globally?
Is it possible to see the entire error message?
I have just started using this library myself and found that compiling it took most of my time.


Image Processing

Hi taigw @taigw,
How can I process the image so that its intensity is normalized to [0,1] using window/level of 1500/-650?
Could you please share the code?
Thank you for your help!

Hi @xiaoxuegao499 ,
This is a quite simple image intensity transform. The window width/level of 1500/-650 means you map intensity of [-1400, 100] to [0, 1]. Intensity lower than -1400 will be mapped to 0.0 and intensity higher than 100 is mapped to 1.0. I believe you can implement it by yourself quickly.


Change notifications to popups

I would add more info about transaction (i.e. shorten transaction hash)
Let's not make items transparent


🎨 Reformatted nl.json with CleanJSON.py

I've only ran CleanJSON.py in this PR, I will open a separate PR for the localization changes to make it easier to review

Thank you, merged!


gtk4 dark theme broken since upgrade to 23.11

Describe the bug
Since the upgrade to 23.11, gtk4 apps no longer respect the set dark mode.
Steps To Reproduce
Steps to reproduce the behavior:

set dark mode for gtk4 via nix-shell -p glib --run "gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita-dark'"
launch any gtk4 app via Dmenu or terminal
it's not in dark mode

Only way I got it into using dark mode was like this:
GTK_THEME=Adwaita-dark <program> but that's not feasible when using dmenu
Expected behavior
All gtk4 apps are in dark mode
Additional context
Add any other context about the problem here.
In case it makes a difference, I'm running i3wm under X.org.
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.67, NixOS, 23.11 (Tapir), 23.11.1779.cf28ee258fd5`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.1`
 - channels(root): `"nixos-23.11, nixos-unstable"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Add a :+1: reaction to issues you find important.

It's not just gtk4. For me it's mostly gtk3 apps with some exceptions, whereas gtk4 apps all work normally. I've tested the following apps: GTK3 (Tilix :x:  , Terminator :x: , Meld :x:, Gnome Disks :green_circle: ) and GTK4 (BlackBox   :green_circle: , Console   :green_circle: , Gedit   :green_circle: , Blanket  :green_circle:). For apps that show in white style gtk inspector shows an unset theme, but setting it and/or toggling "Dark Variant" doesn't change anything:

For me, both gtk3 and gtk4 settings.ini had the following settings;
[Settings]
gtk-icon-theme-name=Adwaita
gtk-theme-name=Adwaita-dark
gtk-application-prefer-dark-theme=0

changing to;
[Settings]
gtk-icon-theme-name=Adwaita
gtk-theme-name=Adwaita-dark
gtk-application-prefer-dark-theme=1

Made things dark again :)

@mannp adding those lines didn't fix it. To me it seems that the problem is with apps not being able to find Awaita Dark theme (or any theme at all, see inspector screenshots above)

@mannp adding those lines didn't fix it. To me it seems that the problem is with apps not being able to find Awaita Dark theme (or any theme at all, see inspector screenshots above)

Sure, I don't use inspector, but within gnome tweaks the adwaita dark theme is not specified separately now, it's just Adwaita for me.

Only way I got it into using dark mode was like this:
GTK_THEME=Adwaita-dark <program> but that's not feasible when using dmenu

This sounds like OP is using libadwaita-based GTK 4 apps, where changing the gtk-theme GSettings key (from org.gnome.desktop.interface schema) does not work.

The rest of you are are probably encountering unrelated issue triggered by https://github.com/NixOS/nixpkgs/pull/278941.
Adwaita-Dark should not be used these days since it is unmaintained. The aforementioned PR removes it from the default installation.
You should instead use the Adwaita theme shipped with GTK 3, which has dark theme built in (if you set gtk-application-prefer-dark-theme=1 in GTK settings).
For GTK 4 apps not using libadwaita, the theme is called Default, gtk-application-prefer-dark-theme=1 should work there as well.
For libadwaita-based GTK 4 apps, you need to set the color-scheme GSettings key (from org.gnome.desktop.interface schema) to 'prefer-dark'.

That is not a GTK app so no idea how it works there.

Only way I got it into using dark mode was like this:
GTK_THEME=Adwaita-dark <program> but that's not feasible when using dmenu

This sounds like OP is using libadwaita-based GTK 4 apps, where changing the gtk-theme GSettings key (from org.gnome.desktop.interface schema) does not work.
The rest of you are are probably encountering unrelated issue triggered by #278941.
In short, Adwaita-Dark should not be used these days since it is unmaintained. The aforementioned PR removes it from the default installation.
You should instead use the Adwaita theme shipped with GTK 3, which has dark theme built in (if you set gtk-application-prefer-dark-theme=1 in GTK 3 config).
For GTK 4 apps not using libadwaita, the theme is called Default, gtk-application-prefer-dark-theme=1 (in GTK 4 config) should work there as well.
For libadwaita-based GTK 4 apps, you need to set the color-scheme GSettings key (from org.gnome.desktop.interface schema) to 'prefer-dark'.

This should be put in 24.05 release notes. I've just run into this problem and your post really helped. Thanks!

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/nixos-24-05-released/46279/9

We mentioned the Adwaita-Dark removal in https://github.com/NixOS/nixpkgs/commit/86cc033bf9a44225c8caadb2e2ec6f02feee02eb but for some reason it disappeared from the history. https://github.com/NixOS/nixpkgs/pull/316270 adds it back.

when i try settings anythings via gsettings i get No schemas installed.

We intentionally do not make schemas globally available. You need to run gsettings with XDG_DATA_DIRS environment variable to set to schema paths you need.

For libadwaita-based GTK 4 apps, you need to set the color-scheme GSettings key (from org.gnome.desktop.interface schema) to 'prefer-dark'.

Any idea why this doesn't work for me? I tested it with nautilus on dwm window manager, using the latest nixos-unstable branch.

Currently I'm using an ugly workaround where I link adw-gtk3's dark gtk.css to gtk4 config, but I'd like to remove it and properly set dark theme for gtk4 apps.

@gepbird Same issue here. Took me a while to figure out I needed to add the schema to XDG_DATA_DIRS, so I'm really wondering why it didn't help.

@gepbird @auroraanna OMG I finally solved it. Use ADW_DISABLE_PORTAL=1 . The reason that libadwaita wasn't dark was that it tried to get the color scheme from a desktop portal, which would require even more tweaking to return dark. ADW_DISABLE_PORTAL makes it read gsettings. And you don't even need to add the gsettings schema to XDG_DATA_DIRS.

Also figured out how to get the gtk portal working on Hyprland, and presumably other WM:s as well.
  xdg.portal.extraportals = [ pkgs.xdg-desktop-portal-gtk ];

This makes dark mode also apply to programs like firefox that only support the portal, and makes ADW_DISABLE_PORTAL unnecessary.

@discapes  Thanks for your research, it works well with environment.sessionVariables.ADW_DISABLE_PORTAL = 1;.
I tried to make it work on dwm with portals (and without the env var) but it stays light theme, this is what I've tried:
  home-manager.users.user.dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-dark";
  xdg.portal.enable = true;
  xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];

Can you share your whole hyprland config?

@gepbird https://github.com/discapes/dotfiles

You can test the portal manually with
dbus-send --print-reply --dest=org.freedesktop.portal.Desktop /org/freedesktop/portal/desktop org.freedesktop.portal.Settings.Read "string:org.freedesktop.appearance"  "string:color-scheme"

Also use systemctl --user status xdg-desktop-portal-gtk to verify the service is started.

Thanks for the dbus troubleshooting command, I'll check out your config and dive deeper into this later.
~ ❯ systemctl --user status xdg-desktop-portal-gtk
● xdg-desktop-portal-gtk.service - Portal service (GTK/GNOME implementation)
     Loaded: loaded (/etc/systemd/user/xdg-desktop-portal-gtk.service; linked-runtime; preset: enabled)
     Active: active (running) since Fri 2024-07-05 00:46:33 CEST; 31s ago
   Main PID: 33397 (.xdg-desktop-po)
      Tasks: 5 (limit: 38398)
     Memory: 3.5M (peak: 4.1M)
        CPU: 55ms
     CGroup<EMAIL_ADDRESS>             └─33397 /nix/store/3m78a12shpr516ny99gp3x3k9db7l98v-xdg-desktop-portal-gtk-1.15.1/libexec/xdg-desktop-portal-gtk

Jul 05 00:46:33 geppc systemd[1820]: Starting Portal service (GTK/GNOME implementation)...
Jul 05 00:46:33 geppc systemd[1820]: Started Portal service (GTK/GNOME implementation).

~ ❯ dbus-send --print-reply --dest=org.freedesktop.portal.Desktop /org/freedesktop/portal/desktop org.freedesktop.portal.Settings.Read "string:org.freedesktop.appearance"  "string:color-scheme"
Error org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Settings” on object at path /org/freedesktop/portal/desktop

Thanks guys! I've succeeded thanks to you! (I am on sway)
According to https://wiki.archlinux.org/title/XDG_Desktop_Portal

Multiple backends can be installed: for example, a Sway user may use xdg-desktop-portal-wlr for screen sharing support and xdg-desktop-portal-gtk as a fallback for all other interfaces that xdg-desktop-portal-wlr does not implement.

Here is my config that enable dark-theme for gtk2/3/4 and Qt.
{ config, pkgs, ... }:
{
  dconf = {
    settings = {
      "org/gnome/desktop/interface" = {
	gtk-theme = "Adwaita-dark";
	color-scheme = "prefer-dark";
      };
    };
  };

  gtk = {
    enable = true;
    theme = {
      name = "Adwaita-dark";
      package = pkgs.gnome.gnome-themes-extra;
    };
  };

  qt = {
    enable = true;
    platformTheme.name = "Adwaita-dark";
    style = {
      name = "Adwaita-dark";
      package = pkgs.adwaita-qt;
    };
  };

  xdg.portal = {
      enable = true;
      extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
      configPackages = with pkgs; [ xdg-desktop-portal-gtk ];
  };
}

  gtk = {
    enable = true;
    theme = {
      name = "Adwaita-dark";
      package = pkgs.gnome.gnome-themes-extra;
    };
  };

I don't seem to have that option on nixos-unstable.
@trya2l do you happen to be on a much older channel?

I am having issues configuring dark mode system wide (I need this to resolve https://github.com/rharish101/ReGreet/issues/45#issuecomment-2323445064) and I've only managed to get dark mode once. It just doesnt work anymore......... I am so frustrated that I dont even wanna try anything anymore...

I was stuck on this for days but the cause of the issue for me was a sneaky little
export GTK_THEME="<a theme that's not installed>"
in my ~/.zprofile


cleanup: remove unused function in pkg/version

Please provide a description of this PR:
Remove unused function in pkg/version
To help us figure out who should review this PR, please put an X in all the areas that this PR affects.

[ ] Ambient
[ ] Configuration Infrastructure
[ ] Docs
[ ] Dual Stack
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Control Plane Revisions

Please check any characteristics that apply to this pull request.

[x] Does not have any user-facing changes. This may include CLI changes, API changes, behavior changes, performance improvements, etc.

@my-git9: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
d0715a10012f0c06f3f8050190310e2fc6538683
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

/retest


Remove cranelift-wasm's "DummyEnvironment"

There were two remaining uses, both in cranelift-tools, in the wasm and souper-harvest subcommands.
These days it's better to use wasmtime compile --emit-clif rather than clif-util wasm, in order to see the CLIF that we actually generate rather than a rough approximation of it.
And clif-util souper-harvest will give more relevant results if you feed it CLIF from wasmtime compile --emit-clif as well. To make that easier to do, I've made souper-harvest accept multiple input files, as well as accepting directories which recursively contain input files.

🎊


Update sql-data-warehouse-manage-monitor.md

Formatting the list to show up correctly on azure.com.

Hi @sahaj08, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (sahajs). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@barbkess
Please review and approve here, thanks.

@JennieHubbard

#signoff

@sahaj08
Please resolve the merge conflicts using this guidance https://microsoft.sharepoint.com/teams/azurecontentguidance/wiki/Pages/Resolve a local merge conflict yourself.aspx, or if this work was done in another pull request, feel free to close this pull request. Thanks.

@sahaj08
Following up.

Closing this pull request, I'll re-submit my changes.


Fix a link typo in README

Fix a link typo in README.md
Fix a link typo in README.md (for https://github.com/KjellKod/g3log/pull/460)
Testing

[ ] This new/modified code was covered by unit tests.

[ ] (insight) Was all tests written using TDD (Test Driven Development) style?

[ ] The CI (Windows, Linux, OSX) are working without issues.

[ ] Was new functionality documented?

[ ] The testing steps  1 - 2 below were followed

step 1
mkdir build; cd build; cmake -DADD_G3LOG_UNIT_TEST=ON ..

// linux/osx alternative, simply run: ./scripts/buildAndRunTests.sh

step 2: use one of these alternatives to run tests:

Cross-Platform: ctest
or ctest -V for verbose output
Linux: make test

Thank you for the typo correction


Update README.md

What type of PR is this? (check all applicable)

[x] 🚀 Added Name
[ ] ✨ Feature
[x] ✅ Joined Community
[ ] 🌟 ed the repo
[ ] 🐛 Grammatical Error
[x] 📝 Documentation Update
[x] 🚩 Other

Description
Add Link of GitHub Profile

Added My Profile - @NikunjThesiya


[ItemPanel] Clarify it's important to use the correct StackPanel type

Today, the documentation for ItemsPanel lists the default value for ItemsControls, but does not mention that common controls (like ListView) override this default value. If users use the incorrect panel type here, they may regress behavior (for example, Narrator keyboard reordering notifications via CanReorderItems on a ListView will not have the correct info).
This change updates the documentation to clarify that subtypes of ItemsControl may have different default templates, and it also clarifies that using the wrong type may cause unexpected behavior.

@citelao : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Show reverse diff for 'checkout file at commit'

For the new command GsCheckoutCurrentFileAtCommitCommand you currently show the standard commit info in the bottom panel. I think it would be nicer to show the reverse patch here.
This is esp. obvious comparing HEAD to workspace. E.g. you would see which lines will be removed if you checkout that commit. (Basically git diff -R <commit> -- <file>.) Without the '-R' it's a bit confusing.
Would you consider a PR here?

Yes, but only for the checkout command.
All you need to do is to define on_highlight on GsCheckoutCurrentFileAtCommitCommand. Can call some async this methos like GsShowCommitInfoCommand.
PR will be appreciated!

I'm going to close this ticket, as the PR has been merged. Feel free to reopen if there are any remaining tasks


The program aborts for ANO-RCC-VTZP

When I used the AutoCABS script to generate the CABS basis of either ANO-RCC-VDZP or ANO-RCC-VTZP for Ru (obtained from BSE in either ORCA or Molpro format), the script aborts after the following output:
 S orbital exponents and a single outermost decontracted exponent
 [0.02021675]

 P orbital exponents and a single outermost decontracted exponent
 [0.05262899]

 D orbital exponents and a single outermost decontracted exponent
 [0.02643475]

 F orbital exponents and a single outermost decontracted exponent
 [0.073407]

 G orbital exponents and a single outermost decontracted exponent
 [0.2494532]

 H orbital exponents are all with contraction coeff. equal to 1
 []

D orbital exponents were taken as multiples of P-type shells.

F orbital exponents were taken as multiples of D-type shells.

G orbital exponents were taken as multiples of F-type shells.

Geometric mean of P orbital exponents cannot be calculated from current main orbital exponents: []

Geometric mean of D orbital exponents cannot be calculated from current main orbital exponents: []

Geometric mean of F orbital exponents cannot be calculated from current main orbital exponents: []

Geometric mean of G orbital exponents cannot be calculated from current main orbital exponents: []

Geometric mean of H orbital exponents cannot be calculated from current main orbital exponents: []

Summary of generated AutoCABS exponents
Traceback (most recent call last):
  File "/hsnfs/users/zwang/autoCABS/basis-definitions-and-examples/ANO-RCC-TZP/AutoCABS-generation-geom_mean_tight_and_diffuse_plus_single_layer.py", line 324, in <module>
    print('S\n', np.sort(geom_mean_S)[::-1])
NameError: name 'geom_mean_S' is not defined

I could generate the CABS basis of cc-pVTZ or 3-21G correctly using the same workflow, suggesting that this should not be due to my personal error.
Upon careful reading of the autoCABS paper, I realized that for a generally contracted basis set, the autoCABS0 basis set will be empty, which may explain the error. However, in this case autoCABS0+ and all the larger variants of autoCABS are not empty, so it is perfect legitimate for a user to ask for generating an autoCABS basis set for a generally contracted basis set. It would be greatly appreciated if you could make the script applicable to generally contracted basis sets.

Your feedback is appreciated.
The autoCABS code was updated today:
For generally contracted orbital basis sets with contraction coefficients not equal to 1, e.g., ANO-RCC-VnZP, the autoCABS is generated by using all orbital exponents per subshell, resulting to larger, automatically generated basis sets. This functionality has not been thoroughly tested for energetics and harmonic frequencies.
Please check the generated autoCABS from ANO-RCC-VTZP for Ru inside:
https://github.com/msemidalas/autoCABS/blob/master/basis-definitions-and-examples/ANO-RCC-VTZP-AutoCABS1%252B-

Thank you very much!
Regards,
Zikuan Wang


cmake: prefer the python3 executable over python

Motivation and Context
In a response to https://github.com/mosra/magnum-bindings/issues/4. On macOS (without any special setup at least), python defaults to python 2, and this override here is causing the version 2 to be picked up first.
@erikwijmans actually, I'm not sure about the whole check at all -- why was find_package(PythonInterp 3.6 REQUIRED) not enough? This override after is not doing any version checks and if version 2 gets picked up, it just happily continues without any indication of things being wrong. What would break if this whole part was not there?
How Has This Been Tested
/usr/bin/python shouldn't be picked up by accident anymore.

This may have been fixed with cmake at some point, but last I knew, find_package(PythonInterp 3.6 REQUIRED) sometimes wouldn't respect conda/virtual environments.  (IIRC, it's because cmake has some default search paths that it always searches first).

Looking into https://github.com/Kitware/CMake/blob/master/Modules/FindPythonInterp.cmake, it's just a fancy version-checking wrapper over find_executable(PYTHON_EXECUTABLE python), and as far as I can see, there is no difference in default search paths between what the Find module does and what the Habitat code has.

OK, so all

Happy to see this fixed. I ran into this when I first tried to get habitat-sim working on Mac (without conda). Will let Erik approve.


HOTFIX ? 15.1.0 issues

Out of desperation I installed 15.0.0 on a local host, after that I extracted the files from 15.1.0 SR2 (whatever that is) and replaced the files.
This fixed the modules tick problem, and the default member registration option,
Now for the first time I have a stable system that I am willing to go live with (keeping in mind that I am disabling the IM module because it is just not reliable).
I still have no idea what is the difference between 15.1.0 and 15.1.0 SR2 but at this stage I don't care.

@Nigrini Hi,
Thanks for pointing out this issue.
Instead of just writing whatever that is concerning 15.1.0 RC2 maybe you could gain much more by doing some research. Computer aren't human and just using the simple thinking that if a manipulation work then everything is fine. That's the worst start you can get !
It may seem to work in one situation but not in another. In this case you extracted files from one version onto another. Was it all of the archives or only part of it, I don't know as you didn't mention nothing.
If you did all of the archive then you simply changed the version of your installation.
If you actually want to do something more useful and gain some knowledge then take a look at _https://github.com/pH7Software/pH7-Social-Dating-CMS/blob/master/_protected/app/system/modules/admin123/forms/DisableModuleForm.php_ and compare between release.
The last changed made on this particular file was 3 months ago.
You can easily search through all the source code using the unix (Linux) command fgrep. On Windows there's certainly another utility that will allow you to search inside of file. So you take a string and search into the source code for it. It will give you the beginning of a path to search for answer.
You've made a remark about the need to have people do test the software. Indeed it's a must but to be a minimum useful there's some standard rules to follow and knowledge to have. Part of this can be found here : https://en.wikipedia.org/wiki/Software_release_life_cycle
For example people who complains that they made a manipulation and broke their system. They tried to do some modification to the source code and screwed the system, corrupted the database, etc. Who's to blame other then themselves ? No one, only them because you don't operate those type of modification on a live system. Every, every and every developers knows that !
There's a line between the paid service offered by Microsoft and other provider versus the FREE software community. And even between the different communities, for example to compare Joomla that has many commercial supporters, company who offer support and invest in the development of add-ons versus this CMS that was written nearly all by one man.
And we have to beg for a minimum of support, be it to get a start on gitHub, a review on SourceForge. People expect it works out of the box but forget that it's more alike a CMF, that is the framework you use to build upon your site.  It's easy to say "I ain't a developer, I'm just reporting issue" but to be useful, a bug report needs one thing and it's a way to reproduce the error that is reported.
If I can reproduce it, then I can't investigate and fix it. Sometime it's easy to find the source, for example a typo in the writing of a string. But for some other where the problem is deeper then it may arise only on a certain web server software or certain operating system.
Good reading!
Remember, if you'd like to get the development done faster then contribute as a Patreon. Only the basis already given (and unstable as you say) is worth much more then the largest contribution in the offert.
Have a nice summer

@polynamaude
I think what I am going to do is to "rewrite" the documentation, more accurately would be to say add on to the existing documentation. Regarding the SR2, I must confess I did not kept a record and thinking of it now I am a bit angry at myself for not doing so.
I have a set up sort of a "test lab" and will be more than happy to try and reproduce my actions.  I will send you and/or Pierre everything that I did in a hopefully understandable format so we can keep track of the changes.
I wasn't sarcastic about the SR2 part, but I seriously don't know where it fits in. Personally I stumble across the software on version 14.9 and I was busy playing with it when I saw version 15 is available. Not long after version 15 the software let me know 15.1 is available. I was actually searching for solutions om the problems that I was having by using 15.1 that I saw the 15.1 SR2 and  nowhere is it explained what the difference is between the two.

@Nigrini We'd be more than happy to get help with making a more complete documentation.
Relating to RC (Release Candidate), I firmly believe that it's not something we have to discuss or explain here. Those are thing that people planning to operare a website should master. And the same goes for the word filesystem, the notions of DNS, SMTP, etc.
 If you are planning to operate a website then either you should have the knowledge required or team-up with someone who do.
If I go out and buy a electron-scanning microscope and try to find in the user manual what's an atom or an electron then it's pretty much a sign that I wen to buy something that I don't have knowledge to use or operate. I'm not saying someone who don't know what's a Release Cycle can't install a website. What I'm saying is this person should have the good work habits of making some research and learning. And if the answer is "have no time" then pay someone or change your plans.
If those basic reflex aren't developed then you'll get more than your share of RTFM and / or "This group is for supporting a specific product not general web development questions. Go to StackOverflow !"
What you know in life is worth close to nothing. The value reside in having the understanding of what you don't know and the perimiter of what you understand. Afterward, get the information needed by validating your sources.
Actually if I follow what you say then we shall be explaining how to use the git version control system because we use it for our repository. We should also explain both of Apache web server and Nginx web server because they are used to serve the CMS. Also we shall explain what's a JPEG with all the different encoding, what's Javascript/EcmaScript, PHP, HTML5 and while we are here why not a chapter on how to install Linux. I'm also missing the most important part, a good 100 pages on installing a server and configuring your network / firewall / router / modem.
I expect you to get the point by now.
If you think "That's stupid, teaching how to configure network. People operating website shall know that" then I'd simply add "People who intend to install software not meant for end-user should have what's needed or be able to search for". If I sell / publish a library for the PHP language then I'm not going to explain how to do coding because people who use library need to have the knowledge for doing PHP development. But tt's not because they can install the library that they'll be able to use it.
You can go out and download a trial relase of AutoCAD. It's a many thousand dollard worth software for engineering design. Does the book explain what's a Radian ? Certainly not ! I can click on the installer and see the finish dialog after clicking next many time. Does it mean that I can afterward call the technical support and get help on how to build a space shuttle or the uses of different degree type for reporting angle. Again, I think we're going on the NO side.
I have no doubt about your good intentions but you have to understand the limits. I can tell you to use diff to see the differences between to source file but don't come back askig me the options for this command. It's not that I don't know but that I have limited time and if I do use all my time to answer such question then I won't have any for real stuff.
Do some reading about the MVC design pattern, software development, etc.
When you say that you are going to take send the changes or whatever "keep track". We already have all of this.
https://github.com/pH7Software/pH7-Social-Dating-CMS/commit/7ebcda1fd55e2b98a6969ae906f3d873287ba9c5#diff-3cc326d3ac29d003a26569f2fd3fc336
If you did extract the complete archive then you just went back some version. That's all ! But because some of the configuration information reside in the database you are still with the options you've setup.
You're gona be editing some template file (HTML,JS and some PHP) to make your site custom. At least that's what I'd expect from someone who'd like to have his own social dating site. Do you have any idea what's XSS ? Stored XSS ?
On a last note, any professional knows that it's a pretty dumb thing to run the latest version of a software for production. Unless you want your production site to be used for discovering bug. Do you think that architect use the last version of AutoCAD ? Certainly not for product ! At most a handful of compute to see what's new but the bulk of the team run on a version 2 - 3 years old. They are producing not bug testing for Autodesk (AutoCAD's software firm). Do you think that office work in law firm work using the last version of Microsoft Office ? Again, no ! They want something stable. Same goes for hardware. I worked for a pharmacy group for some years, we didn't run the very last released version of Dell computer. We always made the choice of a model that's a bit behind so we'd have a good base of experience if a bug arise.

@polynamaude - With english not being my first lanuage, I suspect some communication gaps. So let me try to explain.

I know what RC and RC2 means.
I was more than happy to apply the fixes that was provided to certain issues that was found on V15.
I did not expect an "official" RC on 15.1 so soon

Most importantly I am interested in the changes that was made between SR2 and the final V15.1 release because that changes resulted in V15.1 being more unstable than the RC2

@Nigrini You can enable the modules by editing the database table directly. See inside
https://github.com/pH7Software/pH7-Social-Dating-CMS/blob/master/_install/data/sql/MySQL/pH7_Core.sql
There's a module table.

@Nigrini
https://github.com/pH7Software/pH7-Social-Dating-CMS/blob/master/_protected/app/system/modules/admin123/forms/DisableModuleForm.php
Click on history and you will see all the changes made.
If you click in the 2nd column then you'll see the related commit . From there you'll see the description of the changes and if other files are related.
So you can modify only the pieces needed instead of faking a release. (aka learn the basis of debugging and programming).

@Nigrini What's the goal of running a website when you aren't a technical user? It's like buying a car and not knowing to drive?
Are you gonna depend on help group at every problem you got? Make an effort and I'll help too.

You must ask that question to someone else.
Personally I have a Diploma in Information systems and 'n Degree in Psychology. I was a developer for a long time, starting out with COBOL and Natural Adabas. But for the past 10 years or so I am part of management and spend my time running a business.
So I am more than capable of jumping into code if I have to and get back on the horse and start learning PHP. Currently I just prefer not to spend to much time doing so since I have more than  enough other issues taking up my time.


schema-ast reorders parts of schema on each generation

Describe the bug
Our introspection query returns items in random order as the generation is asynchronous and rendered when calculated.
On the schema-ast side it just renders in that random order. That way our schema on the client side constantly changes.
With graphql@14 it was not an issue. With graphql@15 schema-ast does not do any post-processing and reshuffles generated schema.
To Reproduce
Steps to reproduce the behavior:

My GraphQL schema:

N/A

My GraphQL operations:

N/A

My codegen.yml config file:

schema: https://.../graphql
overwrite: true
generates:
  ./src/schema.graphql:
    plugins:
      - schema-ast
    config:
      includeDirectives: true
      commentDescriptions: true

    # FIXME: remove this hook once https://github.com/dotansimha/graphql-code-generator/issues/4393 has been resolved.
    hooks:
      afterOneFileWrite:
        - sed -i -e ':a' -e 'N' -e '$!ba' -e 's/[ ]*""""""\n//g'

Expected behavior
Schema is ordered and does not change.
Environment:

OS: Linux
@graphql-codegen/schema-ast: ~1.17.8
NodeJS: v12.16.2

Additional context

That way our schema on the client side constantly changes.

The schema doesn't actually change, right? just the order of the items, based on the changes from the introspection.

Our introspection query

How do you save the introspection file?

The schema doesn't actually change, right? just the order of the items, based on the changes from the introspection.

Yes, only the order of generated items is changed.

How do you save the introspection file?

As you can see in our config: We download it from our endpoint over HTTPS and store it in ./src/schema.graphql using schema-ast. The HTTPS endpoint runs in more replicas behind a loadbalancer in cloud so even result of 2 calls generates differences in order of ./src/schema.graphql.

I see. Maybe we can use lexicographicSortSchema from graphlql-js to fix that, I'll take a look.

@Eddman implemented in: https://github.com/dotansimha/graphql-code-generator/pull/5034

Available in<EMAIL_ADDRESS>

@dotansimha Tested and can confirm it works as expected. Thanks!


pybullet reset mode rendering leads to lagging block position

seems to only be a rendering issue. to reproduce:
python predicators/main.py --env pybullet_blocks --approach oracle --seed 0 --use_gui --pybullet_robot panda --make_test_videos --pybullet_camera_width 1674 --pybullet_camera_height 900 --pybullet_control_mode reset

example:
https://user-images.githubusercontent.com/2816502/202009350-92aa3619-79be-44c8-b433-fc022d03d56f.mp4

bbf3a79abbf90ee456e1e238d07de8579effb814 is the first bad commit
commit bbf3a79abbf90ee456e1e238d07de8579effb814
Author: Tom Silver<EMAIL_ADDRESS>Date:   Thu Oct 20 12:59:57 2022 -0400
set the joint state at the end of IK (#1259)

oh I guess that makes some sense -- the robot will be updated before it actually should be in the environment. really, we should be using the second robot for this...

what we really should do is refactor things such that the options don't have access to the environment's robot


Sensu Server Out of Memory

After running for some time the Sensu Server crashes with a NoMemoryError. The server is dead until it is restarted. The error is:
/opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-json-2.1.0/lib/sensu/json/oj.rb:25:in `dump': failed to allocate memory (NoMemoryError)
        from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-json-2.1.0/lib/sensu/json/oj.rb:25:in `dump'
        from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-json-2.1.0/lib/sensu/json.rb:43:in `dump'
        from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-logger-1.2.1/lib/sensu/logger/stream.rb:125:in `create_log_event'
        from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-logger-1.2.1/lib/sensu/logger/stream.rb:49:in `add'
        from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-logger-1.2.1/lib/sensu/logger/stream.rb:29:in `block (2 levels) in create_level_methods'
        from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-1.2.0/lib/sensu/server/filter.rb:207:in `filter_event'
        from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-1.2.0/lib/sensu/server/process.rb:264:in `block in process_event'
        from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-1.2.0/lib/sensu/server/process.rb:262:in `each'
        from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-1.2.0/lib/sensu/server/process.rb:262:in `process_event'
        from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-1.2.0/lib/sensu/server/process.rb:706:in `block (4 levels) in process_check_result'
        from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-1.2.0/lib/sensu/server/process.rb:520:in `block in update_event_registry'
        from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-redis-2.2.0/lib/sensu/redis/client.rb:337:in `dispatch_response'
        from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-redis-2.2.0/lib/sensu/redis/client.rb:365:in `parse_response_line'
        from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-redis-2.2.0/lib/sensu/redis/client.rb:387:in `receive_data'
        from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/eventmachine-1.2.5/lib/eventmachine.rb:194:in `run_machine'
        from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/eventmachine-1.2.5/lib/eventmachine.rb:194:in `run'
        from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-1.2.0/lib/sensu/server/process.rb:33:in `run'
        from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-1.2.0/exe/sensu-server:10:in `<top (required)>'
        from /opt/sensu/bin/sensu-server:22:in `load'
        from /opt/sensu/bin/sensu-server:22:in `<main>'

The Log level is on info, the embedded ruby is used. Logs are written correctly up to the crash.
The machine that runs sensu-server has 2GB of RAM and normally doesn't come close to using that much
Environment:
Sensu-Server Version: 1.2
OS: Ubuntu Linux (trusty)

Hi @Simiil, thanks for raising this issue. Because Ruby dynamically allocates memory as needed, out of memory conditions aren't something we see very often. If you will provide some of the following details, they might help us better understand the problem:
Is this condition reproducible in your environment?
Are you able to determine how much memory is in use by Sensu's Ruby process leading up to the crash?
Do you have any extensions installed in your Sensu instance?

Hi,
Similar issue:
{"timestamp":"2018-03-13T17:12:13.087162+0000","level":"error","message":"unexpected api error","error":"400 Bad request","backtrace":"/opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/em-http-server-0.1.8/lib/em-http-server/server.rb:61:in `bad_parsing'\n/opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/em-http-server-0.1.8/lib/em-http-server/server.rb:48:in `parse_first_header'\n/opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/em-http-server-0.1.8/lib/em-http-server/server.rb:23:in `receive_request'\n/opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/eventmachine-1.2.5/lib/em/protocols/header_and_content.rb:99:in `dispatch_request'\n/opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/eventmachine-1.2.5/lib/em/protocols/header_and_content.rb:73:in `receive_line'\n/opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/eventmachine-1.2.5/lib/em/protocols/linetext2.rb:73:in `receive_data'\n/opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/eventmachine-1.2.5/lib/eventmachine.rb:194:in `run_machine'\n/opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/eventmachine-1.2.5/lib/eventmachine.rb:194:in `run'\n/opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-1.2.0/lib/sensu/api/process.rb:17:in `run'\n/opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-1.2.0/exe/sensu-api:10:in `<top (required)>'\n/opt/sensu/bin/sensu-api:22:in `load'\n/opt/sensu/bin/sensu-api:22:in `<main>'"}
/opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-json-2.1.0/lib/sensu/json/oj.rb:25:in `dump': failed to allocate memory (NoMemoryError)
    from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-json-2.1.0/lib/sensu/json/oj.rb:25:in `dump'
    from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-json-2.1.0/lib/sensu/json.rb:43:in `dump'
    from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-1.2.0/lib/sensu/api/http_handler.rb:205:in `respond'
    from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-1.2.0/lib/sensu/api/routes/events.rb:24:in `block (3 levels) in get_events'
    from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-redis-2.2.0/lib/sensu/redis/client.rb:337:in `dispatch_response'
    from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-redis-2.2.0/lib/sensu/redis/client.rb:369:in `parse_response_line'
    from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-redis-2.2.0/lib/sensu/redis/client.rb:387:in `receive_data'
    from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/eventmachine-1.2.5/lib/eventmachine.rb:194:in `run_machine'
    from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/eventmachine-1.2.5/lib/eventmachine.rb:194:in `run'
    from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-1.2.0/lib/sensu/api/process.rb:17:in `run'
    from /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-1.2.0/exe/sensu-api:10:in `<top (required)>'
    from /opt/sensu/bin/sensu-api:22:in `load'
    from /opt/sensu/bin/sensu-api:22:in `<main>'

Both sensu-extensions-occurrences and sensu-extensions-check-dependencies are used

This could be an Oj JSON parser C extension leak (doesn't use Ruby heap). We use an older release of Oj (https://github.com/ohler55/oj/blob/master/CHANGELOG.md#2181---2017-01-09) to avoid a known leak which has probably been addressed. We can try upgrading to the latest release (https://github.com/ohler55/oj/blob/master/CHANGELOG.md#360---2018-05-01).
As we have not yet seen this reproduced and upgrading Oj could introduce other problems, I'm adding this to the 1.5 milestone.

This just hit us as well. I was also unable to reproduce it, and can't run at a log level that would show what caused the parser to melt.


Add SearchWithin component

🙋 Feature Request
A SearchWithin combines a SearchField and a Picker into a single group. This allows a user to constrain the scope of their search to a particular category, for example.

💁 Possible Solution
A SearchWithin acts as a container for a SearchField and a Picker. It does not implement any logic on its own, but it does provide styling for its children and support for labeling the entire search within as a whole. Therefore, to give developers full control over both pieces, it will simply accept them as children.
<SearchWithin label="Search">
  <SearchField placeholder="Search" />
  <Picker defaultSelectedKey="all">
    <Item key="all">All</Item>
    <Item key="campaigns">Campaigns</Item>
    <Item key="audiences">Audiences</Item>
    <Item key="tags">Tags</Item>
  </Picker>
</SearchWithin>

The API for this is as follows:
interface SpectrumSearchWithinProps extends SpectrumLabelableProps, DOMProps, StyleProps {
  children: ReactNode,
  /** Propagated to both children */
  isDisabled?: boolean
}

Styling
The search within css classes from spectrum-css can be used to implement this. In order to apply them, we can use the SlotProvider. SearchField and Picker will need to be updated to call useSlotProps with default slot names of searchfield and picker respectively. This way they can receive props sent from the SearchWithin to apply class names and other props.
In addition to classes, SearchWithin should also send a few other props to the slots:

isDisabled
isRequired
label - set to undefined to override any prop that might be there. The label should be on the whole SearchWithin.
isQuiet - set to false to override any prop that might be there since it is unsupported by SearchWithin.
aria-labelledby - set to the id of the search within label. See below.

Accessibility
A search within should be considered an ARIA group. It should support a visible label (implemented using the <Field> wrapper component), and use the id of this label to label both the SearchField and the Picker via aria-labelledby and the group itself.
Basic gist:

Label

  <input type="search" aria-labelledby="label" />
  <button aria-labelledby="label">All</button>

Packages
This should be implemented in the @react-spectrum/searchwithin package. Because it's pretty simple, mostly a spectrum concept and not an official ARIA pattern, we don't need to create any React Aria or React Stately hooks for it.
🧢 Your Company/Team
RSP

https://github.com/adobe/react-spectrum/pull/1366
It seems like there is no progress since 15 Dev 2020.


Mark the end of a computer variation somehow?

I had this idea about the computer eval being a projection of the future material gain, which can be easily computed from the line moves. So one can say that a line is as long as the material gain needs to catch up with the eval. In that case, we could mark that move in the computer eval line somehow, also this determines the line length, which can help determine how "human" it would be. Comparing lines that are similar in eval to see if they end in a similar way could lead to a textual explanation of the eval, too.
This has a lot of potential.

Unfortunately the computer eval data in lichess contains the moves for each variation, but not the evaluation for them. This might only work in the server eval of a game, since it contains the entire evaluation for a line.

... and while the mainline might reach the material value for the computer eval of a previous node, it doesn't mean it followed the computer eval line. I am closing this.


Clean up dependencies

What does this implement/fix? Explain your changes.
Removes dependencies that are not used.  This will shorten download/install times and make it more secure (see npm audit)
...
Does this close any currently open issues?
None
...
Any other comments?
...
Checklist
Check all those that are applicable and complete.

[X] Merged with latest master branch
[X] Regenerate documentation with npm run docs
[X] Add change details to CHANGELOG.md under "Next" section
[X] Added examples for testing to examples/ directory
[ ] Travis CI passes (Mac support)
[ ] AppVeyor passes (Windows support)

@stevenzeck : Changes looked reasonable, if you recreate the branch let's merge it.


Client crashes upon new network reconnecion

Hi, I have this scenario where my bot client fires up with Windows and the thing is after it fires up the vpn client connects which means that the bot client raises an internal exception when receiving a message which causes the client to crash. I think this should be take into consideration.
What happens behind the hood is that the bot client establishes a connection under non-vpn and then when vpn connects it screws up the bot client connection.

I don't think it's a client problem. In your case you have a dependency on another service and need to somehow satisfy it yourself. I'd check if window has an ability for services to have triggers on connections established and services running.


Update codes and displays to fix FHIR validator warnings

Updates a bunch of displays, and a few codes that seem to have been wrong, based on running a large set of Synthea patients through the FHIR Validator: https://confluence.hl7.org/display/FHIR/Using+the+FHIR+Validator
The vast majority of these are only display text changes such that we are using a preferred text for the code. There are a only handful of actual codes changed.
Note that this does not address every warning, but some of the other issues identified were not straight 1:1 changes that could be made trivially. I'm not an MD or PharmD but the intent is nothing here represents a material change.

Some of these changes don't match the display values from the terminologies themselves... not sure where the validator is getting them, but they don't match what RxNorm browser says they are.

Maybe the validator has an older version of RxNorm loaded and the display values it's suggesting are out of date? There was some discussion on the FHIR chat about another RxNorm code error at https://chat.fhir.org/#narrow/stream/179166-implementers/topic/Validator.20failing.20on.20RxNorm.20code/near/193074346
I can undo the RxNorm changes here if that's the way we want to go.

Closing this and will reopen another one with just the smaller set of actual code changes, no display changes


Update _reactHooks.mdx

User parameter was not shown on the on device eval docs

🚀 Deployed on https://6644ed53aa88593a6612cbb7--cozy-fox-0defec.netlify.app

hmmmm, why is it not using a github embed snippet

I thought you wrote it


[Feature Request] Provide current dialog/step to middleware

System Information (Required)

SDK Language: NODE
SDK Version: 3.8.3
Development Environment: LOCALHOST

Issue Description
I would like to use the middleware to send chat statistics to a server. From what I researched, the better way to do it would be creating a middleware to intercept all messages.
However, middleware callbacks don't have any information related to the current dialog which the user is currently in.
A possible solution would be to add the session to the send function:
Code Example
bot.use({
  send: function (event, session, next) {
    sendDialogAndStepToTheServer(session);  // assuming that the session object has the current dialog/step
    next();
  }
});

Actual Results
I can't send this info to the server without adding a function call in all waterfall functions.

@Rodrigora This project is open source and you are welcome to submit a pull request for our SDK devs to review.  Good luck!

@Rodrigora Add the the dialog/step metadata to the session object, then access it from your logging middleware.

@nwhitmont thank you for your explanation.
but, as far I now, I'd need to do something like this:
bot.dialog('whatever', [
  function (session) {
    session.userData.dialog = 'whatever';
    session.userData.step = 1;
    // ...
  },
  function (session) {
    session.userData.dialog = 'whatever';
    session.userData.step = 1;
    // ...
  },
  function (session) {
    session.userData.dialog = 'whatever';
    session.userData.step = 1;
    // ...
  },
  // ...
]);

bot.use({
  botbuilder: function (session, next) {
    sendDialogAndStepToTheServer(session.userData);
    next();
  }
});

Is this what you're suggesting?
Would be great to have the current dialog/step info in the session object by default, what do you think? Or this use case is very restricted?

relates to: https://stackoverflow.com/questions/44438849/microsoft-bot-how-to-log-each-conversation-step

Have a look at BotBuilder-Instrumentation, @morsh has found a way to catch the beginDialog event. Maybe it is helpful. https://github.com/CatalystCode/botbuilder-instrumentation/blob/master/src/main.ts

Maybe you can use session.dialogStack() ?

Thank you for opening an issue against the Bot Framework SDK v3. As part of the Bot Framework v4 release, we’ve moved all v3 work to a new repo located at https://github.com/microsoft/botbuilder-v3. We will continue to support and offer maintenance updates to v3 via this new repo.
From now on, https://github.com/microsoft/botbuilder repo will be used as hub, with pointers to all the different SDK languages, tools and samples repos.
As part of this restructuring, we are closing all tickets in this repo.
For defects or feature requests, please create a new issue in the new Bot Framework v3 repo found here:
https://github.com/microsoft/botbuilder-v3/issues
For Azure Bot Service Channel specific defects or feature requests (e.g. Facebook, Twilio, Teams, Slack, etc.), please create a new issue in the new Bot Framework Channel repo found here:
https://github.com/microsoft/botframework-services/issues
For product behavior, how-to, or general understanding questions, please use Stackoverflow.
https://stackoverflow.com/search?q=bot+framework
Thank you.
The Bot Framework Team


[BUG]

Describe the bug
REPACK-Ka0s não transfere (fica sempre no 0%)
Steps to Reproduce
--
Expected behavior
Esperava que transferisse e não dá download
Screenshots
--
Operating System
windows 9
Hydra Version
Hydra-1.1.0.Setup
Additional Information
--

windows 9?

Please use a newer version of Hydra, latest release is 1.2.4
What repack? What game? Please provide more information


fix(curriculum): Updated description of step 119 of JavaScript Algorithms and Data Structures Role Playing Game

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #53601

Hi @developwithabhinav !
Thank you for your interest in contributing.
In the future though, it is best to wait until the issue has been triaged before you begin working on it.
Because not all created issues, will be worked on some will be closed without further action.
I'll up the issue you are referencing for help wanted


[MINOR] Add UT org.apache.hudi.io.TestHoodieTimelineArchiver#testRetryArchivalAfterPreviousFailedDeletion

Change Logs

Add unit test  org.apache.hudi.io.TestHoodieTimelineArchiver#testRetryArchivalAfterPreviousFailedDeletion to simulate scenario where an archival call does not delete all the completed .commit files on the timeline and archival is retried again. The expected behavior is that the subsequent archival retry should "clean up" the leftover .commit files. This scenario can happen if org.apache.hudi.client.timeline.HoodieTimelineArchiver#deleteArchivedInstants encounters transient failures when deleting completed instant files, such as due to the edge case that was resolved by HUDI-7207

Impact
None
Risk level (write none, low medium or high below)
If medium or high, explain what verification was done to mitigate the risks.
none
Documentation Update
Describe any necessary documentation update if there is any new feature, config, or user-facing change

The config description must be updated if new configs are added or the default value of the configs are changed
Any new feature or user-facing change requires updating the Hudi website. Please create a Jira ticket, attach the
ticket number here and follow the instruction to make
changes to the website.

Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

@hudi-bot run azure

@hudi-bot run azure


Version 5.3.0

Adding support for functions to box_recast (thanks to Jacob Hayes)
Adding #181 support for extending or adding new items to list during merge_update  (thanks to Marcos Dione)
Fixing maintain stacktrace cause for BoxKeyError and BoxValueError (thanks to Jacob Hayes)
Fixing #177 that emtpy yaml files raised errors instead of returning empty objects (thanks to Tim Schwenke)
Fixing #171 that popitems wasn't first checking if box was frozen (thanks to Varun Madiath)

Co-authored-by: Jacob Hayes<EMAIL_ADDRESS>

Coverage remained the same at 100.0% when pulling 1ad79cf11709567779e8d3729cfad1d7cfe09b02 on develop into 4a505124686c1f0b79ea84bb292aec331ee70f51 on master.

Coverage remained the same at 100.0% when pulling 1ad79cf11709567779e8d3729cfad1d7cfe09b02 on develop into 4a505124686c1f0b79ea84bb292aec331ee70f51 on master.

Coverage remained the same at 100.0% when pulling 1ad79cf11709567779e8d3729cfad1d7cfe09b02 on develop into 4a505124686c1f0b79ea84bb292aec331ee70f51 on master.

Coverage remained the same at 100.0% when pulling 1ad79cf11709567779e8d3729cfad1d7cfe09b02 on develop into 4a505124686c1f0b79ea84bb292aec331ee70f51 on master.

Hi @cdgriffith, is there anything I can do to help out with this release? I've been using a version pinned to this branch for a bit and it's seemed to work ok. 😁

Hey @JacobHayes, honestly just needed the reminder, I thought I released this a while ago, apologies for the delay!

Awesome, thank you!


testsuite: cleanup for alternative-registries

Remove some alternative-registries features that were accidentally left
behind.

r? @Eh2406
(rust_highfive has picked a reviewer for you, use r? to override)

Looks ok to me.
@bors: r+

:pushpin: Commit c495e0a65449c43737cce184934f14249a8d23f0 has been approved by Eh2406

:hourglass: Testing commit c495e0a65449c43737cce184934f14249a8d23f0 with merge 449411f11df0c9394b0be3f64c1074b6216b5331...

:sunny: Test successful - checks-travis, status-appveyor
Approved by: Eh2406
Pushing 449411f11df0c9394b0be3f64c1074b6216b5331 to master...


Tekton triggers

This is still a WIP. Remaining steps include:

[ ] vendor Tekton Triggers install
[ ] convert other examples to use Triggers
[ ] linting and cleanup

Pinging @pxp928 has been playing around with Tekton Triggers too.

Looks like there are some "old" files that could be removed: e.g. examples/maven/*.old

Woops. Cleaned and rebased. Thanks!


Prevent panic when dropping subscription

Fixes #5545.
This PR prevents a panic that occurs when attempting to add a subscription with an unknown retention policy.

:+1:


Are there plans to support tests against the Brazil (Brasil) data center too?

I'm trying to figure out the best data center for someone that needs to connect from Cape Town, South Africa. On the maps it looks like Brazil might be a good choice? But I don't see that one listed.

My bad... Brazil South is listed... New Request... Can we call it "Americas" rather than "America"?

Thanks for suggestions. I have changed all geography names to align with official Azure geographies


[Fixes #455] Introducing TempData

@rynowak

:watch: waiting for updates here - want to see functional tests and removal of GetRequiredService in the invoker.

:shipit: from me after fixing issues - as I will be traveling and probably not have a chance to look again. Please have @Eilon sign off as well.
There's another discussion we need to have about the impact of TempData on testability. We did a pass recently to enable unit testing when using most of the 'standard' features of MVC's built in Controller. Might want to just add a unit test that sets/gets data from temp-data to prove that it can be done in a unit test.

:shipit: once the last comment is addressed - looks great!


Server issue

Minecraft Version
1.20.1
Plusls Carpet Addition Version
PluslsCarpetAddition-1.20.1-0.3.176+56ccc7d-beta
Carpet Version
fabric-carpet-1.20.1-1.4.112+v230626
Fabric API Version
fabric-api-0.86.1+1.20.1
Description
Server wont even detect the mod installed.. not on mod load list and carpet rule ignored as no mod to read from..
To Reproduce
Install on server, then run.
Expected behavior
Mod loading and working.
Log
No response
Latest CI build tested

[X] I confirm that this problem still exists with the latest CI build.

Did you try /pca?


Give virtualenv/setuptools warning on installation docs

Closes https://github.com/ansible/molecule/issues/1859.
Related to https://github.com/ansible/molecule/issues/1851.
PR Type

Docs Pull Request

Oh, and I'd mention this solution as well: https://github.com/ansible/molecule/issues/1859#issuecomment-475206255. Because using --user is a completely valid workflow as well.

Oh, and I'd mention this solution as well: #1859 (comment).
Because using --user is a completely valid workflow as well.

Good point! Covered :+1:


[Event Extension Request] Table 39 "Purchase Line" - adding var to Parameter in Publisher OnCopyFromItemOnAfterCheck

Hello, we need Parameter PurchaseLine in the Publisher OnCopyFromItemOnAfterCheck to be defined as a var. Can you please check that? Thank you!
[IntegrationEvent(false, false)]
local procedure OnCopyFromItemOnAfterCheck(var PurchaseLine: Record "Purchase Line"; Item: Record Item; CallingFieldNo: Integer)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 44163.


refactor(wallet): split hardware wallet tests

Context
Tests for hardware wallets split in two for Trezor and Ledger.

Merge conflicts to resolve

rebased


Fix link to http font from https

Coverage remained the same at 41.53% when pulling 8eec0a006476f4d4f21261f3b0f6153a4f3af370 on fix-font into a65ceb3f0db97fbc6476f4c60a2dc54b572078f0 on master.


Parse doesn't work when schema passed as generic type

Hi I have a function like this
export const parseMyObject = <T, Z extends z.ZodType<object>>(
  value: object,
  schema: Z
): T | string => {
  const result = schema.safeParse(value);
  console.log(result)
  if(result.success) {
    return obj;
  } else {
  return  result.error.message
}

Let's say I'm passing
type MyObject = {
  latitude: number;
  longitude: number
  timezone: string;
}
const mySchema = z.object({
  latitude: z.number(),
  longitude: z.number(),
  timezone: z.string(),
)}
parseMyObject<MyObject, typeof mySchema>({hi: "mom"}, mySchema);

For the signature I have tried Z extends z.ZodType<T> and Z extends z.ZodTypeAny as well.
When I pass a valid T for value, I get the object back.  But when I pass a wildly invalid value for T then console log is { success:true, data:{} }
I have the same result when using schema.parse(value).  It does not throw, it returns { success:true, data:{} }.
When I run parse and safeParse directly on the schema e.g. where the schema is defined and I have it in hand, it works as expected.
The above function is distilled from the real world function, so there maybe subtle errors, but the overall idea is correct.  e.g. I'm returning a type like what safeParse returns but I didn't want to type all that out.
I feel like there's some subtle thing I'm doing wrong, but if not, then maybe there's a bug.
thanks
Raif

Sorry, the real issue was that my props were optional and I did not have "strict". Sorry.


Post refactor dataframe

# Use-case 1
# Open a static mechanical MAPDL result, extract last displacement field on half the nodes,
# plot contour on mesh. Get value of displacement at node 1.

from ansys.dpf import post
from ansys.dpf.post.common import AvailableSimulationTypes
from ansys.dpf.post import examples

simulation = post.load_simulation(
    examples.simple_bar,
    simulation_type=AvailableSimulationTypes.static_mechanical
)

# Get the IDs of the first half of nodes
node_ids = simulation.mesh.node_ids
half_node_ids = node_ids[len(node_ids)//2:]

# Extract displacement for those
displacement = simulation.displacement(node_ids=half_node_ids)

# Print the dataframe
print(displacement)
# The labels for the axes are given at DataFrame construction, hence it can be anything
# The goal would be to use the available "labels" of the FieldsContainer and order them by default
# "time" > "result" > "component"
# or
# "time" > "result+component"

# thus one can have dedicated "timefreq" axis
#   "frequency" > "result"
#   "RPM" > "result"
#   "set_ID" > "result"
#   "time_step" > "result"

# The "mesh" axis is labelled "node" or "element" or "face" or could be a combination

# One can access the current axes via `df.axes`
_ = """
    step|     1                    2
  result|     U                   U
    comp|    UX     UY     UX        UY
    node
       1|   0.4    0.2   0.4    0.2
       2|   0.3    0.3  0.4    0.2
       3|   0.2    0.4  0.4    0.2
       4|   0.1    0.5  0.4    0.2
[ ? rows (? nodes) x 2 (1 steps x 2 results) columns]
"""
# or
_ = """
    step|     1
  result|    UX     UY
    node
       1|   0.4    0.2
       2|   0.3    0.3
       3|   0.2    0.4
       4|   0.1    0.5
[ 4 rows (4 nodes) x 2 (1 steps x 2 results) columns]
"""
# or
_ = """
    step|     1
  result|    UX     UY
    node
       1|   0.4    0.2
       2|   0.3    0.3
       3|   0.2    0.4
       4|   0.1    0.5
[ 4 rows (4 nodes) x 2 (1 steps x 2 results) columns]
"""
# or
_ = """
    time|     1
  result|    UX     UY
    node
       1|   0.4    0.2
       2|   0.3    0.3
       3|   0.2    0.4
       4|   0.1    0.5
[ 4 rows (4 nodes) x 2 (1 steps x 2 results) columns]
"""

# For large arrays
_ = """
    time|     1
  result|    UX     UY
    node
       1|   0.4    0.2
       2|   0.3    0.3
     ...    ...    ...
     100|   0.2    0.4
     101|   0.1    0.5
[ ? rows (? nodes) x 2 (1 steps x 2 results) columns]
"""

# Note: pandas works with rows then columns, while here we use a column -> row system.
_ = """
            node|     1      2 ...    100    101
    time  result
       1      UX|   0.4    0.2 ...    0.4    0.2
              UY|   0.4    0.2 ...    0.4    0.2
       2      UX|   0.4    0.2 ...    0.4    0.2
              UY|   0.4    0.2 ...    0.4    0.2

[ 4 rows (2 times x 2 results) x ? columns (? nodes)]
"""

# Plot the contour
displacement.plot()

# Get value of displacement at node 1
displacement.select(time=1, node=1)  # by ID
# Returns a DataFrame:
"""
            node|     1
    time  result
       1      UX|   0.4
              UY|   0.4

[ 2 rows (1 times x 2 results) x 1 columns (1 nodes)]
"""
# What does this dataframe hold onto behind the scenes? A ref to the original FieldsContainer?
# A new FieldsContainer? A local array?

# or
displacement.iselect(node=0)  # by index. Here we suppose we know node 1 is at position 0

Passes tests locally with fix on Core


Is use of "abandonware" intended?

Hi,
I'm just experimenting with your project which seems interesting (thanks!).
I've just noticed this line:
https://github.com/demyxco/nginx/blob/5ebf30ea29b448497fd0a11b1733e4efb5abb122/Dockerfile#L171
and I wonder if you were aware of this conversation with the maintainer:

Its been a few years now, could u please confirm if this should be considered dead? Any plans of merging any of the PRs !?
... Yes, it's abandonware (and has been for years). Sorry!

https://github.com/FRiCKLE/ngx_cache_purge/issues/39#issuecomment-467646698
So I suppose my questions are:

Are you able to confirm that ngx_cache_purge is actually working in this project? or
Have you thought about looking for alternatives?

(Offtopic sidenote: I feel like some general docs on how to use demyx would help? :))

Hi @techieshark

Are you able to confirm that ngx_cache_purge is actually working in this project?

You can confirm purge is working by going to domain.tld/some-url/purge/

Have you thought about looking for alternatives?

I didn't realize things were that stale but maybe I can look at https://github.com/nginx-modules/ngx_cache_purge as an alternative?

Closing due to inactivity.


My Hazard Information app references external resources

https://servername/SolutionsWeb/Apps/EmergencyManagement/MyHazardInformation
Web application fails to load due to not being able to hit:

[ ] iphone.css
[ ] esri.css
[ ] 3.11/

References JS API 3.11.

EM content (web maps, etc) from last Fall 2015 release references external basemaps, so I'm not concerned that this app references external resources. Will change milestone to version after next and we can re-evaluate at a later time.


WebapiError: Unauthorized

Hi, again,
after Authentication process with Spotify everything works good. But after an hour or maybe more (I am not able to make exact measurement) nodes are returning msg.error "WebapiError: Unauthorized". When I delete config node and reconfigure it again, everything starts work well.
After day later (maybe only night, I don´t know exactly again, because I was not at home) it starts returning this msg.erorr "WebapiError: Not Found". And if recreate config node, it starts be ok again.
Same configuration as I wrote in issue #2 .
Do you have some advice?
Thanks

Hi, I have the same issue. Redeploy the flow fix the issue for me.
Seems to be a per node issue, so if i keep, for example, using a node (10 min timer) the node keep working but not the other one (so for the time, all of my node have a keep alive loop with a dummy message )
I hope that it can help to find the issue and help users with temporary fix ;)
Thanks for your work !

Hi, thanks for answer, it helps me to make some new tests around.
When message Unauthorized is appearing and I redeploy, it fix node for me. But, after long time when message Not Found appear, nothing helps me to get back to work state. Only delete configuration node and create it again.
Thanks

I have the same problem, It looks like we need to implement refreshing the token automatically.
Something like that:
https://github.com/thelinmichael/spotify-web-api-node/blob/master/examples/access-token-refresh.js

I have the same problem, It looks like we need to implement refreshing the token automatically.
Something like that:
https://github.com/thelinmichael/spotify-web-api-node/blob/master/examples/access-token-refresh.js

Hi, This week i've made some test and i'm now able to refresh the token automatically. As i'm not familiar with Node-Red, Node.js and Javascript it's certainly not optimized but at least it works and may help you to implement the feature "nicely" ;)
authorize.js
`module.exports = function (RED) {
const url = require('url');
const crypto = require('crypto');
const SpotifyWebApi = require('spotify-web-api-node');

function AuthNode(config) {
    RED.nodes.createNode(this, config);

    this.name = config.name;
    this.scope = config.scope;

const ID = this.id;

const creds = RED.nodes.getCredentials(ID);

if(!creds.interval){
	const interval = setInterval(function(interval) {
		try {
			const credentials = RED.nodes.getCredentials(ID);

			const spotifyApi = new SpotifyWebApi({
				clientId: credentials.clientId,
				clientSecret: credentials.clientSecret,
				redirectUri: credentials.callback
	        	});

			// Set the access token and refresh token
			spotifyApi.setAccessToken(credentials.accessToken);
			spotifyApi.setRefreshToken(credentials.refreshToken);

			// Refresh token and print the new time to expiration.
	    		spotifyApi.refreshAccessToken().then(function(data) {
	        		RED.log.info(RED.log._('SpotifyAPI - Refreshed token'));
				credentials.accessToken = data.body.access_token;
	            		credentials.expireTime = data.body.expires_in + Math.floor(new Date().getTime() / 1000);

				RED.log.info(RED.log._('SpotifyAPI - Access token is ' + credentials.accessToken));
				RED.log.info(RED.log._('SpotifyAPI - Expire time is ' + data.body.expires_in));
				RED.nodes.addCredentials(ID, credentials);
	      		},
	      		function(err) {
				RED.log.error(RED.log._('SpotifyAPI - Could not refresh the token!' + err.message));
      			});
		} catch (err) {
                	RED.log.error(RED.log._('SpotifyAPI - ' + err));
			clearInterval(interval);
            	}
	}, 1200000);

	creds.interval = String(interval);
	RED.nodes.addCredentials(ID, creds);
	}
}

RED.nodes.registerType("spotify-auth", AuthNode, {
    credentials: {
        name: { type: 'text' },
        clientId: { type: 'password' },
        clientSecret: { type: 'password' },
        accessToken: { type: 'password' },
        refreshToken: { type: 'password' },
        expireTime: { type: 'password' },
    interval: { type: 'password' }
    }
});

RED.httpAdmin.get('/spotify-credentials/auth', function (req, res) {
    if (!req.query.clientId || !req.query.clientSecret ||
        !req.query.id || !req.query.callback) {
        res.send(400);
        return;
    }

    const node_id = req.query.id;
    const credentials = {
        clientId: req.query.clientId,
        clientSecret: req.query.clientSecret,
        callback: req.query.callback
    };
    const scope = req.query.scope;
    const csrfToken = crypto.randomBytes(18).toString('base64').replace(/\//g, '-').replace(/\+/g, '_');
    credentials.csrfToken = csrfToken;

    res.redirect(url.format({
        protocol: 'https',
        hostname: 'accounts.spotify.com',
        pathname: '/authorize',
        query: {
            client_id: credentials.clientId,
            response_type: 'code',
            redirect_uri: credentials.callback,
            state: node_id + ':' + csrfToken,
            show_dialog: true,
            scope: scope
        }
    }));
    RED.nodes.addCredentials(node_id, credentials);
});

RED.httpAdmin.get('/spotify-credentials/auth/callback', function (req, res) {
    if (req.query.error) {
        return res.send('spotify.query.error', { error: req.query.error, description: req.query.error_description });
    }

    const state = req.query.state.split(':');
    const node_id = state[0];
    const credentials = RED.nodes.getCredentials(node_id);

    if (!credentials || !credentials.clientId || !credentials.clientSecret) {
        return res.send('spotify.error.no-credentials');
    }
    if (state[1] !== credentials.csrfToken) {
        return res.send('spotify.error.token-mismatch');
    }

    const spotifyApi = new SpotifyWebApi({
        clientId: credentials.clientId,
        clientSecret: credentials.clientSecret,
        redirectUri: credentials.callback
    });

    spotifyApi.authorizationCodeGrant(req.query.code).then(data => {
    credentials.accessToken = data.body.access_token;
        credentials.refreshToken = data.body.refresh_token;
        credentials.expireTime = data.body.expires_in + Math.floor(new Date().getTime() / 1000);
        credentials.tokenType = data.body.token_type;
        credentials.name = 'Spotify OAuth2';

        delete credentials.csrfToken;
        delete credentials.callback;
        RED.nodes.addCredentials(node_id, credentials);
        res.send('spotify.authorized');
	RED.log.info(RED.log._('SpotifyAPI - Access token is ' + credentials.accessToken));
	RED.log.info(RED.log._('SpotifyAPI - Refresh token is ' + credentials.refreshToken));
	RED.log.info(RED.log._('SpotifyAPI - Expire time is ' + data.body.expires_in));
    })
    .catch(error => {
        res.send('spotify.error.tokens');
    });
});

};`
spotify.js
`module.exports = function (RED) {
const SpotifyWebApi = require('spotify-web-api-node');
function SpotifyNode(config) {
    RED.nodes.createNode(this, config);

    const node = this;
    node.config = RED.nodes.getNode(config.auth);
    node.api = config.api;

    node.on('input', function (msg) {
        	handleInput(msg);

    });

    function handleInput(msg) {
        try {
            const credentials = RED.nodes.getCredentials(config.auth);

	const spotifyApi = new SpotifyWebApi({
        		clientId: credentials.clientId,
        		clientSecret: credentials.clientSecret,
        		accessToken: credentials.accessToken,
        		refreshToken: credentials.refreshToken
    	});

	let params = (msg.params) ? msg.params : [];
            // Reduce params to 1 less than the function expects, as the last param is the callback
            params = params.slice(0, spotifyApi[node.api].length - 1);

            spotifyApi[node.api](...params).then(data => {
                msg.payload = data.body;
                node.send(msg);
            }).catch(err => {
                msg.error = err;
                node.send(msg);
            });
        } catch (err) {
            msg.err = err;
            node.send(msg);
        }
    }
}
RED.nodes.registerType("spotify", SpotifyNode);

RED.httpAdmin.get('/spotify/apis', function (req, res) {
    const nonPublicApi = [
        '_getCredential',
        '_resetCredential',
        '_setCredential',
        'authorizationCodeGrant',
        'clientCredentialsGrant',
        'createAuthorizeURL',
        'getAccessToken',
        'getClientId',
        'getClientSecret',
        'getCredentials',
        'getRedirectURI',
        'getRefreshToken',
        'refreshAccessToken',
        'resetAccessToken',
        'resetClientId',
        'resetClientSecret',
        'resetCredentials',
        'resetRedirectURI',
        'resetRefreshToken',
        'setAccessToken',
        'setClientId',
        'setClientSecret',
        'setCredentials',
        'setRedirectURI',
        'setRefreshToken'
    ];

    let response = [];
    for (let key in Object.getPrototypeOf(new SpotifyWebApi())) {
        response.push(key);
    }
    response.sort();

    response = response.filter(function (item) {
        return nonPublicApi.indexOf(item) == -1;
    });

    res.json(response);
});

};`
For some explaination, i'v created an setinterval that trigger every 20min (1h token). Added a check for not creating multiple setinterval when deploying multiple time. In this interval i get the stored credentials, call refreshAccessToken function (with some logs) and save the credentials.
Then in the other node i've removed the old refresh token function and get the credentials from the auth node instead.

I see @pckhib seems busy and is inactive at github for quite some time now, so this could take a while. Maybe we can fork it and create an improved version with token renewal in de meant time? We can always merge it back later...

Oops, since I seem to have missed this issue.. I created a workaround, too. It is far from elegant, but a bit shorter than the solution above. Works perfectly. Below is my original issue, I'm closing that one now
Hi, first of all, thank you for this contribution.
I had some problems, keeping the spotify control responsive over longer time of inactivity. Somehow the token refreshing did not fire at the right times or at all.  It is a bit strange, since I could observe the token refresh happening. But when I didn't send input for a longer time, it did not refresh right. Anyhow, after an hour of inactivity, I always got WebapiError: Unauthorized.
I somehow butchered a second check mechanism into handleInput. It is far from elegant, but it works stable now for days. Maybe you can find a more elegant solution, if you are able to reproduce the problem.
function handleInput(msg) {
    try {
        let params = (msg.params) ? msg.params : [];
        // Reduce params to 1 less than the function expects, as the last param is the callback
        params = params.slice(0, spotifyApi[node.api].length - 1);

        spotifyApi[node.api](...params).then(data => {
            msg.payload = data.body;
            node.errorcount = 0;
            node.send(msg);

        }).catch(err => {
            if (err == 'WebapiError: Unauthorized') {
                node.errorcount++;
                node.error(node.errorcount);
                if (node.errorcount < 3) {
                    refreshToken().then(() => {
                        setTimeout(function(){ handleInput(msg); }, 500);
                    });
                } else {
                    msg.error = err;
                    err = NaN;
                }

            } else
                msg.error = err;
                err = NaN

            node.send(msg);
        });
    } catch (err) {
        msg.error = err;
        node.send(msg);
    }

}

I also declared errorcount on line 10 of spotify.js
node.errorcount = 0;

Someone on Reddit asked about this and I thought I'd try to be helpful. I suspect your issue is right here: https://github.com/pckhib/node-red-contrib-spotify/blob/master/src/spotify.js#L19
If node.config.credentials.expireTime is always undefined here, refreshToken never gets called (greater than comparisons to undefined == false). That is, I suspect there's an issue with how this node is caching stuff between inputs... unfortunately I couldn't follow exactly how the author is trying to use the config pieces here, but hopefully if someone with more of a reason to get this working comes along this will help them pinpoint an issue more quickly for you guys.
I'll note though, the way the author implemented the refresh logic is the "correct" way to do it, its just something weird with the way he's doing this expiration check. Good luck!

Oops, since I seem to have missed this issue.. I created a workaround, too. It is far from elegant, but a bit shorter than the solution above. Works perfectly. Below is my original issue, I'm closing that one now
Hi, first of all, thank you for this contribution. I had some problems, keeping the spotify control responsive over longer time of inactivity. Somehow the token refreshing did not fire at the right times or at all. It is a bit strange, since I could observe the token refresh happening. But when I didn't send input for a longer time, it did not refresh right. Anyhow, after an hour of inactivity, I always got WebapiError: Unauthorized.
I somehow butchered a second check mechanism into handleInput. It is far from elegant, but it works stable now for days. Maybe you can find a more elegant solution, if you are able to reproduce the problem.
function handleInput(msg) {
    try {
        let params = (msg.params) ? msg.params : [];
        // Reduce params to 1 less than the function expects, as the last param is the callback
        params = params.slice(0, spotifyApi[node.api].length - 1);

        spotifyApi[node.api](...params).then(data => {
            msg.payload = data.body;
            node.errorcount = 0;
            node.send(msg);

        }).catch(err => {
            if (err == 'WebapiError: Unauthorized') {
                node.errorcount++;
                node.error(node.errorcount);
                if (node.errorcount < 3) {
                    refreshToken().then(() => {
                        setTimeout(function(){ handleInput(msg); }, 500);
                    });
                } else {
                    msg.error = err;
                    err = NaN;
                }

            } else
                msg.error = err;
                err = NaN

            node.send(msg);
        });
    } catch (err) {
        msg.error = err;
        node.send(msg);
    }

}

I also declared errorcount on line 10 of spotify.js node.errorcount = 0;

You are my hero :)
I had a similar issue: First time the flow started, it did not work. The Error returned by the API is always "WebapiRegularError: Not found". When executed the same flow after 10 seconds it worked perfectly.
I was able to fix my issue by changing the catch statement of your suggested code
if (err == 'WebapiError: Unauthorized' || err.toString().startsWith('WebapiRegularError')) {

Thanks a lot!


using protobuild with multiple generator

Hello,
I was wondering if protobuild could actually be able to be used with more than 1 generator ?
I can't use both go_out and grpc-gateway_out that I normaly use with protoc command line.
I have to do 2 .toml right ?
I can't find anything on this topic.
Should it be supported ?
Is it on a TODO ?
Best regards,
Thanks for the awesome job tho !

Hey
I have forked an done something that might interest you, could you have a look and tell me if it can work for you ?  ( that should resolve #15 and #17 )
What I need to change, etc before pushing a PR ?
https://github.com/Tommy-42/protobuild
Thanks

Can you do this with overrides?

Is your proposal backwards compatible?

@Tommy-42 I guess send a pull request. Make sure there are examples of how the output gets generated, along with intermediary commands.

This could be addressed for supporting Google's latest Go code generator. It doesn't support gRPC plugin anymore.


Add support for async-formatters

ESLint supports it and I need it :)

I seem to have forgotten the [publish] tag in my commit-message :-/ Will you add it for me? :)

No problem I wanted to add another change + add this the the changelog.
Available in 1.5.0

Installed and working like a charm. Happy holidays :D


Godot 3.3 Wrong rotation pivot for bone in Skeleton2D

Godot version:
3.3 Stable
OS/device including version:

MBP 2015 15"
Artix with Runit
Both GLES2 & GLES3

Issue description:
When update to Godot 3.3, all of my animation work incorrectly. It's seem bone in Skeleton2D got the wrong pivot rotation in Godot 3.3
Steps to reproduce:

Minimal reproduction project:
godot3.3_rotation_issue.zip
@lawnjelly This is what i'v talk about

Ok I'll take a look. :+1:

I've figured out what seems to be causing the problem. If you look in the Node2D that the polys are hanging off of, it has a translate on it. The software skinning doesn't seem to like this. If you set the translate of the Node2D to 0, 0, reassign the polys to the bones, and move the polys in the editor to match up to the bone positions, then it works.
This is probably a transform I'm not taking account of as it wasn't in the test projects I had. I'll see if I can fix it.

Yay, Thank you so much, @lawnjelly , now i can continue working on my project :+1:

It is a bug, but once you know what causes it, it is workaround-able. You didn't need to rebind the bones, I just tested it, just change the translate of the Node2D and the polys.

Thank @lawnjelly , Btw, i do have a small question, when creating a Scene that i need to create other instance and reuse it. Such as Mob scene for random enemy spawing. What is good position to place the Mob in the character. I do see some one put in center the scene, some put it just center to horizontal & vertical lines.
Thank you very much

Are you meaning where to use as the origin for your character, I didn't quite follow, you mean Mob as in mob of bad guys?
I don't think it matters as far as the engine is concerned (possible it could affect culling I guess?), so I would use what works for you. For the origin of 3d characters I usually use the centre of where their feet are, I've never used 2d skinning in a game. :slightly_smiling_face:

I mean
Is placing the character center the x and y axis or center of the game screen is a good practice?
Like this guy doing, i'v alway doing this way, that's why i move the Node2D, haha

Yeah I think that is fine, I think a lot of people use the centre, especially with using a RigidBody (a lot of deciding depends on how you do physics). Whatever works in your game, there are no strict rules. :slightly_smiling_face:

I've worked out a fix for this, just need to tweak the PR a tiny bit to work with several skeletons batched together. :+1:

Fixed by #48402.


Different tabular formats

This is available with pandas, but needs to be implemented.

So, not only CSV, but also TSV, excel, ... etc.

FYI, pandas is removed due to installation problems with numpy,

I would say that our focus with this tool is not cleaning, pre-processing the data. So I would suggest to limit the type of tabular format to only CSV


Resync upstream devel to downstream devel

Resync upstream devel to downstream devel

/cc @Madhu-1 @agarwal-mudit

/lgtm

/approve


Changes the RCD to construct empty light fixtures

About the PR

Changes the RCD to construct empty light fixtures, instead of light fixtures pre-inserted with tubes/bulbs
Fixes #28349
Why / Balance

The ability to construct many active light fixtures in parallel allowed players to spam out light sources too quickly. This is of particular concern due to the performance impact of lights. Now light fixtures come constructed empty, with tubes/bulbs having to be inserted afterwards by hand. This significantly raises the barrier to spamming.
Construction cost has been halved to compensate for the changes.
It's worth noting that perhaps the broader problem with the RCD is the fact that you can preform an large amount of parallel actions at once (limited only by the amount of free space around you). Maybe this should be changed to a one action at a time approach, however that's outside the scope of this PR and would likely require further design disscussion after the feature freeze.
Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl:

tweak: Light fixtures constructed by the RCD are now empty

This shouldn't be an issue to begin with given the RCD enforces one fixture per tile (does it do that?)

It definitely does not do that (I did not know that was intended behaviour), you can see it doing the opposite of that in the linked issue.

would be better to make it respect the fixtures (also just making lights not be able to be placed off of walls to begin with)

This might be a 'AND' situation, even with fixture restrictions the RCD could spam out a lot of lights. You  could still place three lights on a wall in a second, move three tiles repeat.
IMO the time + material cost of constructing new lights should somewhat reflect their performance cost in game as a disincentive to using too many.

would be better to make it respect the fixtures (also just making lights not be able to be placed off of walls to begin with)

This might be a 'AND' situation, even with fixture restrictions the RCD could spam out a lot of lights. You could still place three lights on a wall in a second, move three tiles repeat.
IMO the time + material cost of constructing new lights should somewhat reflect their performance cost in game as a disincentive to using too many.

It's a much less significant issue if you can't just place them literally anywhere.  There's only so many walls in a room.

I'm closing this as I unfortunately don't have the time go through and fix it as requested. One possible solution would be to make RCD's respect the existing construction system's placement restrictions instead of running its own checks in RCDSystem which seems to hold a host of problems including this and #28369


Use proper logo, colors, and titles in Web App Manifest

The manifest was still referencing the defaults when this repo was created with create-react-app. For this to work, I also had to edit the logo to remove a superfluous white border and make it square.
I removed the apple-touch-icon for now, since it was also referring to the wrong logo. Eventually, it would probably make sense to properly generate this icon and other favicons using https://github.com/jantimon/favicons-webpack-plugin.
Ideally, the manifest would also contain PNG icons for older browsers that might not support SVGs, but I think using the SVG icon is a good first step.

Thank you @cmfcmf for your contributions, it's something we've been meaning to fix for a little while.
You're actually our first external contributor so apologies for the additional commits whilst I tried to get our CI to work on a fork. I've merged it into a separate branch that'll go into the next release.
Once again thanks and happy coding 👍

No problem, thank you!


Reapply field limits when parent is updated

For some reason when quick filters are aplied or some update are taken for some reason the limits are refreshed and imediately dissapear...
This problem is not appear all the times and nor for all boards, only for once that are a lot of cards and people working on.
Before:

My code is nice? No.
There are better choices to solve this problem? Of course.
But I have no idea to solve it better... I'm accepting suggestions.

@davakh looks like it was only tested on cloud JIRA


[FEATURE] - Add Auth to RedpandaSchemaRegistry

Is your feature request related to a problem? Please describe.
There is currently no mechanism for authenticating with the Redpanda schema registry.
So if you are trying to reach the registry you will receive an error like:
Exception has occurred: HTTPError
401 Client Error: Unauthorized for url: https://schema-registry-xxxxd08.cxxxxx.byoc.prd.cloud.redpanda.com:30081/subjects/%7B%0A%20%20%20%20%22type%22:%20%22record%22,%0A%20%20%20%20%22name%22 <rest of error removed as it's message contents>

Describe the solution you'd like
It seems like it accepts basic auth, so there should be a way to specify a username and password and pass that with the requests module.

I opened #398 adding a headers option to the schema registry, that can be forwarded to all the requests there and be used for authentication


$ignoreChannels

Type

[x] Functions: \ $ignoreChannels[channelID;channelID;channelID;...;error message]
- Callbacks: <Callback Name>
- Handlers: <Handler Type>
- Others: ______

Description
The use of the command is prohibited on channels whose ID is entered. If used, the entered error message is sent.
bot.command({
name:"hello",
code:`helloooo!
$ignoreChannels[798055313907253279;I was banned from saying hello to you on this channel :(]`
})

There is an example in bdfd.

I like It

bot.command({
name:"hello",
code:`helloooo!
$ignoreChannels[CHANNEL ID;Yk i'm bored when i start to come here lol;GUILD ID]`
})

idk made sense in my head so yeah.

Channels are global objects so there is no guildID field needed.

Type

[x] Functions: \ $ignoreChannels[channelID;channelID;channelID;...;error message]
- Callbacks: <Callback Name>
- Handlers: <Handler Type>
- Others: ______

Description
The use of the command is prohibited on channels whose ID is entered. If used, the entered error message is sent.
bot.command({
name:"hello",
code:`helloooo!
$ignoreChannels[798055313907253279;I was banned from saying hello to you on this channel :(]`
})

There is an example in bdfd.

ngl I like your idea but it's already possible
you can just add
 $onlyIf[$checkContains[$channelID;channelid1;channelid2;....]==false; This Channel Is Blacklisted]
This Works Like $ignoreChannels so Ig There is no need

Type

[x] Functions: \ $ignoreChannels[channelID;channelID;channelID;...;error message]
- Callbacks: <Callback Name>
- Handlers: <Handler Type>
- Others: ______

Description
The use of the command is prohibited on channels whose ID is entered. If used, the entered error message is sent.
bot.command({
name:"hello",
code:`helloooo!
$ignoreChannels[798055313907253279;I was banned from saying hello to you on this channel :(]`
})

There is an example in bdfd.

ngl I like your idea but it's already possible
you can just add
 $onlyIf[$checkContains[$channelID;channelid1;channelid2;....]==false; This Channel Is Blacklisted]
This Works Like $ignoreChannels so Ig There is no need

Oky I will try, thank you.

@falsisdev so is it working ?

Type

[x]  Functions: \ $ignoreChannels[channelID;channelID;channelID;...;error message]
~- Callbacks: ~
~- Handlers: ~
~- Others: ______~

Description
The use of the command is prohibited on channels whose ID is entered. If used, the entered error message is sent.
bot.command({
name:"hello",
code:`helloooo!
$ignoreChannels[798055313907253279;I was banned from saying hello to you on this channel :(]`
})

There is an example in bdfd.

ngl I like your idea but it's already possible
you can just add
 $onlyIf[$checkContains[$channelID;channelid1;channelid2;....]==false; This Channel Is Blacklisted]
This Works Like $ignoreChannels so Ig There is no need
@falsisdev

This method can be used, no need for addition.

@falsisdev so is it working ?

Yeah

Type

[x]  Functions: \ $ignoreChannels[channelID;channelID;channelID;...;error message]
~- Callbacks: ~
~- Handlers: ~
~- Others: ______~

Description
The use of the command is prohibited on channels whose ID is entered. If used, the entered error message is sent.
bot.command({
name:"hello",
code:`helloooo!
$ignoreChannels[798055313907253279;I was banned from saying hello to you on this channel :(]`
})

There is an example in bdfd.

ngl I like your idea but it's already possible
you can just add
 $onlyIf[$checkContains[$channelID;channelid1;channelid2;....]==false; This Channel Is Blacklisted]
This Works Like $ignoreChannels so Ig There is no need
@falsisdev

This method can be used, no need for addition.

Oky


remove TamerError from signatures, run and runWith lift errors into f…

…ailures, examples remove .exitCode which converts failures into exit code 1 and swallows traces

@amir / @barambani one more please


Feat add distribute exprs to accelerate pipelinex

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall