Can't run arm64 version on CoreElec

Hi. I'm trying to run linux_arm64/elementum on CoreElec 9.2.7. It's an aarch64 system:
uname -a
Linux CoreELEC 4.9.113 #1 SMP PREEMPT Sun Mar 14 15:41:04 EDT 2021 aarch64 GNU/Linux

Still arm64 elementum can't start because of an error:
kodi/userdata/addon_data/plugin.video.elementum/bin/linux_arm64/elementum
-sh: .kodi/userdata/addon_data/plugin.video.elementum/bin/linux_arm64/elementum: not found

I suspect this happens because CoreElec doesn't have /lib/ld-linux-aarch64.so.1 so it can't be executed.
Possible solution: build static go binaries so that they don't depend on the OS implementation.
Note: I have entware installed and it successfully execute aarch64 programs.
They are built to be dependent on /opt/lib/ld-linux-aarch64.so.1 instead and entware installs ld-linux-aarch64.so.1 to the required folder.
UPD: I successfully started the daemon with
/opt/lib/ld-linux-aarch64.so.1 --library-path /opt/lib/ .kodi/userdata/addon_data/plugin.video.elementum/bin/linux_arm64/elementum

Still it's a hack. It would be great to have a native solution.

Log file required.

I can't provide a log file as it's a multi-level problem.
What I'm trying to achieve:

Kodi 18 uses python2.7
python2.7 incorrectly determines current platform:

>>> import platform
>>> platform.machine()
'armv7l'

That's why plugin.video.elementum selects the armv7 version and it works on CoreElec with Kodi18
Kodi19, however, has migrated to python3
Python3 reports correct current plaform:

>>> import platform
>>> platform.machine()
'aarch64'

This will cause plugin.video.elementum to load linux_arm64
It won't succeed due to missing libraries in the CoreElec distribution
To skip all these steps and reproduce the problem we can just execute

./linux_arm64/elementum

and get the error:
-sh: ./linux_arm64/elementum: not found

So I can't provide a log file but I think the problem is clear. I understand though it's probably not a priority for you.
Anyway, thanks!

I was asking for a log file for different reasons.
I run Elementum on few CE 9.2.7 devices and it runs fine:
CoreELEC:~ # uname -a
Linux CoreELEC 4.9.113 #1 SMP PREEMPT Sun Mar 14 15:41:04 EDT 2021 aarch64 GNU/Linux

And platforms is detected as armv7, not arm64.
When you start Elementum, it copies binary from /storage/.kodi/addons/plugin.video.elementum/resources/bin/*/elementum to /storage/.kodi/userdata/addon_data/plugin.video.elementum/bin/*/elementum.
Can you install universal zip - https://github.com/elgatito/plugin.video.elementum/releases/download/v0.1.72/plugin.video.elementum-0.1.72.zip
Then share results of:
ldd /storage/.kodi/addons/plugin.video.elementum/resources/bin/linux_armv7/elementum
ldd /storage/.kodi/addons/plugin.video.elementum/resources/bin/linux_arm64/elementum

And platforms is detected as armv7, not arm64.
Exactly. This happens because python2.7 (which is being used in Kodi18/CE 9.2.7) can't correctly determine the platform. It's not a problem for now but with future update to Kodi19, python will be updated to the third version and it will return aarch64

@Dim0N22 Can you add the ldd output?

That's one way. A different is using a static Go build so that it doesn't depend on an external interpreter.
As far as I understand this can be achieved by adding -ldflags="-extldflags=-static" to the Go build parameters. Here is an article that describes this in more details.
I'm not an expert in Go, but I believe it should help running aarch64 binaries even on systems that don't come with an embedded intrerpreter.

@Dim0N22 Since elementum needs CGO compilation, when enabling static flag it throws these messages on compilation:
/usr/aarch64-linux-gnu/lib/libcrypto.a(dso_dlfcn.o): In function `dlfcn_globallookup':
dso_dlfcn.c:(.text+0x18): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/tmp/go-link-394402762/000007.o: In function `mygetgrouplist':
/usr/aarch64-linux-gnu/go/src/os/user/getgrouplist_unix.go:16: warning: Using 'getgrouplist' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/tmp/go-link-394402762/000006.o: In function `mygetgrgid_r':
/usr/aarch64-linux-gnu/go/src/os/user/cgo_lookup_unix.go:38: warning: Using 'getgrgid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/tmp/go-link-394402762/000006.o: In function `mygetgrnam_r':
/usr/aarch64-linux-gnu/go/src/os/user/cgo_lookup_unix.go:43: warning: Using 'getgrnam_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/tmp/go-link-394402762/000006.o: In function `mygetpwnam_r':
/usr/aarch64-linux-gnu/go/src/os/user/cgo_lookup_unix.go:33: warning: Using 'getpwnam_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/tmp/go-link-394402762/000006.o: In function `mygetpwuid_r':
/usr/aarch64-linux-gnu/go/src/os/user/cgo_lookup_unix.go:28: warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/tmp/go-link-394402762/000004.o: In function `_cgo_26061493d47f_C2func_getaddrinfo':
/tmp/go-build/cgo-gcc-prolog:58: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/aarch64-linux-gnu/lib/libcrypto.a(b_sock.o): In function `BIO_gethostbyname':
b_sock.c:(.text+0x48): warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
# set -x && \

I have tried that binary, it starts on aarch64 Coreelec, but I'm not sure if it's fully functional.

Since you already have libtorrent-go docker images, you can change Elementum's Makefile:
else ifeq ($(TARGET_OS), linux)
	EXT =
	GOOS = linux
	GO_LDFLAGS += -linkmode=external -extld=$(CC) -extldflags "-static -L $(CROSS_ROOT)/lib/ -lm -lstdc++"

And compile Elementum: make linux-arm64 and then test it, whether there are any issues.

@Dim0N22 just curious, any luck with this?

@antonsoroko no, sorry, I haven't look into this. Not sure I'm going to do it soon.


stable/traefik: support Traefik HTTPS SNI

Is this a request for help?:
No

Is this a BUG REPORT or FEATURE REQUEST? (choose one):

This is a feature request. I'm happy to provide a PR if the proposal looks OK.
We have an on-permise deployment of Kubernetes which uses Traefik as the cluster edge routers. In our case we have 2 dedicated worker node in the cluster which is tainted to allow only Traefik to run on them. We then point the hardware load balancer (TCP) to the node port (30433) of both nodes for resilience.
In case we need to expose Kube services via Ingress. We create CNAMEs which points to the DNS name of the hardware load balancer, then rely on Traefik's SNI (https://docs.traefik.io/configuration/entrypoints/#redirect-http-to-https) to decides how to route the requests. Here Traefik performs the SSL termination.
This set up works well for us. To achieve this, we need to add a section in the configmap template to populate a list of [[entryPoints.https.tls.certificates]] section with list of certificates to load, a Secret to store the certificates, and chart options to enable SNI and to provide the certs. For example:
Currently, to use a default cert, we have
ssl:
  enabled: true

To support SNI for cert signed for DNS name "foo" and "bar", it can be
ssl:
  enabled: true
  certificates:
    foo:
      cert: <cert_foo_content>
      key: <key_foo_content>
    bar:
      cert: <cert_bar_content>
      key: <key_bar_content>

This should then populate 3 [[entryPoints.https.tls.certificates]] section in the Traefik config where the first one will be the default cert, and the other two for "foo" and "bar". This should make sure the behaviour is backward compatible to the current chart.
Version of Helm and Kubernetes:
Helm 2.7.0
Kubernetes 1.8.2
Which chart:
stable/traefik

PR submitted

@javefang I'm reasonably certain you don't need to make any changes to this chart to accomplish what it is you're looking to do. If you add secrets in Kubernetes that contain your certs, you can reference those secrets from your ingress resources and Traefik should seamlessly handle the rest.
https://kubernetes.io/docs/concepts/services-networking/ingress/#tls

@krancour I'm under the impression that this feature hasn't been implemented yet (https://github.com/containous/traefik/issues/378). Have you had a chance to try the method proposed?

It was merged in https://github.com/containous/traefik/pull/2439 (due for 1.6)

Thanks! Can't wait to see it merged :) I'll close this one.


publication pages - changes for top matter

This is a grab bag of small (I hope) changes to the details at the top of the publication pages. The 'discuss' tag is mainly for the bit where I have two alternative suggestions (tho curators are welcome to comment on any of it).

[ ] Make the title harder to overlook: use bold text, and remove the horizontal line between it and the ID, citation, etc.

[ ] Add DOI where available. Link it using https://dx.doi.org/[$DOI] (we may want a little disclaimer somewhere to say we don't guarantee full-text access - mouseover?).

[ ] Change the order of some details. I have a couple of suggestions:

Simply swap to: authors, citation, IDs, links, abstract.

Or: link the PMID to PubMed, and move Links below the abstract. Then a second PubMed link could go there fairly unobtrusively, along with DOI and EuropePMC.

[ ] You'll notice that I haven't mentioned publication date. I'm not sure we need to list it separately if we keep the version of the citation that basically includes date info anyway. Either lose the separate Publication Date entry, or use a more concise Citation that doesn't have date info (e.g. Mol. Biol. Cell 20(7):2096-107). I don't have a strong preference, so if it's easier not to munge the citation you get from PubMed, just go with the no-separate-date option.

[ ] Add a header for the annotation section, e.g. "Annotations from this publication", just below the horizontal line, outside of the annotation table boxes.

Add DOI where available.

I've added a Chado issue for that: pombase/pombase-chado#610

Make the title harder to overlook: use bold text, and remove the horizontal line

Done

Simply swap to: authors, citation, IDs, links, abstract.

I've done that for now.  Let me know any changes you'd like.

so if it's easier not to munge the citation you get from PubMed, just go with the no-separate-date option

I removed the date.

I'm happy as it is for now....
We can rethink links when we have Doi if necessary?

this should stay open a bit longer because the DOI part isn't done - the task on the original list is to add the DOI at all, whatever we do with links in subsequent tickets.
(I don't mind if you want to count the reordering item as done)

ah right I thought there was a new ticket for DOI but that is for canto...

Kim created and linked a new ticket to add DOIs to Chado. The outstanding bit of this ticket requires it.

I'll contact WT about trailling curation with review when this is done, but we have enough on our plate right now so this outstanding task is non urgent

closing  will open a ndew ticket for a DOI so I don't need to read all of this again


Game is crashing on dialog in Sumeru. macOS Sonoma 14.0

The bug
Game is crashing on dialog with Rana, forest ranger, from Sumeru after a fight with red energy (lmao i don't remember how it is name). On this moment i stuck in this dialog and cannot exit to other quests. There was also significant freezes and some visual bugs prior to the dialogue.
Screenshots

System Information

macOS Sonoma 14.0
Mac Mini 2020
Apple M1
16 GB

Additional context
I tried to use Metal hud, disable anychrous shader compiling. Nothing is helping.
I can't to downgrade on Ventura or Monterey.
Logs
neutralinojs.log
game_1696683538346.log
(fun fact that a size of Yaagl OS folder in Application Support is diminished on over 700 megabytes)

I recoded a video that demonstrate a crash of game at the end of dialog

Ive also been having this problem and havent been able to solve it, have you been able to fix this issue yet?

Ive also been having the same type of problem with another cutscene and havent been able to solve it, have you been able to fix this issue yet?

same thing is happening with new event "The Poetry of Waters" in Li Yue. On second dialog 🙁
the first problem was fixed by disabling a patch, but this - no

Ive also been having the same type of problem with another cutscene and havent been able to solve it, have you been able to fix this issue yet?

same thing is happening with new event "The Poetry of Waters" in Li Yue. On second dialog 🙁 the first problem was fixed by disabling a patch, but this - no

I am on MacOS Sonoma 14.0 and having the same exact crash with the new Liyue event. Also running into this issue early-ish in the Sumeru archon questline. I noticed I also crash very infrequently in certain character's burst animations. Maybe something related to voiced cutscenes? That's a common denominator at least for what I've experienced.

I'm having the exact same problem. Lots of crashes in the new event, and in various story quests, always during voiced dialogue. If I experience a crash on one line of dialogue and reopen the game, it will always crash again at the exact same point again. I'm on Sonoma 14.0 as well.

Guys I managed to solve this problem just by choosing an older version of wine in launcher.

Guys I managed to solve this problem just by choosing an older version of wine in launcher.

That’s awesome. Could you share which version of Wine you switched to? I’ll verify that it fixes it on my machine too.

I'm having the exact same problem. Lots of crashes in the new event, and in various story quests, always during voiced dialogue. If I experience a crash on one line of dialogue and reopen the game, it will always crash again at the exact same point again. I'm on Sonoma 14.0 as well.

I want to clarify this issue and note that I also experienced a replicable crash (same point in dialog) during a world quest (unvoiced dialog).
Also as far as Wine distribution is concerned (see above comment) I experienced this issue on gi-wine-1.2.

So I changed to unstable-gi-wine-1.1.2 and after that I haven’t experienced any crashes in any dialogues.

So I changed to unstable-gi-wine-1.1.2 and after that I haven’t experienced any crashes in any dialogues.

Thank you for clarifying I’ll test this out later!

Ah that seemed to work for me too! i'd started getting crashes while in combat as well, but i switched to gi-wine-1.0 and the problems have all disappeared


Create pi.hi.md

It's okay if that's repeated user will skip that portion it will just help him to explain better and I also discussed it with jim in the original pi.md file.

@AdityaGarg00 - can you update your branch from main please? There should be an option in GitHub to do this, but the button is missing for some reason. Once updated I'll merge this.


When I use Quick debugging reports error: The editor could not be opened beause the file was not found

Brief Issue Summary
I am a new user of vscode-cmake-tools, when  I follow this https://code.visualstudio.com/docs/cpp/cmake-linux#_create-a-cmake-hello-world-project , I can build, run and debug in Ubuntu20.
But when I followed the steps and excuted it in Windows, I can only build and run, but I can't debug, it reported an error: The editor could not be opened beause the file was not found.
All I used was the debug button in status bar or use ctrl+shift+p and type cmake debug, they look like the same.
The enviroment I used in Windows:

The error reported

I think there is something wrong with the messy code on the E drive path in the picture above.
It looks like it could not find the source files, but I do have the file in my directory:

Hope to get your reply, thank you.
CMake Tools Diagnostics
{
  "os": "win32",
  "vscodeVersion": "1.76.1",
  "cmtVersion": "1.13.45",
  "configurations": [
    {
      "folder": "e:\\coding\\test",
      "cmakeVersion": "3.25.3",
      "configured": true,
      "generator": "Unix Makefiles",
      "usesPresets": false,
      "compilers": {
        "C": "C:/msys64/usr/bin/gcc.exe",
        "CXX": "C:/msys64/usr/bin/g++.exe"
      }
    }
  ],
  "cpptoolsIntegration": {
    "isReady": true,
    "hasCodeModel": true,
    "activeBuildType": "Debug",
    "buildTypesSeen": [
      "Debug"
    ],
    "requests": [
      "file:///e%3A/coding/test/helloworld.c"
    ],
    "responses": [
      {
        "uri": "file:///e%3A/coding/test/helloworld.c",
        "configuration": {
          "includePath": [],
          "defines": [],
          "compilerPath": "c:/msys64/usr/bin/gcc.exe",
          "compilerArgs": [],
          "compilerFragments": [
            "-g"
          ]
        }
      }
    ],
    "partialMatches": [],
    "targetCount": 29,
    "executablesCount": 1,
    "librariesCount": 0,
    "targets": []
  },
  "settings": [
    {
      "communicationMode": "automatic",
      "useCMakePresets": "auto",
      "configureOnOpen": null
    }
  ]
}

Debug Log
No response
Additional Information
No response

Thanks the report! I noticed from the screenshot that you're using an MSYS environment, which we haven't thoroughly tested for compatibility with this extension. Have you tried debugging any projects that don't use MSYS, and do you see similar issues there? It's possible this is an issue with the way debugging symbols generated by MSYS compilers interact with the debugger.


[Template] CloudWatch RUM

Ref. https://www.paulmowat.co.uk/blog/cloudwatch-rum-cognito-sam-cloudformation
Ref. https://docs.aws.amazon.com/ja_jp/aws-managed-policy/latest/reference/AmazonCloudWatchRUMFullAccess.html

Done #58


Add BEClock threshold union

Coverage remained the same at 94.85% when pulling 0f6c06ac0ca7a277cc1cd3fa53d124ffe34cbbd8 on beclock_threshold into 0d98a4c5f3fc064679209664077cba70df13b25a on master.

Coverage remained the same at 94.85% when pulling 0f6c06ac0ca7a277cc1cd3fa53d124ffe34cbbd8 on beclock_threshold into 0d98a4c5f3fc064679209664077cba70df13b25a on master.


How should we handle "fork connections"?

What I am calling fork connections is the situation that results from two of your needs getting matched with the same remote need.
The remote need's owner has no idea that the same owner is behind both matches.
Question: Should we handle this situation in any special way?

currently not.


feat: 升级db2驱动库至v0.4.4

主要用于修复db2读取gbk的char时出现的问题  https://github.com/ibmdb/go_ibm_db/pull/213

Codecov Report
Patch and project coverage have no change.

Comparison is base (3ebfa7c) 92.34% compared to head (f67af5d) 92.34%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #23   +/-   ##
=======================================
  Coverage   92.34%   92.34%
=======================================
  Files         124      124
  Lines        6637     6637
=======================================
  Hits         6129     6129
  Misses        404      404
  Partials      104      104

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Bit slow

Hi there, for me transcription is bit slow, I have RTX 2070 with 8gb. Is expected, do I need to ramp up hardware?

Hi, I figure you're using the medium.en model? The issue on (I'd assume) a 3060/2070 or faster is that the AI model likes to work off of a 30 second window (by default, see the '-n' and 'padding' options) and despite these GPUs being able to handle it faster than real-time, the latency/delay between processing and audio coming in is what's making it appear slow.
Try whispering --language en --model medium.en -n 90 --allow-padding    with your proper/preferred mic option and see if it's faster. I believe '-n' is 160 by default (if --n is not specified), and reducing it down to say '30' can bring speedups, but also a loss of accuracy, more errors where the default flags (no -n or padding) have it transcribe with the delay, but as accurate as the audio-file in / mp3 / wav taking version.


[Fix] decode URL encoded string in config path

Motivation
Some packages has config paths which is url encoded (e.g. %2B for +) https://github.com/open-mmlab/mmdetection/blob/db85fd12afce2fe89d1c7b870874c02a90018a16/configs/gn%2Bws/metafile.yml#L17
Currently downloading those models trrigers "is not found" error because mim does not support url encoded path.
Modification
While I am not sure if this should be fixed in mim or in metafile.yml in the package, I firstly attempt to fix in mim package.
BC-breaking (Optional)

Use cases (Optional)

Checklist

Pre-commit or other linting tools are used to fix the potential lint issues.
The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
If the modification has potential influence on downstream projects, this PR should be tested with downstream projects, like MMDet or MMCls.
The documentation has been modified accordingly, like docstring or example tutorials.

Hi @kbumsik, thanks for your kind contribution!
The Config field in Metafile.yml actually should be a file path.
The URL encode in Config path is not a normal behavior, and we will check with mmdetection.
Thanks again!

Oh I see, then do you prefer closing this?
I actually fixed all of metafile.yml in mmdetection, including url encoded file paths: https://github.com/open-mmlab/mmdetection/pull/9627

@kbumsik  Sorry for the late reply~
I prefer to close this PR, and feel free to reopen it if you have any problems. ^_^


[Change Request] codeunit 5600 "FA Insert Ledger Entry" - procedure FAName

Hello, can you please change the lokal procedure FAName to global?
    procedure FAName(DeprBookCode: Code[10]): Text[200]
    var
        DepreciationCalc: Codeunit "Depreciation Calculation";
    begin
        exit(DepreciationCalc.FAName(FA, DeprBookCode));
    end;

The internal work item was closed as "Won't Fix" without any justification. Given this issue is rather old, I'd suggest to open a new issue, if this request still is valid, and we will revisit it.


Second License needed

When running 2 stores, both cannot have the same license. I need to enter a different license for the second store.

Hello. I recently published release v0.20.1 which allows allows you to choose whether you are doing a single/client install or you are installing a server workstation. Licenses have been provisioned for each.

Please let me know if you encounter any more issues with the licensing.

Hi. Use the latest release v0.20.2 which supports multi-store licensing.


Fix num of points in plot options

The plot options contains Num points in plot that is not working for all cases
Check for different types i.e. atl06 vice atl03 etc.

fixed in v0.0.35


Fix typos

Found via typos --format brief

thanks :) mind signing Adobe's CLA so we can use your work? click the "Details" link

looks like you might have to open a new pr rather than just open/close this one :(


Get Popular tweets in new version

Looks like the previous version has SearchResultType.Popular. Is this available for Twitter V2 ?

Hi there.
It does not seem to be the case at the moment based on Twitter documentation.

https://developer.twitter.com/en/docs/twitter-api/tweets/search/integrate/build-a-rule
https://developer.twitter.com/en/docs/twitter-api/tweets/search/api-reference/get-tweets-search-recent

It is a shame, but I would suggest to send feedback here : https://twitterdevfeedback.uservoice.com/forums/921790-twitter-developer-labs.
If you do please share the link to your request so that I can upvote it too!
Cheers,
Linvi

Well, I did this : https://twitterdevfeedback.uservoice.com/forums/921790-twitter-developer-labs/suggestions/42344605-bring-back-search-type-popular-on-recent-search

Well, I did this : https://twitterdevfeedback.uservoice.com/forums/921790-twitter-developer-labs/suggestions/42344605-bring-back-search-type-popular-on-recent-search


Bird Mania 3D

Game Name (and version if necessary)
Bird Mania 3D (USA)
Hardware Specs (If necessary)

CPU: Ryzen 5 3600X
GPU: Nvidia RTX 2060

Operating System
Windows 11 22H2
Game State
Anytime the game is saved, it will display a message stating: "Could not read save data. Turn the system off and"
This includes loading the game for the first time, creating a name for the first time, dying in the game, etc.
Screenshots

Additional information
Console states "[Warning] Ignoring mprotect! Hope nothing goes wrong but if the game accesses invalid memory or crashes then we prolly need to implement this" 3 times on startup.

I'm doing God's work reporting this game's compatibility. What would the world do if they didn't know Bird Mania 3D is broken?!?!

This might be fixed by the ExtSaveData PR, will have to check

Also forgot to mention, the bird is impossible to control with the touch screen, but works with the Circle Pad.

Are you using a build from the website? The ones in the latest Github release are outdated.

https://panda3ds.com/download.html

Are you using a build from the website? The ones in the latest Github release are outdated.

Yes, I just downloaded it from the website this morning. It should be the latest nightly.

Just deleted my save and tried loading the game again. The console gave me this: "[Warning] ControlMemory: unknown operation 5". Not sure if that helps any.


proposal: Reliability of kmesh restart

What type of PR is this?
/kind enhancement
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes https://github.com/kmesh-net/kmesh/issues/322
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

@nlgwcy Please update


Android: Automatic light/dark theme setting

Correspond with the system theme. On iOS, we have an auto setting, pictured here:

From https://forum.newsblur.com/t/ui-suggestions-for-the-android-client/8401

Oh the user also mentioned that the bottom bar is white even in dark mode sometimes. Not sure what that's about but we should fix that.

The OS based auto theme has been recently built but it might still be in the beta versions.
I will check the bottom bar theme because based on the phone's manufacturer/OS it might need explicit coding.

I changed the default theme setting to Auto instead of Light to apply the global OS setting out of the box.
@samuelclay For the bottom navigation bar I couldn't find a solution that works well with the current deprecated theme on all API versions. This can be easily fixed after updating the theme, something that I also mentioned here https://github.com/samuelclay/NewsBlur/issues/1353. I'll create a separate issue for that and start on it soon


Link rel type for class mapping?

I am cataloging some assets using the Classification Extension. The classes are coming from a shared document and I would like to link to that document in addition to using the Class Objects in the Raster Band Objects.
Does anyone have a suggestion for an appropriate rel type? The closes IANA media type I could find was glossary, but that seems a little off the mark.

Maybe describedby?

Otherwise, just invent something new and document it here. We don't necessarily always need to overload IANA rel types...


Add Piscataway, NJ

Feature request
⚠ If you are looking to add a new city to the site, use the email request template. Thank you!

Hey, we’re so excited you have a way to improve defund12.org! 😍
Before you file the request
Please search to see if your idea has been discussed before.
If you find your feature request already exists, use the Github’s “reactions” feature in place of a "+1" comment. Feel free to make relevant comments to further discussion in the issue. 👍 upvote 👎 downvote
Feature request guidelines
Address the following in your issue.

What is the use case for the suggested feature?
Does the feature fit the scope and goals of defund12.org? We are focused on making it as easy as possible to contact local elected officials about police defunding.
Provide as much detail and context as possible about how the feature will be used. Being specific helps us envision the feature and make it a reality.
Can you lead the development of the feature?

@meli1087 thanks for your interest in adding your city to the website. Emails on defund12.org are all written by community members. To add your city, you must provide:

Subject line for the email
Email addresses (at least one) of the government officials you’d like to receive the message
Detailed message concerning the budgeting decisions at stake in your community

Until you provide this content, we cannot post your city.
Follow our email style guidelines for quicker acceptance. Remember that messages must be city-specific and focused on defunding the police. If your message is copied from an external source, please provide a link to the original source.
Your request will be closed until you reply with the necessary content. Thank you!


Closes #40

On a timeout, user is only required to submit username and password, not path to form on the server as we will save that.

Looks great to me!
Couple of logistical notes. I would rename this PR to have it describe what it does, put the "Closes" in the description and then squash and merge so that the extra merge commits don't show up on master.
Since you did this work on your master, @samlevy3, you may be in a less than ideal state. I'd recommend doing a git reset upstream/master to reset your local master to match this repo. You may also need git checkout -- . to drop any differences between your local and upstream and possibly git clean -df if you had extra files there. At that point, your local master will track upstream.
I'm sure most of this is familiar but wanted to put it all in one place since we all have slightly different git workflows!


chore(master): release 1.5.1

:robot: I have created a release beep boop
1.5.1 (2023-08-21)
Styling

侧边栏样式 (0aacf1e)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/KYX1234/Element-Admin/releases/tag/v1.5.1 :sunflower:


feat: Use common Docker Build Pipeline

Overview
Helloo team!
This PR uses the common CI pipeline for building the Docker containers and tagging them.
🚨 First, we have to wait to merge the PR-29, because we need the file available in the right path.

Checklist

[ ] Merge PR-29.
[ ] Need to be tested before merging this one.
[x] Linked issues closed with keywords

Closes issue: DevOps-38

Codecov Report

Merging #1737 (662602d) into main (849ef45) will increase coverage by 0.00%.
The diff coverage is 60.00%.

@@           Coverage Diff           @@
##             main    #1737   +/-   ##
=======================================
  Coverage   56.20%   56.20%
=======================================
  Files         232      232
  Lines       15147    15154    +7
=======================================
+ Hits         8513     8518    +5
- Misses       5730     5733    +3
+ Partials      904      903    -1

Impacted Files
Coverage Δ

libs/header/sync/sync_head.go
65.64% <0.00%> (-0.51%)
:arrow_down:

libs/header/sync/sync.go
67.48% <64.28%> (-0.67%)
:arrow_down:

das/coordinator.go
87.50% <0.00%> (-1.39%)
:arrow_down:

core/listener.go
56.66% <0.00%> (+5.00%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

hello @MSevey
hope you're doing well 😄

ℹ copy-paste from the PR-1370 in celestia-node.

I wanted to share this with you: action
It's about the permissions in the packages, I'm not sure 100%, but I think that we can solve it adding the .github repo to the celestia-node package Settings, in the section Manage Actions access and grant the Write role.
Let me know if I can do anything from my side ;)

Best! 🚀

sorry @renaynay , I've changed a comment after your approval 🙏 😇


dont use nonexisting hashes

Hi Frost Ming,
There apears to be an issue with how "non True" hashes are treated.
Non True match_hash'es are not removed from the can_hashes, but their hash value is still added to the hashes.
This can not work as the "Non True" match_hash can not have a hash member.
I believe this issue is zipapp independent...

@frostming anything i can do here?


fix Dockerfile.redhat8

What type of PR is this?

/kind feature
What this PR does / why we need it:
fix WORKDIR path for merged PR #325
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

/approve


MyOnlineMeals: a web dev project of food delivery based on the HTML and CSS

🚀 Feature
(A clear and concise description of what the feature is.)
Have you read the Contributing Guidelines ?
Yes
Motivation
The most important advantage of food delivery is by providing food whenever or wherever you want. Nowadays people are too busy at times, but food delivery service helps them to grab a bite in their busy schedule.
Pitch
(Please explain why this feature should be implemented and how it would be used.)
1)For starting the feature
2)After forking the repository
3)Go to the dir named as MyOnlineMeals
4)By clicking on the index.html
5)Go to the live server and thus feature is ready to work.

My sincere greetings
Can you Please assign to me?

@Kushal997-das  I have created a PR #352

Please review it. as I am a beginner to this so if there is a mistake then please guide me.


No module named 'MatterSim'

Hi,
Thank you for sharing your excellent work!
Could you tell me how to deal with the error "No module named 'MatterSim'", I set up the MatterSim in docker successfully, and I can only import the module in the terminal of docker. Should I build the MatterSim in real machine?
(navillm) root@18039d198356:~/mount/Matterport3DSimulator/navillm# export PYTHONPATH=/root/mount/Matterport3DSimulator/build:$PYTHONPATH
(navillm) root@18039d198356:~/mount/Matterport3DSimulator/navillm# python3
Python 3.8.5 (default, Sep  4 2020, 07:30:14)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import MatterSim
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'MatterSim'
KeyboardInterrupt
>>>

(vlnduet) root@18039d198356:~/mount/Matterport3DSimulator/navillm# which python3
/root/miniconda3/envs/vlnduet/bin/python3
(vlnduet) root@18039d198356:~/mount/Matterport3DSimulator/navillm# conda deactivate
(base) root@18039d198356:~/mount/Matterport3DSimulator/navillm# which python3
/root/miniconda3/bin/python3
(base) root@18039d198356:~/mount/Matterport3DSimulator/navillm# conda deactivate
root@18039d198356:~/mount/Matterport3DSimulator/navillm# which python3
/usr/bin/python3
root@18039d198356:~/mount/Matterport3DSimulator/navillm# python3
Python 3.6.9 (default, Mar 10 2023, 16:46:00)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import MatterSim
>>>

Thank you!

It seems a bit weird. We haven't done any environment configuration in Docker. Maybe you can check the MatterSim repository to see if there are any similar issues.

the python version of your conda env is not the same as cmakefile in MatterSim is the main reason I think


Test rabbit

Testing rabbit

@coderabbita

@coderabbitai

Important
Auto Review Skipped
More than 25% of the files skipped due to max files limit. Skipping review to prevent low quality review.
33 files out of 107 files are above the max files limit of 50.
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on X ?
Tips
Chat with CodeRabbit Bot (@coderabbitai)

You can reply to a review comment made by CodeRabbit.
You can tag CodeRabbit on specific lines of code or files in the PR by tagging @coderabbitai in a comment.
You can tag @coderabbitai in a PR comment and ask one-off questions about the PR and the codebase. Use quoted replies to pass the context for follow-up questions.

CodeRabbit Commands (invoked as PR comments)

@coderabbitai pause to pause the reviews on a PR.
@coderabbitai resume to resume the paused reviews.
@coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
@coderabbitai resolve resolve all the CodeRabbit review comments.
@coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
CodeRabbit Configration File (.coderabbit.yaml)

You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
The JSON schema for the configuration file is available here.
If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

@coderabbitai review

@coderabbitai review


test(k8s): move test cluster to westus

Closes #279

... and never the twain shall meet

or

... and the wrong one I have chose


React on Rails with Devise Token Auth

Hey guys, I am tring to use the framework React on Rails with devise otken auth lib, I need to pass the authorization headers as cookies to use server side :authenticate_api_user! and current_api_user, I enabled the cookie configuration and set the access-token as cookie, but I got a error unexpected token

Version:  gem 'devise_token_auth', :git => 'https://github.com/lynndylanhurley/devise_token_auth.git', :branch => 'master'

Request and response headers:
Cookie: _todo_list_session=YLuAkCaUURwJ7QUl2zqQEIFn5d8pqkyGUvTxwulSeh7%2BHuu0AGWaaso6rE6InPoCeMZpeKXSGBqYfa%2FviRsVqLB%2BGmTAwOQpAmpM%2FAJdqxVLPFEGYjLS4EwyPYQXTDk3dbN8GbYS59J4%2FeSW0CnEfE4W8wDgiXhm%2B1GeXnTzTfxox%2Bk%2FnJMqCwmE6iOKmwkqtGKCtWI7zdKcyThicAqRiSln6TibbRYJl%2BJQB5OcozkU%2FAQCfrFlT64CF0UXTHf3ZdoMnAVhmatoocM8xVtSkyG7JUj0sUHJEro%3D--yUrsvamsFMQvmIz0--q7g1Twpfut5M9JpBRb3Ksw%3D%3D; access-token=hwJhzsgOQXBLlFjWWa0aZg; client=NPY-6oM4LBmkr3yllu4j-g; uid=danilomartinelli429%40gmail.com; expiry=1647612276; token-type=Bearer

Rails Stacktrace:
783: unexpected token at 'hwJhzsgOQXBLlFjWWa0aZg'

Custom Overrides: what have you done in terms of [custom controller overrides]
config.cookie_enabled = true
config.cookie_name = 'access-token'
config.change_headers_on_each_request = false

Custom Frontend:  React on Rails

I'm also having this same issue!

Hey @danilomartinelli ! Quick question, did you set any config.cookie_attributes? Also, could you add a screenshot of the Cookies tab in devtools for the /auth/sign_in request?

Hey @danilomartinelli ! Quick question, did you set any config.cookie_attributes? Also, could you add a screenshot of the Cookies tab in devtools for the /auth/sign_in request?

@theblang  I didn't set cookie_attributes, What Do I need to set?

@danilomartinelli You can set any of the standard Rails attributes. If you're not setting expires, then I think Rails defaults to end of session.

hi there, i hope this question is related:

is it possible to set a cookie that is shared both by token auth and the regular devise controller, so that the user can authenticate in either one of the 2 ways and be authorized by both devise controllers?

so basically user can authenticate both via token "auth/" or via regular "users/sign_in" url and thanks to the shared cookie it will be authorized on both endpoints without need of relogin.
same would go for logout.


Generate table of contents in readmes

Similar to https://github.com/GoogleCloudPlatform/opentelemetry-collector-builder-sample/issues/18, we should generate the table of contents for the main readme and subdirectory readmes in the sample-apps and recipes folders. This generation should be verified in a presubmit for new PRs

Not a high priority but would be nice to have. Github generates a TOC if you click the hamburger icon on an MD file, but it's not the greatest.

Github automatically generates a dropdown readme list now, so this is obsolete


[Bug] [doc] The configuration of truncate is not supported when save mode is update

…written on the doc #1411

Purpose of this pull request
The configuration of truncate is not supported, but it's written on the doc

Check list

[x] Code changed are covered with tests, or it does not need tests for reason:
[x] If any new Jar binary package adding in you PR, please add License Notice according
New License Guide
[x] If necessary, please update the documentation to describe the new feature. https://github.com/apache/incubator-seatunnel/tree/dev/docs

Well done, looking forward to your next contribution.


Support CSRF protection in GraphiQL with cookie-to-header strategy

When using cookie-to-header token CSRF protection as it is documented for Spring Security when using SPAs GraphiQL always gets 403 errors for every request. The common solution that I found in examples seems to be to disable CSRF (which is not really a solution).
Other solutions would be to create a custom GraphiQL build or to use something like web filters to modify the existing GraphiQL index.html.
Instead, I would like to request out-of-the-box support for CSRF protection in Spring's GraphiQL. It could look like the example provided in this discussion: https://github.com/graphql/graphiql/discussions/3355

The CSRF token is automatically provided as cookie by the CsrfCookieFilter that you can see in the Spring Security documentation for SPAs. The only problem is that this GraphiQL does not use the cookie value to send it back in a header field. So adding this header (if the cookie is present) would be enough to support this use case.
In the end I can only speak for myself, but I cannot imagine this to be a rare use case and I think the effort of "redirecting" the cookie value into a header isn't that high.

By the way: The cookie name defaults to XSRF-TOKEN and the header to X-XSRF-TOKEN which is also what Spring Security uses by default. This is not about supporting every possible combination but at least the main one.

Makes sense. Did you try the code suggested in the GraphiQL in your application? Does it work as expected?

Just tried this as a proof of concept and it works for me:
React.createElement(GraphiQL, {
            fetcher: gqlFetcher,
            headers: `{ "X-XSRF-TOKEN" : "${ document.cookie.match(new RegExp('(?:^| )XSRF-TOKEN=([^;]+)'))[1] }" }`,
            defaultVariableEditorOpen: true,
            headerEditorEnabled: true,
            shouldPersistHeaders: true
        }),

Of course the headers field would need to be optional based on the existence of the cookie.

I've checked a similar change with several Spring Security setups.
For example, with WebFlux and no BREACH protection:
@Configuration
public class SecurityConfig {

    @Bean
    public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
        http
                .authorizeExchange(exchanges -> exchanges.anyExchange().authenticated())
                .csrf(csrf -> csrf
                        .csrfTokenRepository(CookieServerCsrfTokenRepository.withHttpOnlyFalse())
                        .csrfTokenRequestHandler(new ServerCsrfTokenRequestAttributeHandler()))
                .httpBasic(withDefaults())
                .formLogin(withDefaults());
        return http.build();
    }
}

A more involved (with BREACH protection) setup with MVC can be found in the Spring Security reference documentation.


Style 1-based line spacing

KBS spaces lines based on the font and size of the first style, but their algorithm is a bit mysterious. Currently, kbputils doesn't even attempt to calculate the right spacing, and just uses 19, which is the value for Arial 12 Bold, the default Style 1 font.
I've been looking into reverse-engineering the algorithm, but until then, another option is just to use hardcoded values for known fonts and warn if another font is in style 1.

v0.0.8 added some minimal support with an option that uses hardcoded font spacing values, but there's got to be a better way, so leaving this open.


remove memQuota adapter long with old style config files

Will not pass tests until https://github.com/istio/istio/pull/725 merges.
Release note:

NONE

This change is

@mandarjog: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-e2e-smoketest.sh
4f06c1997b83b16512355a0f0e57164af04face1
link
/test mixer-e2e-smoketest

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/test-infra repository. I understand the commands that are listed here.


Reduce writes to JSON store

is it possible to disable storing [node].values.jsonl on disk? Constant disk writes add wear to storage for embedded devices...

Ref: https://github.com/zwave-js/zwavejs2mqtt/issues/115#issuecomment-751955662

Disabling the storage makes no sense because after a restart or crash all interviews would need to be repeated completely.
I can do you one better though... The value store is based on jsonl-db, which has options to throttle the FS access:
https://github.com/AlCalzone/jsonl-db#controlling-file-system-access
We could expose a part of those options (or create presets): https://github.com/zwave-js/node-zwave-js/blob/fa4faff39fd49b50702f0f859a2e4206ec67c334/packages/zwave-js/src/lib/driver/Driver.ts#L720-L733

We could expose a part of those options (or create presets):

I think this would be a good addon to driver options :)

Since we're still working on 6.x, lets merge the fs, cacheDir and these new options into a new object-type property. Now's the time for housekeeping.

And I prefer presets in order to not overload the options with stuff users can mess up.

And I prefer presets in order to not overload the options with stuff users can mess up

I'm +1 for this!

lets merge the fs, cacheDir and these new options into a new object-type property

Yep, we could wrap all them in a storage property of driver options?


ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER cause build issue with time (IDFGH-6502)

Why disabling ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER in menuconfig is causing problems with standard time functions?
error: 'tm' does not name a type; did you mean 'tms'?
strftime(buffer, 80, "%d-%m-%Y %H:%M:%S GMT", timeinfo);
With option enabled all works fine.
Thanks

Which esp-idf version?

master branch, sorry

@chegewara Which example you used?

Sorry, it is not espressif example, it is from my library test code. It is based on sntp example.

I checked SNTP example now and its working. Looks like with this config enabled some headers are auto-magically included and with disabled i have to add:
#include <time.h>
#include <sys/time.h>

Sorry for confusion


[Bug Report] OpenAI functions raise exception

#459 added agent support for OpenAI functions and it seems to work.  I have created my own simple Tool (calling an internal api), following existing implementations and am able to run a Chain that ends up having OpenAI returning a request for as a function call to call my Tool.
My Tool completes its step and returns a string response.  During Planning for the subsequent step in the chain, an exception is raised because one of the prompt messages now has an item with a Role of Function.
Exception:  role function not supported
It looks like the refactoring in #521 that was released also as part of v0.1.4, broke the ability for chains to continue after an openai function call response.
Specifically line no. 72 in llms/openai/openaillm.go has the Function Role falling through to the default in the switch statement and thus throwing an exception that it is not supported.
The previous llms/openai/openaillm_chat.go file that was used did not follow the same logic and allowed for function roles.
I am creating my agent and chain like so (portion of code that is relevant):
agent := agents.NewOpenAIFunctionsAgent(c.openAIClient, toolsToUse, agents.NewOpenAIOption().WithSystemMessage(c.chatConfig.SystemPersona))

executor := agents.NewExecutor(agent, toolsToUse)

result, err := chains.Run(ctx, executor, newChat,chains.WithModel(c.chatConfig.Model))

How I could reproduce it?

I can confirm this is an issue. Here is an example of attempting RAG (openAI->function->data->openAI). The example code below sends a request, receives a functionCall, grabs that data and attempts to send it back. I added some comments hi-lighting the specific point of break.
error:
2024/03/23 17:04:31 role function not supported
exit status 1
expected output:
The current weather in Boston is sunny and windy with a temperature of 72 degrees Fahrenheit.

example:
package main

import (
	"context"
	"encoding/json"
	"fmt"
	"log"

	"github.com/tmc/langchaingo/llms"
	"github.com/tmc/langchaingo/llms/openai"
	"github.com/tmc/langchaingo/schema"
)

func main() {
	llm, err := openai.New(openai.WithModel("gpt-3.5-turbo-0613"))
	if err != nil {
		log.Fatal(err)
	}
	ctx := context.Background()

	messages := []llms.MessageContent{
		llms.TextParts(schema.ChatMessageTypeHuman, "What is the weather like in Boston?"),
	}

	resp, err := llm.GenerateContent(ctx,
		messages,
		llms.WithFunctions(functions))
	if err != nil {
		log.Fatal(err)
	}

	choice1 := resp.Choices[0]
	if choice1.FuncCall != nil {
		//add the response from the AI to the messages for chaining
		messages = append(messages, llms.TextParts(schema.ChatMessageTypeAI, choice1.Content))

		//execute function
		switch choice1.FuncCall.Name {
		case "getCurrentWeather":
			//Generate data
			data, _ := getCurrentWeather(`titusville`, `fahrenheit`)

			//Add function data to message chain
			messages = append(messages, llms.TextParts(schema.ChatMessageTypeFunction, data))

			//Send back to openAI for final response -
			//  this is where it breaks -
			//  expecation is function data sent back to OpenAI and a formal response constructed
			resp, err := llm.GenerateContent(ctx,
				messages,
				llms.WithFunctions(functions))

			if err != nil {
				log.Fatal(err)
			}

			fmt.Println(resp.Choices[0].Content)

		default:
			log.Fatalf("function %s not found", choice1.FuncCall.Name)
		}
	}
}

func getCurrentWeather(location string, unit string) (string, error) {
	weatherInfo := map[string]interface{}{
		"location":    location,
		"temperature": "72",
		"unit":        unit,
		"forecast":    []string{"sunny", "windy"},
	}
	b, err := json.Marshal(weatherInfo)
	if err != nil {
		return "", err
	}
	return string(b), nil
}

var functions = []llms.FunctionDefinition{
	{
		Name:        "getCurrentWeather",
		Description: "Get the current weather in a given location",
		Parameters:  json.RawMessage(`{"type": "object", "properties": {"location": {"type": "string", "description": "The city and state, e.g. San Francisco, CA"}, "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}}, "required": ["location"]}`),
	},
}

Possible Fix:
One fix I have in mind is to add FuncCall to llms.MessageContent. https://github.com/tmc/langchaingo/blob/main/llms/generatecontent.go#L14
type MessageContent struct {
	Role     schema.ChatMessageType
	Parts    []ContentPart
	FuncCall *schema.FunctionCall
}

This would then allow for something like
--calling code
m := llms.TextParts(schema.ChatMessageTypeFunction, data)
			m.FuncCall = choice1.FuncCall
....

And finally this inside the llms/openai https://github.com/tmc/langchaingo/blob/83bf27c8855714ce8b7eb38b9ded29c831d94797/llms/openai/openaillm.go#L69
case schema.ChatMessageTypeFunction:
			msg.Role = RoleFunction
			if mc.FuncCall != nil {
				msg.Name = mc.FuncCall.Name
			}

This solution worked for me when I implemented locally but I am not completely familiar with all of the other LLM solutions and I am not sure if this fits generically.
I can create a PR if this is the correct approach

I believe this issue can be closed.
It looks like this was fixed/resolved with this commit https://github.com/tmc/langchaingo/commit/41746928f0938d9032adec2b36ccc139a2461531
Specifically this https://github.com/tmc/langchaingo/commit/41746928f0938d9032adec2b36ccc139a2461531#diff-2a83212750cde18b3ed9b7043adcdc3e0637e0e903c37b90581c25d9ec5e1447R176


I'm not sure what this is called or if it belongs here

Hey, I apologize in advance if this is misplaced. I don't have any maths education or know anything of algorithms.
I've been working on something that I believe I misconstrued from a problem I saw asked that dealt with binary trees. I don't know if this is a valid algorithm or not:
// Find all subtrees of n-ary tree. For example:
//
//          1
//        /   \
//       /     \
//      2       3
//     / \     /|\
//    4   6   5 7 8
//       / \
//      9  10

// I want to show all subtrees:

// 1    1   1       1       1        1         1
//     /     \     / \     / \      / \         \
//    2       3   2   3   2   3    2   3         3
//                        |        |  /         /
//                        4        4 5         5

I think essentially what I'm trying to communicate here is any valid branching path/"state" from the tree starting at the root node. I first tried order-specific (all permutations of each "level" were valid) but this was far too difficult and I've since retreated to trying to figure out order-inspecific. I could be way off, but this appears to work:
https://repl.it/@GavinRay97/VivaciousWarmheartedComputers-1

Console Output of Trees - CLICK TO EXPAND

var exampleTree = {
  a: {
    b: {
      d: null,
      e: {
        f: null,
        g: {
          i: {
            l: null,
            m: null,
            n: null,
          },
          k: null,
        },
        h: null
      }
    },
    c: null,
    o: null
  },
}

"a -> b"
"a -> b-c"
"a -> b-c -> d"
"a -> b-c -> d-e"
"a -> b-c -> d-e -> f"
"a -> b-c -> d-e -> f-g"
"a -> b-c -> d-e -> f-g-h"
"a -> b-c -> d-e -> f-g-h -> i"
"a -> b-c -> d-e -> f-g-h -> i-k"
"a -> b-c -> d-e -> f-g-h -> i-k -> l"
"a -> b-c -> d-e -> f-g-h -> i-k -> l-m"
"a -> b-c -> d-e -> f-g-h -> i-k -> l-m-n"
"a -> b-c -> d-e -> f-g-h -> i-k -> m"
"a -> b-c -> d-e -> f-g-h -> i-k -> m-n"
"a -> b-c -> d-e -> f-g-h -> i-k -> n"
"a -> b-c -> d-e -> f-g-h -> i -> l"
"a -> b-c -> d-e -> f-g-h -> i -> l-m"
"a -> b-c -> d-e -> f-g-h -> i -> l-m-n"
"a -> b-c -> d-e -> f-g-h -> i -> m"
"a -> b-c -> d-e -> f-g-h -> i -> m-n"
"a -> b-c -> d-e -> f-g-h -> i -> n"
"a -> b-c -> d-e -> f-g-h -> k"
"a -> b-c -> d-e -> f-g -> i"
"a -> b-c -> d-e -> f-g -> i-k"
"a -> b-c -> d-e -> f-g -> i-k -> l"
"a -> b-c -> d-e -> f-g -> i-k -> l-m"
"a -> b-c -> d-e -> f-g -> i-k -> l-m-n"
"a -> b-c -> d-e -> f-g -> i-k -> m"
"a -> b-c -> d-e -> f-g -> i-k -> m-n"
"a -> b-c -> d-e -> f-g -> i-k -> n"
"a -> b-c -> d-e -> f-g -> i -> l"
"a -> b-c -> d-e -> f-g -> i -> l-m"
"a -> b-c -> d-e -> f-g -> i -> l-m-n"
"a -> b-c -> d-e -> f-g -> i -> m"
"a -> b-c -> d-e -> f-g -> i -> m-n"
"a -> b-c -> d-e -> f-g -> i -> n"
"a -> b-c -> d-e -> f-g -> k"
"a -> b-c -> d-e -> g"
"a -> b-c -> d-e -> g-h"
"a -> b-c -> d-e -> g-h -> i"
"a -> b-c -> d-e -> g-h -> i-k"
"a -> b-c -> d-e -> g-h -> i-k -> l"
"a -> b-c -> d-e -> g-h -> i-k -> l-m"
"a -> b-c -> d-e -> g-h -> i-k -> l-m-n"
"a -> b-c -> d-e -> g-h -> i-k -> m"
"a -> b-c -> d-e -> g-h -> i-k -> m-n"
"a -> b-c -> d-e -> g-h -> i-k -> n"
"a -> b-c -> d-e -> g-h -> i -> l"
"a -> b-c -> d-e -> g-h -> i -> l-m"
"a -> b-c -> d-e -> g-h -> i -> l-m-n"
"a -> b-c -> d-e -> g-h -> i -> m"
"a -> b-c -> d-e -> g-h -> i -> m-n"
"a -> b-c -> d-e -> g-h -> i -> n"
"a -> b-c -> d-e -> g-h -> k"
"a -> b-c -> d-e -> g -> i"
"a -> b-c -> d-e -> g -> i-k"
"a -> b-c -> d-e -> g -> i-k -> l"
"a -> b-c -> d-e -> g -> i-k -> l-m"
"a -> b-c -> d-e -> g -> i-k -> l-m-n"
"a -> b-c -> d-e -> g -> i-k -> m"
"a -> b-c -> d-e -> g -> i-k -> m-n"
"a -> b-c -> d-e -> g -> i-k -> n"
"a -> b-c -> d-e -> g -> i -> l"
"a -> b-c -> d-e -> g -> i -> l-m"
"a -> b-c -> d-e -> g -> i -> l-m-n"
"a -> b-c -> d-e -> g -> i -> m"
"a -> b-c -> d-e -> g -> i -> m-n"
"a -> b-c -> d-e -> g -> i -> n"
"a -> b-c -> d-e -> g -> k"
"a -> b-c -> d-e -> h"
"a -> b-c -> e"
"a -> b-c -> e -> f"
"a -> b-c -> e -> f-g"
"a -> b-c -> e -> f-g-h"
"a -> b-c -> e -> f-g-h -> i"
"a -> b-c -> e -> f-g-h -> i-k"
"a -> b-c -> e -> f-g-h -> i-k -> l"
"a -> b-c -> e -> f-g-h -> i-k -> l-m"
"a -> b-c -> e -> f-g-h -> i-k -> l-m-n"
"a -> b-c -> e -> f-g-h -> i-k -> m"
"a -> b-c -> e -> f-g-h -> i-k -> m-n"
"a -> b-c -> e -> f-g-h -> i-k -> n"
"a -> b-c -> e -> f-g-h -> i -> l"
"a -> b-c -> e -> f-g-h -> i -> l-m"
"a -> b-c -> e -> f-g-h -> i -> l-m-n"
"a -> b-c -> e -> f-g-h -> i -> m"
"a -> b-c -> e -> f-g-h -> i -> m-n"
"a -> b-c -> e -> f-g-h -> i -> n"
"a -> b-c -> e -> f-g-h -> k"
"a -> b-c -> e -> f-g -> i"
"a -> b-c -> e -> f-g -> i-k"
"a -> b-c -> e -> f-g -> i-k -> l"
"a -> b-c -> e -> f-g -> i-k -> l-m"
"a -> b-c -> e -> f-g -> i-k -> l-m-n"
"a -> b-c -> e -> f-g -> i-k -> m"
"a -> b-c -> e -> f-g -> i-k -> m-n"
"a -> b-c -> e -> f-g -> i-k -> n"
"a -> b-c -> e -> f-g -> i -> l"
"a -> b-c -> e -> f-g -> i -> l-m"
"a -> b-c -> e -> f-g -> i -> l-m-n"
"a -> b-c -> e -> f-g -> i -> m"
"a -> b-c -> e -> f-g -> i -> m-n"
"a -> b-c -> e -> f-g -> i -> n"
"a -> b-c -> e -> f-g -> k"
"a -> b-c -> e -> g"
"a -> b-c -> e -> g-h"
"a -> b-c -> e -> g-h -> i"
"a -> b-c -> e -> g-h -> i-k"
"a -> b-c -> e -> g-h -> i-k -> l"
"a -> b-c -> e -> g-h -> i-k -> l-m"
"a -> b-c -> e -> g-h -> i-k -> l-m-n"
"a -> b-c -> e -> g-h -> i-k -> m"
"a -> b-c -> e -> g-h -> i-k -> m-n"
"a -> b-c -> e -> g-h -> i-k -> n"
"a -> b-c -> e -> g-h -> i -> l"
"a -> b-c -> e -> g-h -> i -> l-m"
"a -> b-c -> e -> g-h -> i -> l-m-n"
"a -> b-c -> e -> g-h -> i -> m"
"a -> b-c -> e -> g-h -> i -> m-n"
"a -> b-c -> e -> g-h -> i -> n"
"a -> b-c -> e -> g-h -> k"
"a -> b-c -> e -> g -> i"
"a -> b-c -> e -> g -> i-k"
"a -> b-c -> e -> g -> i-k -> l"
"a -> b-c -> e -> g -> i-k -> l-m"
"a -> b-c -> e -> g -> i-k -> l-m-n"
"a -> b-c -> e -> g -> i-k -> m"
"a -> b-c -> e -> g -> i-k -> m-n"
"a -> b-c -> e -> g -> i-k -> n"
"a -> b-c -> e -> g -> i -> l"
"a -> b-c -> e -> g -> i -> l-m"
"a -> b-c -> e -> g -> i -> l-m-n"
"a -> b-c -> e -> g -> i -> m"
"a -> b-c -> e -> g -> i -> m-n"
"a -> b-c -> e -> g -> i -> n"
"a -> b-c -> e -> g -> k"
"a -> b-c -> e -> h"
"a -> b-c-o"
"a -> b-c-o -> d"
"a -> b-c-o -> d-e"
"a -> b-c-o -> d-e -> f"
"a -> b-c-o -> d-e -> f-g"
"a -> b-c-o -> d-e -> f-g-h"
"a -> b-c-o -> d-e -> f-g-h -> i"
"a -> b-c-o -> d-e -> f-g-h -> i-k"
"a -> b-c-o -> d-e -> f-g-h -> i-k -> l"
"a -> b-c-o -> d-e -> f-g-h -> i-k -> l-m"
"a -> b-c-o -> d-e -> f-g-h -> i-k -> l-m-n"
"a -> b-c-o -> d-e -> f-g-h -> i-k -> m"
"a -> b-c-o -> d-e -> f-g-h -> i-k -> m-n"
"a -> b-c-o -> d-e -> f-g-h -> i-k -> n"
"a -> b-c-o -> d-e -> f-g-h -> i -> l"
"a -> b-c-o -> d-e -> f-g-h -> i -> l-m"
"a -> b-c-o -> d-e -> f-g-h -> i -> l-m-n"
"a -> b-c-o -> d-e -> f-g-h -> i -> m"
"a -> b-c-o -> d-e -> f-g-h -> i -> m-n"
"a -> b-c-o -> d-e -> f-g-h -> i -> n"
"a -> b-c-o -> d-e -> f-g-h -> k"
"a -> b-c-o -> d-e -> f-g -> i"
"a -> b-c-o -> d-e -> f-g -> i-k"
"a -> b-c-o -> d-e -> f-g -> i-k -> l"
"a -> b-c-o -> d-e -> f-g -> i-k -> l-m"
"a -> b-c-o -> d-e -> f-g -> i-k -> l-m-n"
"a -> b-c-o -> d-e -> f-g -> i-k -> m"
"a -> b-c-o -> d-e -> f-g -> i-k -> m-n"
"a -> b-c-o -> d-e -> f-g -> i-k -> n"
"a -> b-c-o -> d-e -> f-g -> i -> l"
"a -> b-c-o -> d-e -> f-g -> i -> l-m"
"a -> b-c-o -> d-e -> f-g -> i -> l-m-n"
"a -> b-c-o -> d-e -> f-g -> i -> m"
"a -> b-c-o -> d-e -> f-g -> i -> m-n"
"a -> b-c-o -> d-e -> f-g -> i -> n"
"a -> b-c-o -> d-e -> f-g -> k"
"a -> b-c-o -> d-e -> g"
"a -> b-c-o -> d-e -> g-h"
"a -> b-c-o -> d-e -> g-h -> i"
"a -> b-c-o -> d-e -> g-h -> i-k"
"a -> b-c-o -> d-e -> g-h -> i-k -> l"
"a -> b-c-o -> d-e -> g-h -> i-k -> l-m"
"a -> b-c-o -> d-e -> g-h -> i-k -> l-m-n"
"a -> b-c-o -> d-e -> g-h -> i-k -> m"
"a -> b-c-o -> d-e -> g-h -> i-k -> m-n"
"a -> b-c-o -> d-e -> g-h -> i-k -> n"
"a -> b-c-o -> d-e -> g-h -> i -> l"
"a -> b-c-o -> d-e -> g-h -> i -> l-m"
"a -> b-c-o -> d-e -> g-h -> i -> l-m-n"
"a -> b-c-o -> d-e -> g-h -> i -> m"
"a -> b-c-o -> d-e -> g-h -> i -> m-n"
"a -> b-c-o -> d-e -> g-h -> i -> n"
"a -> b-c-o -> d-e -> g-h -> k"
"a -> b-c-o -> d-e -> g -> i"
"a -> b-c-o -> d-e -> g -> i-k"
"a -> b-c-o -> d-e -> g -> i-k -> l"
"a -> b-c-o -> d-e -> g -> i-k -> l-m"
"a -> b-c-o -> d-e -> g -> i-k -> l-m-n"
"a -> b-c-o -> d-e -> g -> i-k -> m"
"a -> b-c-o -> d-e -> g -> i-k -> m-n"
"a -> b-c-o -> d-e -> g -> i-k -> n"
"a -> b-c-o -> d-e -> g -> i -> l"
"a -> b-c-o -> d-e -> g -> i -> l-m"
"a -> b-c-o -> d-e -> g -> i -> l-m-n"
"a -> b-c-o -> d-e -> g -> i -> m"
"a -> b-c-o -> d-e -> g -> i -> m-n"
"a -> b-c-o -> d-e -> g -> i -> n"
"a -> b-c-o -> d-e -> g -> k"
"a -> b-c-o -> d-e -> h"
"a -> b-c-o -> e"
"a -> b-c-o -> e -> f"
"a -> b-c-o -> e -> f-g"
"a -> b-c-o -> e -> f-g-h"
"a -> b-c-o -> e -> f-g-h -> i"
"a -> b-c-o -> e -> f-g-h -> i-k"
"a -> b-c-o -> e -> f-g-h -> i-k -> l"
"a -> b-c-o -> e -> f-g-h -> i-k -> l-m"
"a -> b-c-o -> e -> f-g-h -> i-k -> l-m-n"
"a -> b-c-o -> e -> f-g-h -> i-k -> m"
"a -> b-c-o -> e -> f-g-h -> i-k -> m-n"
"a -> b-c-o -> e -> f-g-h -> i-k -> n"
"a -> b-c-o -> e -> f-g-h -> i -> l"
"a -> b-c-o -> e -> f-g-h -> i -> l-m"
"a -> b-c-o -> e -> f-g-h -> i -> l-m-n"
"a -> b-c-o -> e -> f-g-h -> i -> m"
"a -> b-c-o -> e -> f-g-h -> i -> m-n"
"a -> b-c-o -> e -> f-g-h -> i -> n"
"a -> b-c-o -> e -> f-g-h -> k"
"a -> b-c-o -> e -> f-g -> i"
"a -> b-c-o -> e -> f-g -> i-k"
"a -> b-c-o -> e -> f-g -> i-k -> l"
"a -> b-c-o -> e -> f-g -> i-k -> l-m"
"a -> b-c-o -> e -> f-g -> i-k -> l-m-n"
"a -> b-c-o -> e -> f-g -> i-k -> m"
"a -> b-c-o -> e -> f-g -> i-k -> m-n"
"a -> b-c-o -> e -> f-g -> i-k -> n"
"a -> b-c-o -> e -> f-g -> i -> l"
"a -> b-c-o -> e -> f-g -> i -> l-m"
"a -> b-c-o -> e -> f-g -> i -> l-m-n"
"a -> b-c-o -> e -> f-g -> i -> m"
"a -> b-c-o -> e -> f-g -> i -> m-n"
"a -> b-c-o -> e -> f-g -> i -> n"
"a -> b-c-o -> e -> f-g -> k"
"a -> b-c-o -> e -> g"
"a -> b-c-o -> e -> g-h"
"a -> b-c-o -> e -> g-h -> i"
"a -> b-c-o -> e -> g-h -> i-k"
"a -> b-c-o -> e -> g-h -> i-k -> l"
"a -> b-c-o -> e -> g-h -> i-k -> l-m"
"a -> b-c-o -> e -> g-h -> i-k -> l-m-n"
"a -> b-c-o -> e -> g-h -> i-k -> m"
"a -> b-c-o -> e -> g-h -> i-k -> m-n"
"a -> b-c-o -> e -> g-h -> i-k -> n"
"a -> b-c-o -> e -> g-h -> i -> l"
"a -> b-c-o -> e -> g-h -> i -> l-m"
"a -> b-c-o -> e -> g-h -> i -> l-m-n"
"a -> b-c-o -> e -> g-h -> i -> m"
"a -> b-c-o -> e -> g-h -> i -> m-n"
"a -> b-c-o -> e -> g-h -> i -> n"
"a -> b-c-o -> e -> g-h -> k"
"a -> b-c-o -> e -> g -> i"
"a -> b-c-o -> e -> g -> i-k"
"a -> b-c-o -> e -> g -> i-k -> l"
"a -> b-c-o -> e -> g -> i-k -> l-m"
"a -> b-c-o -> e -> g -> i-k -> l-m-n"
"a -> b-c-o -> e -> g -> i-k -> m"
"a -> b-c-o -> e -> g -> i-k -> m-n"
"a -> b-c-o -> e -> g -> i-k -> n"
"a -> b-c-o -> e -> g -> i -> l"
"a -> b-c-o -> e -> g -> i -> l-m"
"a -> b-c-o -> e -> g -> i -> l-m-n"
"a -> b-c-o -> e -> g -> i -> m"
"a -> b-c-o -> e -> g -> i -> m-n"
"a -> b-c-o -> e -> g -> i -> n"
"a -> b-c-o -> e -> g -> k"
"a -> b-c-o -> e -> h"
"a -> b -> d"
"a -> b -> d-e"
"a -> b -> d-e -> f"
"a -> b -> d-e -> f-g"
"a -> b -> d-e -> f-g-h"
"a -> b -> d-e -> f-g-h -> i"
"a -> b -> d-e -> f-g-h -> i-k"
"a -> b -> d-e -> f-g-h -> i-k -> l"
"a -> b -> d-e -> f-g-h -> i-k -> l-m"
"a -> b -> d-e -> f-g-h -> i-k -> l-m-n"
"a -> b -> d-e -> f-g-h -> i-k -> m"
"a -> b -> d-e -> f-g-h -> i-k -> m-n"
"a -> b -> d-e -> f-g-h -> i-k -> n"
"a -> b -> d-e -> f-g-h -> i -> l"
"a -> b -> d-e -> f-g-h -> i -> l-m"
"a -> b -> d-e -> f-g-h -> i -> l-m-n"
"a -> b -> d-e -> f-g-h -> i -> m"
"a -> b -> d-e -> f-g-h -> i -> m-n"
"a -> b -> d-e -> f-g-h -> i -> n"
"a -> b -> d-e -> f-g-h -> k"
"a -> b -> d-e -> f-g -> i"
"a -> b -> d-e -> f-g -> i-k"
"a -> b -> d-e -> f-g -> i-k -> l"
"a -> b -> d-e -> f-g -> i-k -> l-m"
"a -> b -> d-e -> f-g -> i-k -> l-m-n"
"a -> b -> d-e -> f-g -> i-k -> m"
"a -> b -> d-e -> f-g -> i-k -> m-n"
"a -> b -> d-e -> f-g -> i-k -> n"
"a -> b -> d-e -> f-g -> i -> l"
"a -> b -> d-e -> f-g -> i -> l-m"
"a -> b -> d-e -> f-g -> i -> l-m-n"
"a -> b -> d-e -> f-g -> i -> m"
"a -> b -> d-e -> f-g -> i -> m-n"
"a -> b -> d-e -> f-g -> i -> n"
"a -> b -> d-e -> f-g -> k"
"a -> b -> d-e -> g"
"a -> b -> d-e -> g-h"
"a -> b -> d-e -> g-h -> i"
"a -> b -> d-e -> g-h -> i-k"
"a -> b -> d-e -> g-h -> i-k -> l"
"a -> b -> d-e -> g-h -> i-k -> l-m"
"a -> b -> d-e -> g-h -> i-k -> l-m-n"
"a -> b -> d-e -> g-h -> i-k -> m"
"a -> b -> d-e -> g-h -> i-k -> m-n"
"a -> b -> d-e -> g-h -> i-k -> n"
"a -> b -> d-e -> g-h -> i -> l"
"a -> b -> d-e -> g-h -> i -> l-m"
"a -> b -> d-e -> g-h -> i -> l-m-n"
"a -> b -> d-e -> g-h -> i -> m"
"a -> b -> d-e -> g-h -> i -> m-n"
"a -> b -> d-e -> g-h -> i -> n"
"a -> b -> d-e -> g-h -> k"
"a -> b -> d-e -> g -> i"
"a -> b -> d-e -> g -> i-k"
"a -> b -> d-e -> g -> i-k -> l"
"a -> b -> d-e -> g -> i-k -> l-m"
"a -> b -> d-e -> g -> i-k -> l-m-n"
"a -> b -> d-e -> g -> i-k -> m"
"a -> b -> d-e -> g -> i-k -> m-n"
"a -> b -> d-e -> g -> i-k -> n"
"a -> b -> d-e -> g -> i -> l"
"a -> b -> d-e -> g -> i -> l-m"
"a -> b -> d-e -> g -> i -> l-m-n"
"a -> b -> d-e -> g -> i -> m"
"a -> b -> d-e -> g -> i -> m-n"
"a -> b -> d-e -> g -> i -> n"
"a -> b -> d-e -> g -> k"
"a -> b -> d-e -> h"
"a -> b -> e"
"a -> b -> e -> f"
"a -> b -> e -> f-g"
"a -> b -> e -> f-g-h"
"a -> b -> e -> f-g-h -> i"
"a -> b -> e -> f-g-h -> i-k"
"a -> b -> e -> f-g-h -> i-k -> l"
"a -> b -> e -> f-g-h -> i-k -> l-m"
"a -> b -> e -> f-g-h -> i-k -> l-m-n"
"a -> b -> e -> f-g-h -> i-k -> m"
"a -> b -> e -> f-g-h -> i-k -> m-n"
"a -> b -> e -> f-g-h -> i-k -> n"
"a -> b -> e -> f-g-h -> i -> l"
"a -> b -> e -> f-g-h -> i -> l-m"
"a -> b -> e -> f-g-h -> i -> l-m-n"
"a -> b -> e -> f-g-h -> i -> m"
"a -> b -> e -> f-g-h -> i -> m-n"
"a -> b -> e -> f-g-h -> i -> n"
"a -> b -> e -> f-g-h -> k"
"a -> b -> e -> f-g -> i"
"a -> b -> e -> f-g -> i-k"
"a -> b -> e -> f-g -> i-k -> l"
"a -> b -> e -> f-g -> i-k -> l-m"
"a -> b -> e -> f-g -> i-k -> l-m-n"
"a -> b -> e -> f-g -> i-k -> m"
"a -> b -> e -> f-g -> i-k -> m-n"
"a -> b -> e -> f-g -> i-k -> n"
"a -> b -> e -> f-g -> i -> l"
"a -> b -> e -> f-g -> i -> l-m"
"a -> b -> e -> f-g -> i -> l-m-n"
"a -> b -> e -> f-g -> i -> m"
"a -> b -> e -> f-g -> i -> m-n"
"a -> b -> e -> f-g -> i -> n"
"a -> b -> e -> f-g -> k"
"a -> b -> e -> g"
"a -> b -> e -> g-h"
"a -> b -> e -> g-h -> i"
"a -> b -> e -> g-h -> i-k"
"a -> b -> e -> g-h -> i-k -> l"
"a -> b -> e -> g-h -> i-k -> l-m"
"a -> b -> e -> g-h -> i-k -> l-m-n"
"a -> b -> e -> g-h -> i-k -> m"
"a -> b -> e -> g-h -> i-k -> m-n"
"a -> b -> e -> g-h -> i-k -> n"
"a -> b -> e -> g-h -> i -> l"
"a -> b -> e -> g-h -> i -> l-m"
"a -> b -> e -> g-h -> i -> l-m-n"
"a -> b -> e -> g-h -> i -> m"
"a -> b -> e -> g-h -> i -> m-n"
"a -> b -> e -> g-h -> i -> n"
"a -> b -> e -> g-h -> k"
"a -> b -> e -> g -> i"
"a -> b -> e -> g -> i-k"
"a -> b -> e -> g -> i-k -> l"
"a -> b -> e -> g -> i-k -> l-m"
"a -> b -> e -> g -> i-k -> l-m-n"
"a -> b -> e -> g -> i-k -> m"
"a -> b -> e -> g -> i-k -> m-n"
"a -> b -> e -> g -> i-k -> n"
"a -> b -> e -> g -> i -> l"
"a -> b -> e -> g -> i -> l-m"
"a -> b -> e -> g -> i -> l-m-n"
"a -> b -> e -> g -> i -> m"
"a -> b -> e -> g -> i -> m-n"
"a -> b -> e -> g -> i -> n"
"a -> b -> e -> g -> k"
"a -> b -> e -> h"
"a -> c"
"a -> c-o"
"a -> o"
Results (plus head node):  412

Could anyone tell me whether the problem I'm describing is a real/existing algorithm, and how bad/far off my solution is so far?
Thank you!

@GavinRay97 unfortunately I have to close this issue request because it is not related to current repository. I think you might try to use Q&A web-sites like https://stackoverflow.com/ and https://www.quora.com/ to find the answer.


Credential error when using secrets for MailSend. Running MailSend with hard coded credentials works.

Expected Behavior
The plugin io.kestra.plugin.notifications.mail.MailSend should properly decode my username and password which are stored as secrets via a .env_encoded file.
I have validated that my credentials are being ingested in two ways:
1 - Ran the same failing workflow with hard coded credentials instead of having it decode the secrets but added {{ secret('EMAIL_USERNAME') }} and {{ secret('EMAIL_PASSWORD') }} into the body of the email. This email sent successfully and had the properly decoded credentials in the email body as expected.
2 -  Ran a separate flow to log the credentials after decoding. While the code listed below does appear to have properly decoded the values and logged them, I am unable to verify with certainty as the result is masked.
id: secret_test
namespace: test_namespace
tasks:
  - id: hello
    type: io.kestra.plugin.core.log.Log
    message:
      - Username = {{ secret('EMAIL_USERNAME') }}
      - Password = {{ secret('EMAIL_PASSWORD') }}`

Result:

Actual Behaviour
For the send_email error handler listed in the example flow below, a "535 Authentication credentials invalid" error is thrown.

Steps To Reproduce

Environment: Docker Desktop for Windows 11 with a Kestra instance on the latest build backed by a Postgres instance which are both spun up via Docker Compose.

Config: .env_encoded file in the following format.

     SECRET_EMAIL_USERNAME=<redacted>
     SECRET_EMAIL_PASSWORD=<redacted>

Run the flow listed in the example flow below.
Receive error "535 Authentication credentials invalid."

Environment Information

Kestra Version: 0.19.2
Plugin version:
Operating System (OS / Docker / Kubernetes): Docker
Java Version (If not docker):

Example flow
id: myflow
namespace: test_namespace

tasks:
  - id: fail
    type: io.kestra.plugin.scripts.shell.Commands
    runner: PROCESS
    commands:
      - exit 1

errors:
  - id: send_email
    type: io.kestra.plugin.notifications.mail.MailSend
    from: <redacted>
    to: <redacted>
    username: "{{ secret('EMAIL_USERNAME') }}"
    password: "{{ secret('EMAIL_PASSWORD') }}"
    host: <redacted>
    port: 465 # or 587
    subject: "Kestra workflow failed for the flow {{flow.id}} in the namespace {{flow.namespace}}"
    htmlTextContent: "Failure alert for flow {{ flow.namespace }}.{{ flow.id }} with ID {{ execution.id }}"

Hello @dspang , did you encode the secret in base64 like mentioned in the doc ?

I did. This is the conversion script I used:

I have also successfully decoded from base64 manually and within Kestra. Bloody strange.

Ok thanks for the update
Could be the same issue as https://github.com/kestra-io/plugin-fs/issues/156

@dspang are you still facing the issue? I'm not able to reproduce on last version


fix: Add work-dir option to ckcp deployment script

Since the directory is automatically removed when the script is
executed, use a tmpdir by default and give the option to the user to
specify an alternate directory.
Removed unused workspace.yaml
Format script (remove double spaces, improve indentation).
Signed-off-by: Romain Arnaud<EMAIL_ADDRESS>

@fgiloux LGTM. If you're fine with the other comments that shows resolved now, please go ahead and merge.


[bug] Childpages outside of rootPage model json don't render with SPA 2.0

Describe the bug
Before SPA 2.0, once the ModelManager recognizes there is root page configured, it retrieves the model.json along with other child pages, if the user clicks on a link that points to another page that's not available in the initial load, it will request the model.json and eventually render that page too. With SPA 2.0, that behavior is lost
Package version
2.0.x
To Reproduce
Steps to reproduce the behavior:

Use the WKND SPA app from React/latest branch, and install the same on AEM
Launch the app either inside AEM using wcmmode=disabled or run the app locally on 3000 port
From the hamburger navigation, click on Page 3, it loads fine even though the initial json doesn't contain this page
Now use the React/2.0.0 branch, and install the same on AEM
Launch the app in the same way as earlier
Now you will see a blank screen when you click on Page 3 from hamburger navigation

Expected behavior
Behavior should be consistent with v1.x implementation as this is a very basic usecase, and shouldn't force us to write a custom implementation. Alternatively a hook or a helper to accomplish the same is also fine i.e. similar to withModel wrapper we had in v1.x
Screenshots
If applicable, add screenshots to help explain your problem.
Expected behavior and working behavior both locally & on AEM (Open Home Page, click on Page 3 link of hamburger menu)
Note: Only screenshot of local app is shared. Didn't share AEM app screenshot as we know it works before SPA 2.0

Changed behavior in SPA 2.0
Note: Only screenshot of AEM app is shared, Can share local app screenshot if required.

Additional context
Add any other context about the problem here.

Same problem here. If you try to refresh the page and get en.model.json together with page-3.model.json it works. But when requesting  page-3.model.json at a later time ( i.e. not at page loading) it renders a blank page.
Did you find any work around except getting all pages at root loading?


Plurals not working for other language

Hello
I've try to use plural option in my translations. While it is working just fine with English, it does not work with Polish.
Is there any settings which allow to set that for given language allow plurals?
Thanks a lot!

Code example:
English:
"selected_dice_count": "Selected __count__ die",
"selected_dice_count_plural": "Selected __count__ dice"

Polish:
"selected_dice_count": "Wybrano __count__ kość",
"selected_dice_count_plural": "Wybrano __count__ kości"

+1


Move databases to precompiled kernels

The current performance database is in binary format, and it is now approaching 80MB.
There is a max limit of 100MB on GitHub, so we will need to do tricks to support it if we are to continue.
I propose moving all databases to precompiled kernels packages.
The alternative is to break up all databases along architectures to reduce individual database file sizes.

In theory Git LFS as suggested by @ce1adon is an ideal solution, since it would allow us to bring back the pre-compiled kernels package in the repo as well (no more separate package and simpler embedded package as well). However, when we tested it for a separate repo, it needs installation of the separate package ( the git lfs package) and it would not pull down the db file automatically and you need additional steps to be able to get the binary files.
@ce1adon do you agree, or do you think its doable ?

When using git lfs, will we still be able to download the source tarballs from GH?

I propose moving all databases to precompiled kernels packages.

This makes it difficult to use MIOpen when building and installing from source as the kernels package and webserver is not publicly available nor is it easily installable.

The alternative is to break up all databases along architectures to reduce individual database file sizes.

I thought we already do that?

The alternative is to break up all databases along architectures to reduce individual database file sizes.

I thought we already do that?
For everything except perf db

For everything except perf db

Bingo.
But really I think it may be better to kick the can down there road and split up the performance database across separate architectures.

I think it may be better to kick the can down there road and split up the performance database across separate architectures.

Can you please clarify a bit?
Do we want to split the DBs now and avoid storing these files separately ?
Or
Do we want to just move the file away now and not have to deal with this again and again?
Or
Both ?

Split the performance database miopen.db across architectures.
We will have to revisit this again, but the complexity of moving the db to the precompiled kernels seems not fantastic....

@daniellowell shall I mark this as on hold?

@daniellowell shall I mark this as on hold?

Will create a ticket to split the perf-db into arch. specific files.


Using the correct architecture

Hi,
I'm unsure about the correct architecture when using a saga (state machine). If I have an entity whose state I want to capture, should the saga contain all the properties of that entity or just an id and the state? And then store the entity itself separately in its entirety.
Kind regards,
Peter

@ploef If you can, please use Discord (https://discord.gg/xqym37VMZM) for questions and keep GitHub issues for bugs or the back log. Thank you.
A saga is just a temporary workflow. If the entity data is permanent, I think I'd just opt to reference the primary key of the entity in the saga and look up the entity later. Unless you have performance concerns about the extra data lookup that is.

Hi, that's the road I took now. Thanks for the backup. 😄
And I will start using discord from now on.


[DE DateTimeV2] " auf " incorrectly recognizes date and time separately

Describe the bug
If someone refers to a date and additionally a time with the preposition "auf", LUIS does not recognize a datetime entity, but a date and a time entity separately.
To Reproduce
Steps to reproduce the behavior:

Make a LUIS model with prebuilt entity "datetimeV2"
Type e.g. 'Stelle Wecker am 27. Oktober auf 9:00 Uhr' (CET)
See error as in "Sample output for the input above"

Expected behavior for the input above
"entities": {
                "date": [
                  {
                    "value": "2019-10-27T08:00:00Z",
                    "literal": "27.Oktober um 9:00 Uhr"
                  },
                  {
                    "value": "2020-10-27T08:00:00Z",
                    "literal": "27.Oktober um 9:00 Uhr"
                  },
                  {
                    "value": "2019-10-27T20:00:00Z",
                    "literal": "27.Oktober um 9:00 Uhr"
                  },
                  {
                    "value": "2020-10-27T20:00:00Z",
                    "literal": "27.Oktober um 9:00 Uhr"
                  }
                ],

Sample output for the input above
            "entities": {
              "date": [
                {
                  "value": "2019-10-27",
                  "literal": "27.Oktober"
                },
                {
                  "value": "2020-10-27",
                  "literal": "27.Oktober"
                },
                {
                  "value": "T08:00:00Z",
                  "literal": "9:00 Uhr"
                },
                {
                  "value": "T20:00:00Z",
                  "literal": "9:00 Uhr"
                }
              ],

Platform (please complete the following information):

Platform: [e.g. .NET, JavaScript, Python, Java]
Environment: LUIS
Version of package [e.g. v<IP_ADDRESS>]

Hi @mujdricza,
this behaviour is already currently supported in the recognizers. Sometimes there is a gap between implementation of specific features and the time LUIS updates the model. Model update on the LUIS side is underway, but we don't have visibility on the ETA.
For any issues, you can validate them with the code in the repository by running the SimpleConsole project and setting the language to the desired target language. This way we can pinpoint if there's indeed a bug or a gap in consumption.
Thanks!

Hi @tellarin,
thank you for the reply, and for the hint on SimpleConsole.
Best regards
mujdricza


preg_replace not working properly?

Greetings, Dave!
I'm having an issue with
$route = '{controller}/{action}';
$route = preg_replace('/\//', '\\/', $route);
// Convert variables e.g. {controller}
$route = preg_replace('/\{([a-z]+)\}/', '(?P<\1>[a-z-]+)', $route);
// Convert variables with custom regular expressions e.g. {id:\d+}
$route = preg_replace('/\{([a-z]+):([^\}]+)\}/', '(?P<\1>\2)', $route);
// Add start and end delimiters, and case insensitive flag
$route = '/^' . $route . '$/i';
echo $route;
my output is:
/^(?P[a-z-]+)\/(?P[a-z-]+)$/i
however, in your tutorial it says that output should be different, my output doesn't insert names of backreferences...
thanks for your attention:)

Hi Dmitry,
it took me a while to figure this one out - it is actually working, but what's happening is you're printing the processed route out to the browser using this code:
echo $route;
The route that it's printing is this:
/^(?P<controller>[a-z-]+)\/(?P<action>[a-z-]+)$/i
but what's happening is the browser thinks that <controller> and <action> are HTML tags, so it tries to process them, and in doing so removes them. To see the actual route, you can either use the htmlspecialchars function:
echo htmlspecialchars($route);
or simply view the source of the page.
I hope that helps!
Cheers,
Dave

Wow, THANKS, Dave! I was so frustrated and couldn't find any answer in the internet...
You are my savior, thanks for helping me out, you are the best teacher ever!!!


Are string functions supported?

I just tried to do a str-slice($color,1) but it won't compile to anything other than str-slice(#f00,1)
Should the string functions already work or does anybody have an idea what i'm doing wrong?

It doesn't look like it, no.

No.  See #191


try what claude gave me

#143  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


add libzip4

All Submissions:

[x] Have you ensured there aren't other open Pull Requests for the same update or change?
[x] Have you created a new branch for your changes and PR from that branch and not from your master branch?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?

This will make any future OpenRCT2 egg on Pterodactyl possible, as it's required by the app. Thank you @gOOvER for the PR.


SAML and SAML2 Extensibility Testing: Issuer

SAML and SAML2 Extensibility Testing: Issuer

Adjusted JWT's issuer extensibility work to simplify the creation of the stack frames for comparison, and to assert that the stack traces are present in the generated exceptions, and they match the expectations.
Added exception handling for the issuer validation delegates on SAML and SAML2, in case an override were to throw.
Added extensibility tests for issuer validation to SAML and SAML2.

Note: This work is based on https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/pull/2987 with some adjustments made to the work agreed on there.
Part of #2711

Re-issuing extensibility PRs with better alignment.


aardvark,network-update: no error when aardvark config is not there

network update maybe called by podman when no container is running in such case no aardvark config is present so netavark must return as-in without throwing error since podman database is still updated.

@Luap99 PTAL

@baude @mheon Merge me pls.

/lgtm


Inertia compatibility

I'm using the middleware 'forbid-banned-user', which is working as expected but inertiajs has a little problem with redirects, you must specify the redirect response code 303 which is explained here, it would be useful to have like a setting that enables/disables the inertia fix, like:
// ...
'inertia-fix' => false, // default false, you can change it to true.
// ...

and if it's true you will add 303 as redirect response code. I would do it by myself but I'm a bit busy.

Middleware my be on your side, just copy-paste it to your app

I already did, just for future users with the same issue it would be great to see :)

Thank you for the contribution @Im-Fran! Laravel Ban v4.6.0 has been released with Inertia support. You are in contributors list now 🎉

Awesome! Thanks for the awesome package!


Updating the huggingface-hub version required for optimum-habana

What does this PR do?
Updates the huggingface-hub version range supported for optimum-habana installation
Previously supported versions are < 0.23.0, this PR will update it to <= 0.23.1

Fixes # (issue)
The optimum-habana installation issue, which fails complaining that Requirement.parse('huggingface_hub<=0.23.0'), {'optimum-habana'})
This is because datasets python package installs huggingface-hub latest version which is 0.23.1 and this causes a mismatch while installing optimum-habana which requires < 0.23.0
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

This pull request is not required


Fold step logs into main log

Currently the docker runner collects step logs, but these are hidden on the console until the step is complete.  It would be convenient to stream them to console as progress is made within a step.

tail the step logs while the step container is running
append step log lines to the main log (file and console) immediately
save the whole step log in the execution record (same as now)

Did this in fb64152a73039eace7594d7d13260dada3b927f7


Special tag guide is not present when you edit predefined reply

Special tag line with Hesk variable for name, mail, ecc is only available if you make new predefined reply, not if you edit it by selecting an existent reply.
Can be useful add also in edit mode.
Step to reproduce:

Canned responses
Select a canned response
the tag sentence for help to insert special tag is now hidden [Insert special tag (will be replaced with customer info):]

Should be an easy fix. In manage_canned.php, move </span> on line 300 to be right after </textarea> on line 279.


chore: bdd-ghfjxy-import-1584796803 to 0.0.1

chore: Promote bdd-ghfjxy-import-1584796803 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Improve box_ examples in docs to be clearer what should or should not be sent to the other side

I suggest to clarify these examples, a function call should be used so it's clearer what should be sent and what should be secret.
// Encrypt
send_to_them(/* data that's safe to send */);

fn send_to_them(/* data that's safe to send */) {
    // Decrypt
}

Please send a pull request and I'll merge.

Please send a pull request and I'll merge.


adds a configurable timeout variable to the client

why
currently all requests using this lib have a timeout of 2 minutes (120 seconds)
what
the client is now configurable like so:
from mixpanel_query.client import MixpanelQueryClient
cli = MixpanelQueryClient(<your api key>, <your api secret>, timeout=5)

if no timeout is provided, it will result in 120 second timeout default

This looks good to me.
Thanks @thesmallestduck


Thoughts: loss of types

When playing around with the example application I kind of stumbled upon a potential issue with the  implementation itself:
Having a DependencyContainer register a service:
public extension DependencyContainer {
    static var app: DependencyContainer {
        return DependencyContainer { container in
            container.register(as: .prototype) {
                 // This will register LocalStorage explicitly with it's protocol
                 LocalStorage() as LocalStorageProtocol
            }
        }
    }
}

The type of the registered service/component kind of gets lost when using the inject() method:
As a developer I may not know what type of services are registered :thinking:
class ModalViewController: UIViewController {
    let storage: LocalStorageProtocol = inject() // This will compile and will run
    let storage: LocalStorage = inject() // This will compile but won't run

    @IBAction func close(_ sender: Any) {
        dismiss(animated: true)
    }
}

I'm not sure if that's possible from my current understanding of the DIKit code but having something like inject(ofType: LocalStorage) could help? Maybe the resolve() function could be improved to use stacks of components/instances that are better typed that using a String representation? 🤔

inject(ofType: T) does not make a lot of sense because the method currently is generic and the type gets inferred by the type of the variable. You would also need to use type(of: LocalStorage), thus resulting in the ugly form of:
class ModalViewController: UIViewController {
    let storage: LocalStorageProtocol = inject() // This will compile and will run
    let storage: LocalStorage = inject(type(of: LocalStorageProtocol))  // This will compile and will run
    let storage: LocalStorage = inject(type(of: LocalStorage)) // This will compile but won't run

    @IBAction func close(_ sender: Any) {
        dismiss(animated: true)
    }
}

In the third example, it also would compile but won't run. To avoid those cases we would need some additional dependency graph generation and throw compile errors of the graph is not fulfilled.

What I thought about was forcing the developer to register a protocol (T == Protocol) in order to avoid registrations of pure components. This would then throw compile errors when using the wrong protocol, i.e. `Backend() as LocalStorageProtocol).
But sadly, this is not possible with Swift as of now.
But coming back to: let storage: LocalStorage why is it bad to use the class and not the protocol here. We want to be able to change the actual implementation (e.g. with mock objects) for testing purpose.
Maybe you come up with a different approach?


Edge Schema indexes M2M

I have a case where I want the Edge Schema to not generate this index here. https://github.com/ent/ent/blame/6db3e0a59b800e4658bbc3feacc72356838c61d8/entc/gen/graph.go#L568
The example schema is that I have ents for Words and Sentences, and I want to put a Through Edge M2M Word-Sentence through an ent SentenceWord. However, the same Word may appear more than once in a Sentence, so I want the Unique index on SentenceWord to be (SentenceID, WordID, Position). The edge schema graph code does not accept this 3-tuple to be the primary ID, because it does not have exactly 2 elements, and I do not want to define a Unique index on (SentenceID, WordID) or (WordID, SentenceID).
I will hack this out locally to accept an index/primary ID on this 3-tuple, but are you able to think of reasons why this would not be safe to upstream?

Closing this due to inactivity, but please feel free to reopen or join our Discord community if you need further assistance with this issue 😎


fix h2 examples

results for 1.9 and 2.0 were divergent, now they match
fixed some whitespace, made some of the loops more explicit

@ryankarle

this has conflicts

conflicts have been fixed

I cherry-picked the squashed commit onto master manually


Does not work for me

I have tried to run php bin/magento iazel:regenurl
Here you have  an undefined variable: catch(\Exception $e) {                 $out->writeln("<error>$pid</error>");             }
But that is not a problem, I have fixed that.
The main issue is, that now all my URL-s are un-SEO-d.
I hade nice SEO urls, but now they are gone...
Am I missing something?

Sorry, I set the store id and now it is OK.

Oops, my bad for the undefined variable! I'll fix it now and happy it worked in the end :)


accent-color can reduce the style size of the current input check box, radio button, and slider.

https://developer.mozilla.org/en-US/docs/Web/CSS/accent-color

Closing it, @ZhangChengLin please use the right template for new features by adding some description, motivation and context.


erlang23: remove

Description of changes
depends on openssl_1_1 and is EOL
Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

This looks good to me, leaving this open 24h more, just in case anyone else wants to have a look at it.


Pass ID to Soil GA module

Implements https://github.com/roots/soil/pull/58

since this will automatically output GA code (with UA-XXXXXX as the ID) if you update to the latest soil (after https://github.com/roots/soil/pull/58 is merged)...
i think we could go ahead and just remove add_theme_support('soil-google-analytics'); from lib/config.php, essentially removing any mention of GA from the theme

Soil won't output anything related to GA unless add_theme_support('soil-google-analytics', 'UA-XXXX-Y') is added to the theme.
If $gaID is falsey, Soil won't output anything.
Default $gaID is an empty string, which is falsey.


readOnly and writeOnly not respected with allOf

If you have something like this:
type: object
required: [id]
properties
  id:
    allOf:
      - $ref: "#/id"
      - readOnly: true

then not passing "id" through a write request (e.g. POST) is not possible.

I thought you could not extend reference in OpenAPI like this:
https://swagger.io/docs/specification/using-ref/
It says 'Any sibling elements of a $ref are ignored.'

@pjordaan, this is not a sibling. A sibling has to be on the same object, but in allOf, they are two different array elements. You can see a valid example here:
https://swagger.io/docs/specification/data-models/oneof-anyof-allof-not/#allof

ah sorry I overlooked the - before readOnly.


Added tc:Scale down MongoDB to repl=0 when backups/restores are in Progress

What this PR does / why we need it:
Automate testcase : https://portworx.testrail.net/index.php?/tests/view/22623383
Which issue(s) this PR fixes (optional)
Closes #PA:699
Special notes for your reviewer:
Aetos: https://jenkins.pwx.dev.purestorage.com/job/Users/job/Sumit/job/Custom-Pipelines/job/px-backup-on-demand-system-test-byoc/313/consoleFull
Log after all the changes: https://jenkins.pwx.dev.purestorage.com/job/Users/job/Sumit/job/Custom-Pipelines/job/px-backup-on-demand-system-test-byoc/338/consoleFull

Only request is to run this test case once followed by some other test case. As in, provide the focus test as ScaleMongoDBWhileBackupAndRestore,RestartBackupPodDuringBackupSharing just to check that this test case does not have any impact on the subsequent tests. Rest looks good. Will approve once this is done.

Only request is to run this test case once followed by some other test case. As in, provide the focus test as ScaleMongoDBWhileBackupAndRestore,RestartBackupPodDuringBackupSharing just to check that this test case does not have any impact on the subsequent tests. Rest looks good. Will approve once this is done.

Sure done: http://aetos.pwx.purestorage.com/resultSet/testSetID/123268