Cmake does nothing, simply returns

Hi,
I've installed cmake via pacman but nothing happens when I run it. I've tried --version and --help but get the same result. I've tried both msys/cmake 3.2.3-1 and mingw64/mingw-w64-x86_64-cmake 3.3.2-2 in combinations.
I have base-devel installed and the following make version:
λ make --version
GNU Make 4.1
Built for x86_64-pc-msys
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

I'm definitely defaulting to the mingw64 version:
λ which cmake
/mingw64/bin/cmake

I've also installed the cmake extras just in case but saw no change which isn't unexpected.
Other info:
OS: Windows 10 x64
There is a windows version of cmake on the system but it's lower in the PATH hierarchy and I get the same results whether it's installed or not.
Any ideas?

Strange. Where's your MSYS2 root directory?

It is, everything else has worked fine.
MSYS2 is located at C:\msys64

Can you paste the contents of log.txt after strace cmake.exe > log.txt 2>&1 here please?

log.txt
There is an interested few lines around line 981.
CMake Error: Could not find CMAKE_ROOT !!!
CMake has most likely not been installed correctly.
Modules directory not found in
/mingw64/share/cmake-3.2.3 2834 2513202 [main] cmake 10912 write: 152 = write(2, 0x60005CCD8, 152)

That's actually OK, strace.exe unfortunately affects the thing it observes. This is something that we need to fix.

Current mingw make is 3.3.2 so I wonder why it try to find /mingw64/share/cmake-3.2.3

Try without conemu.

@Alexpux , I currently have mingw and msys versions installed, but I get the same error if I have either or both installed.
λ pacman -Ss cmake
mingw32/mingw-w64-i686-cmake 3.3.2-2
    A cross-platform open-source make system (mingw-w64)
mingw32/mingw-w64-i686-extra-cmake-modules 5.12.0-1
    Extra CMake modules (mingw-w64)
mingw64/mingw-w64-x86_64-cmake 3.3.2-2 [installed]
    A cross-platform open-source make system (mingw-w64)
mingw64/mingw-w64-x86_64-extra-cmake-modules 5.12.0-1 [installed]
    Extra CMake modules (mingw-w64)
msys/cmake 3.2.3-1 [installed]
    A cross-platform open-source make system

@mingwandroid
Same issue within the mingw shell mingw64_shell.bat
Aha! It seems on in the msys2_shell.bat

My conemu task is as follows:
set MSYSTEM=MINGW64  & "C:\msys64\usr\bin\bash.exe"  --login -i -new_console:t:Console

I guess this is the MSYSTEM variable as it also fails in mingw64_shell.bat

That should be fine though!

Ok, it's fine in conemu if I set MSYSTEM to MSYS
set MSYSTEM=MSYS  & "C:\msys64\usr\bin\bash.exe"  --login -i -new_console:t:Console
which isn't a solution but it's a pretty big clue I guess.

In general other mingw64 stuff works? I'll have to try to help you after my work I think.

Given Alexs comment, maybe the mingw shell is trying to use the msys version. I'm not even sure if that would be a problem but it's all I can think of. Having said that, the binaries each shell is using seem to be correct:
MINGW64 ~
λ which cmake
/mingw64/bin/cmake

MSYS ~
λ which cmake
/usr/bin/cmake

Everything else works very well, I use gcc daily and gdb often. This is the only issue I've have with msys2.

Another lead:
The trace log.txt shows
    2       2 [main] cmake (8392) **********************************************
  276     278 [main] cmake (8392) Program name: C:\msys64\usr\bin\cmake.exe (windows pid 8392)
   42     320 [main] cmake (8392) OS version:   Windows NT-10.0
   48     368 [main] cmake (8392) **********************************************

which I think is the msys cmake (3.2.3)
I'd expect
MINGW64 ~
λ which cmake
/mingw64/bin/cmake

to run C:\msys64\mingw64\bin\cmake.exe

Ah, that was my bad instructions, please do: strace C:/msys64/mingw64/bin/cmake.exe instead.

Shouldn't cmake default to /mingw64/bin anyway?
Ok strace /mingw64/bin/cmake > log.txt 2>&1 shows a different error. It looks like the cmake binary is missing a shared object or symbol.

Ok, you need to drop dependency walker into your mingw64/bin folder and launch it from msys64_shell.bat, then load cmake.exe into that, and figure out what DLL is getting loaded from somewhere in your path outside of MSYS2.

Do you mean mingw64_shell.bat? Cmake works fine in the msys64_shell.
I'm not sure how to read the dependency walker output, there seems to be a lot of warnings and yellow icons even when I run something that works fine.
I did notice the same missing function though when I ran:
MINGW64 /mingw64/bin
λ ./depends ./cmake.exe

I've attached the output just in case you find it useful. The Dll looks like it comes from msys:

Ok, compare against:
sha1sum /mingw64/bin/libstdc++-6.dll
d9578495bf43c3553702c9c31c4d287e288a1def */mingw64/bin/libstdc++-6.dll

pacman -Ss mingw-w64-x86_64-gcc-libs
mingw64/mingw-w64-x86_64-gcc-libs 5.2.0-4 (mingw-w64-x86_64-toolchain) [installed]
    GNU Compiler Collection (libraries) for MinGW-w64

This might be interesting, I have my gcc and gcc-libs on ignore (probably should've remembered that earlier, sorry!) as I have to stay < 5
I suppose cmake is compiled against a newer libc++?
MINGW64 /mingw64/bin
λ sha1sum libstdc++-6.dll
e1da77aea61289784e68af382b4f325f9b56884b *libstdc++-6.dll

MINGW64 /mingw64/bin
λ pacman -Ss mingw-w64-x86_64-gcc-libs
mingw64/mingw-w64-x86_64-gcc-libs 5.2.0-4 (mingw-w64-x86_64-toolchain) [installed: 4.9.2-5]
    GNU Compiler Collection (libraries) for MinGW-w64

MINGW64 /mingw64/bin
λ gcc --version
gcc.exe (Rev5, Built by MSYS2 project) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

MSYS2 is all about rolling releases and being close to the cutting edge. The ignore feature of ArchLinux's Pacman is strongly discouraged and should only ever be used for 'leaf' nodes of the (binary) dependency graph.
So yeah, you can't mix < 5 GCC and GCC libs and continue to update any other MSYS2 packages that link to those (in theory pretty much any of them, esp. C++ ones). If you need some old GCC then you should build that yourself into a different prefix but you're then off treading your own path in a world of incompatible-with-MSYS2-libraries.
Mentioning this sooner would've been good, but no worries.
Out of interest, why must you stay < 5?

Just because we have a lot of COTS compiled against 4 and somebody on the team had some ABI problems trying to compile using gcc 5. The target platform will be the v4 ABI so it was just simpler to hold off.
Honestly, I didn't look much further into it other than discovering it should be possible to compile with gcc5 although a few extra flags related to ABI might be required and there still may be some issues.

I'm not sure what COTS are, but if you have binary software that you can't recompile and MSYS2 upgrades to a version of GCC that makes it incompatible with that software, then I think at that point you need to make your own mirror of MSYS2 or a server and forgo updating MSYS2 until you can arrange all the binary software to make the transition.
If you then need to compiler newer versions of other software against those frozen packages, e.g. CMake, the PKGBUILD / makepkg{,-mingw} system is hopefully user-friendly enough and we can help out if you run into problems.

Sorry, "Commercial off-the-shelf"; acronyms everywhere :)
Yes, that makes sense.
I've just built cmake from source and installed it in it's own sandbox for now. Seems ok.
Thanks for all the help!

I realise it's late, but the error shown in the dialog comes from cmake built with libstdc++ from gcc 5.1 onwards, trying to load libstdc++ from gcc 5.0 or older.
For details see Dual ABI in the gcc documentation. Specifically, if you set _GLIBCXX_USE_CXX11_ABI to false when building, the old ABI for std::list and std::string will be used.
However, that doesn't solve the problem of code built against newer stdlibc++ versions depending on newer features in that stdlibc++ version compared to the older version. It's only for ABI compatibility when you have other libraries than stdlibc++ built against the old ABI.
Which means that this ticket looks like a user-environment issue, and can probably be closed.

Absolutely.


Swiper instance

How do you get the swiper instance in order to manipulate it outside of the swiper component ?
I didn't see anything in the documentation which is actually an important part.
How do you deal with react rerender, let's say you have on each slide a onClick function, when you click a slide lets say #10, react rerender the swiper component to the begining of the slider #1.
I have tried componentShouldUpdate return false which prevent the rerender of the swiper, but i don't get the slide's state update that im expecting upon onClick()

@kidjp85 do you have an idea how to solve it ?

Hi @Hamatek
I think we have solution for this. If you wanna manipulate the swiper from outside of it, you can do like that
import React from 'react';
import Swiper from 'react-id-swiper';

export default class Example extends React.Component {
  constructor(props) {
    super(props)
    this.goNext = this.goNext.bind(this)
    this.goPrev = this.goPrev.bind(this)
    this.swiper = null
  }

  goNext() {
    this.swiper.slideNext()
  }

  goPrev() {
    this.swiper.slidePrev()
  }

  render() {
    const params = {
      pagination: '.swiper-pagination',
      paginationClickable: true,
      nextButton: '.swiper-button-next',
      prevButton: '.swiper-button-prev',
      spaceBetween: 30,
      runCallbacksOnInit: true,
      onInit: (swiper) => {
        this.swiper = swiper
      }
    }

    return(

        <Swiper {...params} />
        <button onClick={this.goNext}>Next</button>
        <button onClick={this.goPrev}>Prev</button>

    )
  }
}

So now you can easily manipulate it from outside :)

@kidjp85 Do we have a work around for this issue? Can't seem to get the instance of Swiper. Even tried how you did it on using the ref still doesnt work.

@kidjp85 When you get a chance, the documentation on react-id-swiper for "Example with manipulating swiper from outside swiper component" needs a tweak.
@mfundo Try the following code.
import React from 'react';
import Swiper from 'react-id-swiper';

export default class Example extends React.Component {
  constructor(props) {
    super(props)
    this.goNext = this.goNext.bind(this)
    this.goPrev = this.goPrev.bind(this)
    this.swiper = null
  }

  goNext() {
    if (this.swiper) this.swiper.slideNext()
  }

  goPrev() {
    if (this.swiper) this.swiper.slidePrev()
  }

  render() {
    const params = {
      pagination: {
        el: '.swiper-pagination',
        clickable: true
      },
      runCallbacksOnInit: true,
      onInit: (swiper) => {
        this.swiper = swiper
      }
    }

    return (

        <Swiper {...params} ref={node => { if (node) this.swiper = node.swiper }}>

Slide 1

Slide 2

Slide 3

Slide 4

Slide 5

        </Swiper>
        <button onClick={this.goNext}>Next</button>
        <button onClick={this.goPrev}>Prev</button>

    )
  }
}

@shiftedpixel Thanks mate...seems like the syntax of ref -> node is what I was tripping me up

Hi there everyone I got a quick solution for this
import React from "react";
import Swiper from "react-id-swiper";

const Slider = () => {
  const [swiper, setSwiper] = React.useState(null);

  let goNext = () => swiper.slideNext();
  let goPrev = () => swiper.slidePrev();

React.useEffect( () => {
    var mySwiper = document.querySelector(".swiper-container").swiper;
    setSwiper(mySwiper);
}, [])

 return (
    <Swiper {...params} />
<button
        className="swiper-nav-button swiper-button-prev"
        onClick={goPrev}
      />
 <button
        className="swiper-nav-button swiper-button-next"
        onClick={goNext}
      />
)
}

If you are using pure react you'd better avoid querySelector, here is just one more ref-variant from 2022
import React, { useState } from 'react'

import { Swiper, SwiperSlide } from 'swiper/react'

export const TestSlider = () => {
  const [swiperRef, setSwiperRef] = useState(null);

  return (

      <button onClick={() => swiperRef.slidePrev()}>←</button>
      <button onClick={() => swiperRef.slideNext()} >→</button>
      <Swiper onSwiper = {setSwiperRef}>
        <SwiperSlide>1</SwiperSlide>
        <SwiperSlide>2</SwiperSlide>
        <SwiperSlide>3</SwiperSlide>
        <SwiperSlide>4</SwiperSlide>
      </Swiper>

  )
}


Add support for custom build-prerequisites Dockerfile

This commit adds --prerequisites-dockerfile=[path] flag that allows injecting custom image in place of ue4-build-prerequisites.
Note that vanilla ue4-build-prerequisites is still build and available with ue4-base-build-prerequisites name, so user-provided Dockerfile can use it as a base.
Primary goal of this feature is to allow installation of platform SDKs before engine is checked out into image. Placing platform SDKs in to ue4-build-prerequisites image allows to reuse the same SDKs for multiple engine builds.

This seems like it would have "interesting" interactions with the 'export combined' mode. We might want to have a template that shows how to create a rational custom Dockerfile (i.e. difference in FROM calls between combined and separate mode), or block it; either one is clear.
Also, if I'm parsing this correctly, we copy the whole context directory before we run build. It's cheap for the built-in images, but might be expensive if the custom Dockerfile is pulling in, say a large console SDK image, which can easily be over a gigabyte.
In fact, I realise that copying the context directory is probably needless in all cases, as we're only doing it (AFAICT) so we can read the Jinja'd Dockerfile instead of the one in the tree, and as it happens, the Dockerfile doesn't need to be in the context, so we could template-process the Dockerfile into a tempfile, and use the in-tree context with the tempfile as the Dockerfile.
Unless that's something that BuildKit introduced; I realise now I've not checked this explicitly with the legacy builder, but I habitually include Dockerfile in my .dockerignore without issues on very old Docker daemons (pre-BuildKit). Anyway, this is probably a question distinct from this PR.

we copy the whole context directory before we run build.

This PR already stopped doing that, see https://github.com/adamrehn/ue4-docker/pull/260/files#diff-5e6ae65114a21de05700d099ef76362cd0b68348cefe4f45b2b17f9a99033509L94
Now only Jinja-processed Dockerfile is written to temp dir.
The separation of Dockerfile/context paths is the main reason of this PR size, I had to tweak several things that relied on them living in the same directory.

Ohh, whoops. I thought the shutil.copytree had moved because I saw it later in the PR, but I realise that's part of the 'export' mode. >_< Sorry for the noise.

There are some design questions here:

Should we only support path to Dockerfile (and infer context path from it) or we should support context path (and infer Dockerfile from it) PLUS support custom path to Dockerfile, like Docker itself does.
Should we always build both images (ue4-base-build-prerequisites/ue4-build-prerequisites) and use some empty stub for default ue4-build-prerequisites or we should go the way I did it, when there are no traces of ue4-base-build-prerequisites unless you use --prerequisites-dockerfile feature.

Okay, merging this as-is (but we will pretend that this feature is experimental and subject to change).


Feature request: Allow custom icons in top bar to be added

Right now Twitter and GitHub are supported by default, and one can add links that show up as text. It would be great if one could specify an icon for additional links. Doing this with the text-based links is problematic because the top bar is shared with other components and it's easy to run out of space.

I also have this use case. I want to add a button for opening a question on stack overflow and I would like to get it displayed with the stack overflow icon.


Register dependency substitutions for the root build of a composite

This PR partly solves #14564 for the case where the project is a root project of a composite. It's not doing the same for a single project, because registering the dependency substitutions opts-into "fluid" dependency resolution. Which leads to more dependency resolution during task graph analysis - see DefaultResolutionStrategy.resolveGraphToDetermineTaskDependencies().
In a composite build, this mode is always used in any case.
We might solve this use cases for a single project differently in a follow up PR (spike: #14633).

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.


ollama: update hash for 0.3.1

Description of changes
It appears that upstream ollama changed the v0.3.1 tag, breaking the build.

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Tested on x86_64-linux. This fixes ollama for me.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/framework16-cant-install-ollama-unstable-on-24-05/50077/3


Rasberry pi 4 not conecting to head unit

I am trying to compare the performance between Raspberry Pi Zero and Raspberry Pi 4. I created an SD card with the pre-built image provided here. The Raspberry Pi Zero works perfectly, while my phone connects to the Raspberry Pi 4 and I can see my Wi-Fi is connected to the Raspberry Pi but not to my head unit, whereas the Raspberry Pi Zero is working fine. For the Raspberry Pi 4, I used a USB Type-A to Type-A cable and a separate 5-volt power supply. Could you advise on troubleshooting this issue?

I am also using rpi 4 and it is working fine.  However, i used the usb c not the usb a of rpi 4.  The version 4.0 works perfectly for my subaru ascent.

I am trying to compare the performance between Raspberry Pi Zero and Raspberry Pi 4. I created an SD card with the pre-built image provided here. The Raspberry Pi Zero works perfectly, while my phone connects to the Raspberry Pi 4 and I can see my Wi-Fi is connected to the Raspberry Pi but not to my head unit, whereas the Raspberry Pi Zero is working fine. For the Raspberry Pi 4, I used a USB Type-A to Type-A cable and a separate 5-volt power supply. Could you advise on troubleshooting this issue?

Thank you very much working fine now. with USB C


build: changes

move preview to precommit
create dev ts config

Coverage remained the same at 99.452% when pulling 3c52eef3d29d9bb361490552f896d2fdefdbb1d7 on build-changes into 9e6a49ab0fb1329fa1b885cb7266dabf9e384920 on mxdvl/logger-generate-image.


Anyone working on an upgrade to iced 0.10?

I'll start upgrading to iced 0.10 if nobody is already working on it yet.
cc @greatest-ape

Sure, go ahead :-)If you’re using iced in a baseview plugin though, I’d like to warn you that iced 0.10 is not very stable in a that context. I haven’t switched over for OctaSine for that reason.On 1 Feb 2024, at 17:56, François Laignel @.***> wrote:
I'll start upgrading to iced 0.10 if nobody is already working on it yet.
cc @greatest-ape
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

No, it's a plain old desktop application.
Thanks for the heads-up!

Quick Question: Whats the Status on porting this library to a current version of iced? Has there already been done work on that?

I started an update but it resulted more demanding than what I initially estimated and was caught by life and work.
I don't think I'll be able to get back to it in the near future, so feel free to give it a try.


[REQUEST] Extensions-common suggestions

Referencing @FramboisePi issue https://github.com/Paperback-iOS/app/issues/255 here as a reminder so it can be followed and closed when someone look into these inconsistencies.

For The MangaStatus enumeration, here are the states which could be useful in my opinion:

Completed
Ongoing
Licensed
Dropped
Discontinued
Hiatus
Unknown

Would you mind consolidating this information into https://github.com/Paperback-iOS/app/issues/255? There's no need to spread it across multiple requests.
I don't have a problem with the enumeration suggestion! I'll look into getting that adjustment in for 0.6's release

Closed by Paperback-iOS/extensions-common@251cd12


Failures on [test] Remove use of List constructor in corelib tests

There are new test failures on [test] Remove use of List constructor in corelib tests.
The tests
corelib/list_removeat_test RuntimeError (expected Pass)

are failing on configurations
dartdevk-weak-linux-release-chrome

Note that this already fails on the non-nnbd bot.


Implement Tekton plugin

Tekton plugin for Backstage is still WIP

Created a local branch with necessary config changes to accommodate Tekton plugin, now just waiting for it to be added to backstage-showcase image.

Tekton plugin has been added to the backstage show-case


Create understanding-software-licenses.md

Description
Added a new community guide on software licenses.
Changes Include

[x] Knowledge Base Update 🧠

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings

@all-contributors please add @g0v1ndN  for content


Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses] v1.5.8 - Bugfix (inured to encumbrance)

Submission Checklist
Required

[x] The pull request title clearly contains the name of the sheet I am editing.
[x] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[x] The pull request makes changes to files in only one sub-folder.
[x] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

[x] This sheet has been made on behalf of, or by, the game's publisher.
[ ] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: <   >
[ ] This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

Changes / Description

Bugfix

Inured to encumbrance calculation
Passive combat skills behaviour

Character Sheet Info Roll20 Internal Use only.


NullPointerException on creating a repository on S3 with IAM role authentication

CrateDB version
5.4.2
CrateDB setup information
Single-node EC2 instance with an IAM role attached:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets",
                "s3:GetBucketLocation"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::crate-tutorials",
                "arn:aws:s3:::crate-tutorials/*"
            ]
        }
    ]
}

Problem description
Creating a snapshot repository isn't possible when using authentication through an attached IAM role.
Steps to Reproduce
Verify the role works on the EC2 instance:
[ec2-user@ip-172-31-29-98 ~]$ aws s3 ls s3://crate-tutorials
                           PRE indices/
                           PRE weather-data/
2022-12-13 09:37:38  556900250 power_consumption_dataset.json
2023-08-03 11:22:46  877067119 train-00000-of-00004-1a1932c9ca1c7152.json.gz

Attempting to create the repository on the same EC2 instance:
cr> CREATE REPOSITORY test TYPE s3 WITH ("bucket" = 'crate-tutorials');
RepositoryVerificationException[[test] Unable to verify the repository, [test] is not accessible on master node: NullPointerException 'Cannot invoke "com.amazonaws.auth.AWSCredentials.getAWSAccessKeyId()" because "this.credentials" is null']

org.elasticsearch.repositories.RepositoryVerificationException: [test] Unable to verify the repository, [test] is not accessible on master node: NullPointerException 'Cannot invoke "com.amazonaws.auth.AWSCredentials.getAWSAccessKeyId()" because "this.credentials" is null'
	at org.elasticsearch.repositories.blobstore.BlobStoreRepository.startVerification(BlobStoreRepository.java:1187)
	at org.elasticsearch.repositories.RepositoriesService$3.doRun(RepositoriesService.java:252)
	at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1623)

Actual Result
See above.
Expected Result
Successful creation of the repository as stated in the documentation:

If you are using Amazon S3 in conjunction with IAM roles, the access_key and secret_key parameters must be left undefined.

Thanks for reporting @hammerhead , NPE should be handled by #14686 but fixing this will uncover the original behaviour which is another exception:
RepositoryVerificationException[[test] Unable to verify the repository, [test] is not accessible on master node: AmazonS3Exception 'Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: K1XM9DBRJ090R; S3 Extended Request ID: hGMrBUr+ColeA76HPNhNi7ys4Lfk1T/iRwSdJdWmzwwKrjyYpQYI0ogVjhHomU=; Proxy: null)']
[2023-09-13T01:05:08,631][DEBUG][o.e.c.s.MasterService    ] [Pierre Avoi] took [0s] to notify listeners on successful publication of cluster state (version: 19, uuid: H13Vl5k8yzS_yAmCk3fw) for [delete_repository [test]]

could you double check if you see the same? This should be reproducible with 5.3.1.

Hi @jeeminso,
I tested on 5.3.1 and didn't see any exception there, the snapshot gets created successfully (restore also works):
cr> SELECT VERSION();
+----------------------------------------------------------------------------------------------------------------------------------+
| pg_catalog.version()                                                                                |
+----------------------------------------------------------------------------------------------------------------------------------+
| CrateDB 5.3.1 (built 8ef4c2b/2023-04-28T16:51:45Z, Linux 6.1.41-63.114.amzn2023.x86_64 amd64, OpenJDK 64-Bit Server VM 19.0.2+7) |
+----------------------------------------------------------------------------------------------------------------------------------+
SELECT 1 row in set (0.003 sec)
cr> CREATE REPOSITORY test TYPE s3 WITH ("bucket" = 'crate-tutorials');
CREATE OK, 1 row affected (0.285 sec)
cr> CREATE SNAPSHOT test.s1 ALL;
CREATE OK, 1 row affected (0.120 sec)

[ec2-user@ip-172-31-29-98 ~]$ aws s3 ls s3://crate-tutorials
                           PRE indices/
2023-09-13 06:12:45        496 index-0
2023-09-13 06:12:46          8 index.latest
2023-09-13 06:12:45        227 meta-uOwAcxlsQXKq5_L4in7GIw.dat
2023-09-13 06:12:45        222 snap-uOwAcxlsQXKq5_L4in7GIw.dat

Thank you @hammerhead

Confirmed fixed with crate-5.5.0-202309170026-5ba7838:
cr> CREATE REPOSITORY test TYPE s3 WITH ("bucket" = '...');
[2023-09-17T00:53:18,686][INFO ][o.e.r.RepositoriesService] [Schinhorn] put repository [test]
CREATE OK, 1 row affected (2.035 sec)


many "failed to reconcile resource"

Describe the bug
When creating a cluster (deploying the CR), I get many errors like :
"error":"failed to reconcile resource: updating cr with rack awareness info failed: fetching Node rack awareness labels failed: Node \"\" not found"

and
"error":"failed to reconcile resource: updating resource failed: Service \"kf-kafka2-112\" is invalid: [metadata.ownerReferences.apiVersion: Invalid value: \"\": version must not be empty, metadata.ownerReferences.kind: Invalid value: \"\": kind must not be empty]"

Steps to reproduce the issue:
upload a CR like :
apiVersion: banzaicloud.banzaicloud.io/v1alpha1
kind: KafkaCluster
metadata:
  labels:
    controller-tools.k8s.io: "1.0"
  name: kf-kafka2
spec:
  headlessServiceEnabled: false
  zkAddresses:
    - "test-zookeeper-client.alerting:2181"
  rackAwareness:
    labels:
      - "failure-domain.beta.kubernetes.io/region"
      - "failure-domain.beta.kubernetes.io/zone"
  oneBrokerPerNode: false
  brokerConfigs:
    - image: "wurstmeister/kafka:2.12-2.1.0"
      id: 111
      resourceReqs:
        limits:
          memory: "2Gi"
        requests:
          memory: "2Gi"
          cpu: "1"
      config: |
        auto.create.topics.enable=false
        delete.topic.enable=true
        num.partitions=32
        default.replication.factor=2
        offsets.topic.replication.factor=2
        transaction.state.log.replication.factor=2
        transaction.state.log.min.isr=1
        ProducerConfig.RETRIES_CONFIG=10
        ConsumerConfig.MAX_POLL_INTERVAL_MS_CONFIG=1000
        session.timeout.ms=200000
        num.recovery.threads.per.data.dir=8
      storageConfigs:
        - mountPath: "/kafka-logs"
          pvcSpec:
            accessModes:
              - ReadWriteOnce
            storageClassName: ssd
            resources:
              requests:
                storage: 256Gi
...

Expected behavior
there should not be any error
Additional context
K8s cluster on AKS 1.14.5
kubectl version
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:54Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.5", GitCommit:"0e9fcb426b100a2aea5ed5c25b3d8cfbb01a8acf", GitTreeState:"clean", BuildDate:"2019-08-05T09:13:08Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}

Thanks for reporting this, we should definitely refactor this part of the code, because what you are seeing is not really an error, it just means that the Node label is not present on the pod yet so the operator should wait and reconcile. To initiate a new reconcile the most common thing to do is return an error, but there are more sophisticated ways to do this. We are going to look into this and do the required refactors.

Thanks for the quick answer.
I'll have to dig in the code and see if I can help. I'm having a ton of troubles with my cluster lately with more strange errors from the operator. Will keep creating issues if I find more errors.
I think you can close this issue, expect if you want to track the refactoring you're mentioning.
Thanks

Thanks, will keep this one for tracking.

Thanks @tinyzimmer


Migrate content from /markdownbased repo

Acceptance
The following documents moved:

[x] howtos

[x] edit-text-on-a-single-md-page.md
[x] add-a-simple-md-page.md
~[ ] add-or-edit-content-on-life-itself-ecosystem.md~ not moving this one it is specific to lifeitself repo (to a single page there only!); should probably be moved to a separate, lifeitself-related guide
[x] edit-a-page-with-code-editor-or-obsidian.md
[x] edit-or-add-md-pages-locally.md note: we have a tutorial covering this subject but this one is a standalone howto, whereas the tutorial belongs to our tutorials series where we guide users through the whole process starting from tutorial one on creating the website from scratch
[x] publish-obsidian-vault-to-github.md
[x] quickly-create-a-sandbox-website.md
~[ ] why-use-these-tools-to-create-a-catalog~ why use what tools? The text mentions "these tools" and "this method" phrases but doesn't give any context; it's not clear to me what is the purpose of this article, what is it that the author tries to convey; doesn't really explain anything; there is no "what's the issue -> how-to-solve-it" logical flow to it

[x] reference

~[ ] github.md~ ** leaving for now until we need it**
~[ ] obsidian~ nothing in there

[x] tutorials

[x] create-a-simple-catalog-of-anything.md originally in this repo,
[x] create-a-website-from-scratch.md already moved

Tasks

[x] move over files
[x] move over any associated assets
[x] adjust wikilinks
[x] compare some of the howtos that have overlapping content with some of our tutorials, decide if one or the other needs some adjustments, and maybe cross-reference from one to the other
[x] add dates and authors
[x] decide where to put them? publish as blog posts for now? publish all at once? or daily one by one? publishing as blog posts with current date

All done


Warn on directory compare when there is no diff tool configured

I never could get this to work!
I follow these steps:

>GitLens: Directory Compare
Pick one remote branch
Enter

Nothing happens!
Any help?

@aminpaks you'll need to have git configured with a difftool. Do you have that setup?

No I thought it's part of vscode!
How to do that?

Vscode can't (as far as I know) do directory compares. Would need another difftool like Beyond Compare.
I will look into either hiding or providing some feedback on those options if it isn't setup

But if vscode team can provide this ability that would be so good!
Thanks in advance.

@aminpaks FYI https://github.com/Microsoft/vscode/issues/6898

Hi @eamodio,
an error message window pops up with no text shown, if the diff.tool is not set (via git config --global --unset diff.tool). Using the current version 1.11.0 (1.11.0).
I just started using your fantastic tool. It's very nice. Thanks for that.

@Dominik-K thanks for the report -- this is fixed in v3.2.1

Would it be possible to change this so diff.guitool is used instead (and that git diff is executed using the --gui flag)? I would like to use a GUI tool when running a diff from within VSCode but keep using the default when diffing in the shell.

@pluma Sounds like a good change -- would you mind opening a new issue to track this?


Connection closed before receiving a handshake response

I've started my Meteor application on Port 4000 and pointed it to my cluster discovery url mongodb://localhost:3001/meteor
I get this error-Message (directly and reoccurring after starting the app) in the browsers console:
WebSocket connection to 'ws://localhost:4000/cluster-ddp/fe6532952e074bcf465144960feedb586eda4578/meteor-app-2/360/wwl_hw0d/websocket' failed: Connection closed before receiving a handshake response
sockjs-0.3.4.js:854

POST http://localhost:4000/cluster-ddp/fe6532952e074bcf465144960feedb586eda4578/metor-app-2/360/n1c5dy5u/xhr 404 (Not Found)

Maybe related to #40

Solution is discussed in #72


Subscription logic

Add logic to subscribe/unsubscribe.
Added test for subscribe.
Add logic for sending events to slack based on channel subscriptions.
Switched to check subscriptions based on channel and not user

Todo:

Add more test (unsubscribe, list, etc)
Fix issue with test DB, test db doesn't cleanup after each test, so we end up with many topics.
Add unique constraint on name to Topics

I think this will work, before each test:
Ecto.Adapters.SQL.begin_test_transaction(Repo, [])

After each test:
Ecto.Adapters.SQL.restart_test_transaction(Repo, [])

Ecto.Adapters.SQL.begin_test_transaction(Repo, [])

Was removed here. Switched to their new way of sandbox tests.


How to change geometry in code ocean

Hello Dr Karnakov, I am using the case you provided under the examples/205_multivof/bidisperse path for my simulation. I tried to change some of the model geometry and fluid property parameters, and some of the problems could not be solved.

I want to connect a converging channel followed by a diverging channel in the examples/205_multivof/bidisperse/gen file. I made the following modifications: change lx = Lwide + Lnarrow + H * 0.5   to  lx = 2 * Lwide +2 * Lnarrow + H * 0.5 *2.

After performing a "reproducible run," the generated files still follow the calculations from the original gen file, and the geometric structure has not changed.
I couldn't find the exact meaning of "invert" and "intersect" with a value of 1 in the Geometry class.
If I want to simulate the flow of a droplet cluster, can I directly modify the density and viscosity of the dispersed phase in the gen file?

For the first question, when I directly input the contents of the 'gen' file into the 'bidisperse.sh' script, the computation can proceed. But when I attempt a long-duration simulation (tmax > 0.8), the following error occurs:
`ERROR: In /build/paraview-lH8wFv/paraview-5.4.1+dfsg3/VTK/IO/Parallel/vtkPDataSetReader.cxx, line 858
vtkPDataSetReader (0x55d198e5b7a0): Initialize: Could not open file ../bc.vtk
ERROR: In /build/paraview-lH8wFv/paraview-5.4.1+dfsg3/VTK/Common/ExecutionModel/vtkExecutive.cxx, line 784
vtkPVCompositeDataPipeline (0x55d1966f9e00): Algorithm vtkFileSeriesReader(0x55d198d31380) returned failure for request: vtkInformation (0x55d198f73210)
Debug: Off
Modified Time: 201562
Reference Count: 1
Registered Events: (none)
Request: REQUEST_DATA_OBJECT
FORWARD_DIRECTION: 0
FROM_OUTPUT_PORT: 0
ALGORITHM_AFTER_FORWARD: 1`

The issue regarding simulation time has been resolved, and it appears to be related to the format of the parameters.

Hi, sorry for the late reply!

You could try to run gen locally on your computer and look at the generated body.dat, then also use the "Flowing crystal" case from the gallery. Maybe you also need make clean before running ./gen.
invert multiples the negates the function and intersect applies an intersection operation to the currently accumulated field. They correspond to - and & in the documentation about geometric primitives
Yes you can directly modify rho and mu in the file. It may want to adjust the definition of Re accordingly so that it follows the denser phase


WIP: Switching to .NETStandard

[x] Make everything to build
[x] Update nuget packaging and test running
[x] Make AppVeyor build working
[ ] See if solution can be built on travis (xbuild is disfuntional, so we need to compile the whole solution with msbuild)
[ ] ???????
[ ] Release

Codecov Report

Merging #919 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #919      +/-   ##
==========================================
+ Coverage   61.63%   61.63%   +<.01%
==========================================
  Files         533      533
  Lines       20259    20271      +12
  Branches     2889     2889
==========================================
+ Hits        12487    12495       +8
- Misses       6940     6943       +3
- Partials      832      833       +1

Impacted Files
Coverage Δ

.../Shared/PlatformSupport/StandardRuntimePlatform.cs
25% <ø> (ø)
:white_check_mark:

src/Avalonia.Controls/Utils/UndoRedoHelper.cs
28.2% <ø> (ø)
:white_check_mark:

src/Avalonia.Base/Threading/JobRunner.cs
42.5% <0%> (-2.5%)
:x:

....Diagnostics/ViewModels/ControlDetailsViewModel.cs
0% <0%> (ø)
:white_check_mark:

...Avalonia.Diagnostics/ViewModels/PropertyDetails.cs
0% <0%> (ø)
:white_check_mark:

src/Avalonia.Diagnostics/ViewModels/TreeNode.cs
0% <0%> (ø)
:white_check_mark:

...Avalonia.Base/Utilities/WeakSubscriptionManager.cs
90.41% <0%> (+0.13%)
:white_check_mark:

.../Markup/Avalonia.Markup/Data/ExpressionObserver.cs
96.07% <0%> (+0.24%)
:white_check_mark:

src/Avalonia.Controls/AppBuilderBase.cs
78.57% <0%> (+0.25%)
:white_check_mark:

src/Shared/PlatformSupport/AssetLoader.cs
67.79% <0%> (+0.55%)
:white_check_mark:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 23e52b1...dc8a32d. Read the comment docs.


merge package template from arlac77/npm-package-template

package.json

chore(devDependencies): update<EMAIL_ADDRESS>from template

Coverage remained the same at 97.143% when pulling ee9cd6f0cbd06b8c90caf7e08c7429fba9bee09f on template-sync-1 into d9f069343ab2a34d0d589fc925c44bc072666426 on master.

Codecov Report

Merging #27 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #27   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           2      2
  Lines          29     29
=====================================
  Hits           29     29

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d9f0693...ee9cd6f. Read the comment docs.


Use Git's include directive?

@mathiasbynens You can use the include directive to include other Git configs.
One benefit is that, instead of basically storing the sensitive information such as the Git credentials in the .gitconfig file, you can store them in a local file, removing the risk of accidentally committing that information.
--
e.g.:

.gitconfig

[include]
     path = ~/.gitconfig.local

~/.gitconfig.local

[user]
      name = Name
      email =<EMAIL_ADDRESS>      signingkey = XXXXXXXX

👍
I'm using this in my fork and I configure Git author info in my .extra file like this:
git config --file=$HOME/.gitconfig.extra user.email "$GIT_AUTHOR_EMAIL"

As I think of it, if I don't need the env variables like GIT_AUTHOR_EMAIL I can just include it in .gitconfig.extra and remove the git config part from my .extra.


Getting album from song/artist

Hello.
I am using the recognize API to successfully identify a number of different attributes from a given song file:

title (and track_id)
artist (and artist_id)
genre

Is there a way to get the list of albums that title has been included into for the given artist/artist_id ?
The dict returned by recognize does not seem to contain such information.
I have also tried with track_about, and artist_albums, to no avail.
thanks.

What do you want to get, what attributes?

    artist_id =<PHONE_NUMBER>
    albums = await shazam.artist_albums(artist_id=artist_id)
    serialized = Serialize.artist_albums(data=albums)
    for i in serialized.data:

        print(f"{i.attributes.artist_name} ->>>>>>>> {i.attributes.name} - {i.attributes.track_count} {i.attributes.release_date}")

BONES ->>>>>>>> FromBeyondTheGrave - 12 2020-11-07
BONES ->>>>>>>> IFeelLikeDirt - 14 2019-11-29
BONES ->>>>>>>> InLovingMemory - 17 2021-06-18
BONES ->>>>>>>> Offline - 16 2020-02-25
BONES ->>>>>>>> TeenWitch - 17 2014-02-25
BONES & Eddy Baker ->>>>>>>> SparrowsCreek - 10 2019-02-11
BONES ->>>>>>>> UnderTheWillowTree - 19 2019-05-03
BONES ->>>>>>>> Unrendered - 18 2017-04-21
Xavier Wulf & BONES ->>>>>>>> Caves - EP - 6 2013-12-14
BONES & Lyson ->>>>>>>> Remains - 13 2020-05-31

@dotX12
Thanks for the prompt reply.
What I need is which album/albums are associated to a certain track.
I know the artist_albums function returns all albums for the given artist, but it does not contain a list of track titles included into each album.
That is what I am looking for:

the list of album(s) for the given artist, and including the given track title.

Thanks.

@dotX12 Thanks for the prompt reply.
What I need is which album/albums are associated to a certain track. I know the artist_albums function returns all albums for the given artist, but it does not contain a list of track titles included into each album.
That is what I am looking for:

the list of album(s) for the given artist, and including the given track title.

Thanks.

do u need this?
import asyncio
from shazamio import Shazam, Serialize

async def main():
    shazam = Shazam()
    albums = await shazam.search_album(album_id=1538894474)
    serialized = Serialize.album_info(data=albums)

    for i in serialized.data[0].relationships.tracks.data:
        msg = f"{i.id} | {i.attributes.album_name} | {i.attributes.artist_name} [{i.attributes.name}]"
        print(msg)

loop = asyncio.get_event_loop_policy().get_event_loop()
loop.run_until_complete(main())

1538894476 | FromBeyondTheGrave | BONES [FromBeyondTheGrave]
1538894477 | FromBeyondTheGrave | BONES [Ashes]
1538894478 | FromBeyondTheGrave | BONES [2Stroke]
1538894479 | FromBeyondTheGrave | BONES [Equipped]
1538894480 | FromBeyondTheGrave | BONES [.223]
1538894481 | FromBeyondTheGrave | BONES [WhoGoesThere]
1538894482 | FromBeyondTheGrave | BONES [BarbwireRibCage]
1538894483 | FromBeyondTheGrave | BONES [TombstoneKiller]
1538894484 | FromBeyondTheGrave | BONES [SkeletonRaps]
1538894485 | FromBeyondTheGrave | BONES [RedAlert]
1538894486 | FromBeyondTheGrave | BONES [Cement]
1538894487 | FromBeyondTheGrave | BONES [DarkShadowBlunts]

Ummmm, not exacly. Although maybe it can end up working well ...
In your example, you have the album id already known.
If I want to get that, I think I will need to get all albums associated to the artist id, and for each of those albums, do your stuff ....
Basically, my logic will be something like the following:

Let's assume that I want to know the album name of the track Thriller, from Michael Jackson. For that, I only have the mp3 file, with no artist, no title and no album added to its metadata.
First, I use the Shazam.recognize function to get the artist_id, the artist name and the title of the track.
then, I will use Shazam.artist_albums to get all the albums of the given artist id.
and now, I will iterate thru the obtained albums, caling Shazam.album_info to get  the tracks inside, until we find a track with title equal to the title obtained on step 2.

Hope this makes sense .....
I will give it a try and let you know.
Thanks!

Ummmm, not exacly. Although maybe it can end up working well ...
In your example, you have the album id already known.
If I want to get that, I think I will need to get all albums associated to the artist id, and for each of those albums, do your stuff ....
Basically, my logic will be something like the following:

Let's assume that I want to know the album name of the track Thriller, from Michael Jackson. For that, I only have the mp3 file, with no artist, no title and no album added to its metadata.
First, I use the Shazam.recognize function to get the artist_id, the artist name and the title of the track.
then, I will use Shazam.artist_albums to get all the albums of the given artist id.
and now, I will iterate thru the obtained albums, caling Shazam.album_info to get  the tracks inside, until we find a track with title equal to the title obtained on step 2.

Hope this makes sense .....
I will give it a try and let you know.
Thanks!

The code I provided above has not yet been added.
If I understand correctly, you need to find out from the file with the song which album this song is in?

Exactly!

@robtekky two steps.
Do you only need the album title or do you want to somehow work with the tracks within that album?
If only the name of the album - as a result there is a lot of different data, for example here.
import asyncio
import logging

from aiohttp_retry import ExponentialRetry

from shazamio import Shazam, HTTPClient

logger = logging.getLogger(__name__)
logging.basicConfig(
    level=logging.DEBUG,
    format="%(asctime)s - %(name)s - [%(filename)s:%(lineno)d - %(funcName)s()] - %(levelname)s - %(message)s",
    datefmt="%Y-%m-%d %H:%M:%S",
)

def get_album_name(data: dict[str, any]) -> str:
    for element in data["sections"]:
        if element["type"] == "SONG":
            for item in element["metadata"]:
                if item["title"] == "Album":
                    return item["text"]

async def main():
    shazam = Shazam(
        http_client=HTTPClient(
            retry_options=ExponentialRetry(
                attempts=12, max_timeout=204.8, statuses={500, 502, 503, 504, 429}
            ),
        ),
    )

    new_version_path = await shazam.recognize("data/Gloria.ogg")
    album_name = get_album_name(data=new_version_path["track"])
    print(album_name)

loop = asyncio.get_event_loop_policy().get_event_loop()
loop.run_until_complete(main())

But if for some reason this is not enough for you, you can make an additional request on shazam to find out more details about this album. I haven't released search_album to pypi yet, but you can try pulling changes from the dev2.0 (https://github.com/shazamio/ShazamIO/pull/100) branch (again, if you really need it), maybe the function above will suffice.
import asyncio
import logging

from aiohttp_retry import ExponentialRetry

from shazamio import Shazam, Serialize, HTTPClient

logger = logging.getLogger(__name__)
logging.basicConfig(
    level=logging.DEBUG,
    format="%(asctime)s - %(name)s - [%(filename)s:%(lineno)d - %(funcName)s()] - %(levelname)s - %(message)s",
    datefmt="%Y-%m-%d %H:%M:%S",
)

async def main():
    shazam = Shazam(
        http_client=HTTPClient(
            retry_options=ExponentialRetry(
                attempts=12, max_timeout=204.8, statuses={500, 502, 503, 504, 429}
            ),
        ),
    )

    new_version_path = await shazam.recognize("data/Gloria.ogg")

    album_info = await shazam.search_album(album_id=new_version_path["track"]["albumadamid"])
    album_serialized = Serialize.album_info(data=album_info)
    # Get album name
    print(album_serialized.data[0].attributes.name)

    # And get all tracks in album
    for i in album_serialized.data[0].relationships.tracks.data:
        msg = (
            f"{i.id} | {i.attributes.album_name} | {i.attributes.artist_name} [{i.attributes.name}]"
        )
        print(msg)

loop = asyncio.get_event_loop_policy().get_event_loop()
loop.run_until_complete(main())

You can analyze the response from Shazam recognize (json) yourself and see what data it returns :)

Yeah, thanks, that is what I did .... not sure if I overlooked it somehow though ....
I will give it a try and get back to you.
Thanks.

Unfortunately, using the get_album_name function you posted, I get None for the album name most of the times.
It seems what we get when recognize function is called does not normally contain the album name inside.
search_album is  not an option for me, since I do not have the album id to be used as input parameter.
I am afraid I will have to use something like Spotipy library additionally in order to get the album name for a given song title.
Thanks

Unfortunately, using the get_album_name function you posted, I get None for the album name most of the times. It seems what we get when recognize function is called does not normally contain the album name inside.
search_album is not an option for me, since I do not have the album id to be used as input parameter.
I am afraid I will have to use something like Spotipy library additionally in order to get the album name for a given song title.
Thanks
But the album identifier is in the response when calling the recognize function :/

ah ok, I will try that and post the results here ....

But the album identifier is in the response when calling the recognize function :/

Not in my case, at least not always.
This is what I get from recognize for song title: Tarantula, artist: Smashing Pumpkins:
{'matches': [{'id': '216933643', 'offset':<PHONE_NUMBER>75, 'timeskew': -0.00013494492, 'frequencyskew': 0.00012087822}], 'location': {'accuracy': 0.01}, 'timestamp':<PHONE_NUMBER>, 'timezone': 'Europe/Moscow', 'track': {'layout': '5', 'type': 'MUSIC', 'key': '45053306', 'title': 'Tarantula', 'subtitle': 'The Smashing Pumpkins', 'images': {'background': 'https://is1-ssl.mzstatic.com/image/thumb/AMCArtistImages126/v4/93/48/c5/9348c5e3-6424-7911-c6cc-ea9b31b47664/0153beec-a084-4288-8731-e35a168593e3_ami-identity-8e1c3d516591a3f1ae95545b0ce45c27-2023-10-31T15-40-58.980Z_cropped.png/800x800cc.jpg', 'coverart': 'https://is1-ssl.mzstatic.com/image/thumb/Music/38/a2/67/mzi.lukgwqjh.jpg/400x400cc.jpg', 'coverarthq': 'https://is1-ssl.mzstatic.com/image/thumb/Music/38/a2/67/mzi.lukgwqjh.jpg/400x400cc.jpg'}, 'share': {'subject': 'Tarantula - The Smashing Pumpkins', 'text': 'Tarantula by The Smashing Pumpkins', 'href': 'https://www.shazam.com/track/45053306/tarantula', 'image': 'https://is1-ssl.mzstatic.com/image/thumb/Music/38/a2/67/mzi.lukgwqjh.jpg/400x400cc.jpg', 'twitter': 'I used @Shazam to discover Tarantula by The Smashing Pumpkins.', 'html': 'https://www.shazam.com/snippets/email-share/45053306?lang=en-US&country=GB', 'avatar': 'https://is1-ssl.mzstatic.com/image/thumb/AMCArtistImages126/v4/93/48/c5/9348c5e3-6424-7911-c6cc-ea9b31b47664/0153beec-a084-4288-8731-e35a168593e3_ami-identity-8e1c3d516591a3f1ae95545b0ce45c27-2023-10-31T15-40-58.980Z_cropped.png/800x800cc.jpg', 'snapchat': 'https://www.shazam.com/partner/sc/track/45053306'}, 'hub': {'type': 'APPLEMUSIC', 'image': 'https://images.shazam.com/static/icons/hub/ios/v5/applemusic_{scalefactor}.png', 'options': [{'caption': 'OPEN IN', 'actions': [{'name': 'hub:applemusic:subscribe', 'type': 'applemusicopen', 'uri': 'https://music.apple.com/subscribe?mttnagencyid=s2n&mttnsiteid=125115&mttn3pid=Apple-Shazam&mttnsub1=Shazam_ios&mttnsub2=5348615A-616D-3235-3830-44754D6D5973&itscg=30201&app=music&itsct=Shazam_ios'}, {'name': 'hub:applemusic:subscribe', 'type': 'uri', 'uri': 'https://music.apple.com/subscribe?mttnagencyid=s2n&mttnsiteid=125115&mttn3pid=Apple-Shazam&mttnsub1=Shazam_ios&mttnsub2=5348615A-616D-3235-3830-44754D6D5973&itscg=30201&app=music&itsct=Shazam_ios'}], 'beacondata': {'type': 'open', 'providername': 'applemusic'}, 'image': 'https://images.shazam.com/static/icons/hub/ios/v5/overflow-open-option_{scalefactor}.png', 'type': 'open', 'listcaption': 'Open in Apple Music', 'overflowimage': 'https://images.shazam.com/static/icons/hub/ios/v5/applemusic-overflow_{scalefactor}.png', 'colouroverflowimage': False, 'providername': 'applemusic'}], 'providers': [{'caption': 'Open in Spotify', 'images': {'overflow': 'https://images.shazam.com/static/icons/hub/ios/v5/spotify-overflow_{scalefactor}.png', 'default': 'https://images.shazam.com/static/icons/hub/ios/v5/spotify_{scalefactor}.png'}, 'actions': [{'name': 'hub:spotify:searchdeeplink', 'type': 'uri', 'uri': 'spotify:search:Tarantula%20The%20Smashing%20Pumpkins'}], 'type': 'SPOTIFY'}, {'caption': 'Open in Deezer', 'images': {'overflow': 'https://images.shazam.com/static/icons/hub/ios/v5/deezer-overflow_{scalefactor}.png', 'default': 'https://images.shazam.com/static/icons/hub/ios/v5/deezer_{scalefactor}.png'}, 'actions': [{'name': 'hub:deezer:searchdeeplink', 'type': 'uri', 'uri': 'deezer-query://www.deezer.com/play?query=%7Btrack%3A%27Tarantula%27%20artist%3A%27The+Smashing+Pumpkins%27%7D'}], 'type': 'DEEZER'}], 'explicit': False, 'displayname': 'APPLE MUSIC'}, 'sections': [{'type': 'SONG', 'metapages': [{'image': 'https://is1-ssl.mzstatic.com/image/thumb/AMCArtistImages126/v4/93/48/c5/9348c5e3-6424-7911-c6cc-ea9b31b47664/0153beec-a084-4288-8731-e35a168593e3_ami-identity-8e1c3d516591a3f1ae95545b0ce45c27-2023-10-31T15-40-58.980Z_cropped.png/800x800cc.jpg', 'caption': 'The Smashing Pumpkins'}, {'image': 'https://is1-ssl.mzstatic.com/image/thumb/Music/38/a2/67/mzi.lukgwqjh.jpg/400x400cc.jpg', 'caption': 'Tarantula'}], 'tabname': 'Song', 'metadata': []}, {'type': 'VIDEO', 'tabname': 'Video', 'youtubeurl': 'https://cdn.shazam.com/video/v3/-/GB/iphone/45053306/youtube/video?q=The+Smashing+Pumpkins+%22Tarantula%22'}, {'type': 'RELATED', 'url': 'https://cdn.shazam.com/shazam/v3/en-US/GB/iphone/-/tracks/track-similarities-id-45053306?startFrom=0&pageSize=20&connected=', 'tabname': 'Related'}], 'url': 'https://www.shazam.com/track/45053306/tarantula', 'artists': [{'id': '42', 'adamid': '1646302'}], 'genres': {'primary': 'Hard Rock'}, 'urlparams': {'{tracktitle}': 'Tarantula', '{trackartist}': 'The+Smashing+Pumpkins'}, 'highlightsurls': {'artisthighlightsurl': 'https://cdn.shazam.com/video/v3/en-US/GB/iphone/1646302/highlights?affiliate=mttnagencyid%3Ds2n%26mttnsiteid%3D125115%26mttn3pid%3DApple-Shazam%26mttnsub1%3DShazam_ios%26mttnsub2%3D5348615A-616D-3235-3830-44754D6D5973%26itscg%3D30201%26app%3Dmusic%26itsct%3DShazam_ios'}, 'relatedtracksurl': 'https://cdn.shazam.com/shazam/v3/en-US/GB/iphone/-/tracks/track-similarities-id-45053306?startFrom=0&pageSize=20&connected='}, 'tagid': 'F45B7EC2-2EE4-49E1-8657-619F4C043D2C'}
There is an artist_id (adamid), but there  is no albumadamid.

But the album identifier is in the response when calling the recognize function :/

Not in my case, at least not always.
This is what I get from recognize for song title: Tarantula, artist: Smashing Pumpkins:
{'matches': [{'id': '216933643', 'offset':<PHONE_NUMBER>75, 'timeskew': -0.00013494492, 'frequencyskew': 0.00012087822}], 'location': {'accuracy': 0.01}, 'timestamp':<PHONE_NUMBER>, 'timezone': 'Europe/Moscow', 'track': {'layout': '5', 'type': 'MUSIC', 'key': '45053306', 'title': 'Tarantula', 'subtitle': 'The Smashing Pumpkins', 'images': {'background': 'https://is1-ssl.mzstatic.com/image/thumb/AMCArtistImages126/v4/93/48/c5/9348c5e3-6424-7911-c6cc-ea9b31b47664/0153beec-a084-4288-8731-e35a168593e3_ami-identity-8e1c3d516591a3f1ae95545b0ce45c27-2023-10-31T15-40-58.980Z_cropped.png/800x800cc.jpg', 'coverart': 'https://is1-ssl.mzstatic.com/image/thumb/Music/38/a2/67/mzi.lukgwqjh.jpg/400x400cc.jpg', 'coverarthq': 'https://is1-ssl.mzstatic.com/image/thumb/Music/38/a2/67/mzi.lukgwqjh.jpg/400x400cc.jpg'}, 'share': {'subject': 'Tarantula - The Smashing Pumpkins', 'text': 'Tarantula by The Smashing Pumpkins', 'href': 'https://www.shazam.com/track/45053306/tarantula', 'image': 'https://is1-ssl.mzstatic.com/image/thumb/Music/38/a2/67/mzi.lukgwqjh.jpg/400x400cc.jpg', 'twitter': 'I used @Shazam to discover Tarantula by The Smashing Pumpkins.', 'html': 'https://www.shazam.com/snippets/email-share/45053306?lang=en-US&country=GB', 'avatar': 'https://is1-ssl.mzstatic.com/image/thumb/AMCArtistImages126/v4/93/48/c5/9348c5e3-6424-7911-c6cc-ea9b31b47664/0153beec-a084-4288-8731-e35a168593e3_ami-identity-8e1c3d516591a3f1ae95545b0ce45c27-2023-10-31T15-40-58.980Z_cropped.png/800x800cc.jpg', 'snapchat': 'https://www.shazam.com/partner/sc/track/45053306'}, 'hub': {'type': 'APPLEMUSIC', 'image': 'https://images.shazam.com/static/icons/hub/ios/v5/applemusic_{scalefactor}.png', 'options': [{'caption': 'OPEN IN', 'actions': [{'name': 'hub:applemusic:subscribe', 'type': 'applemusicopen', 'uri': 'https://music.apple.com/subscribe?mttnagencyid=s2n&mttnsiteid=125115&mttn3pid=Apple-Shazam&mttnsub1=Shazam_ios&mttnsub2=5348615A-616D-3235-3830-44754D6D5973&itscg=30201&app=music&itsct=Shazam_ios'}, {'name': 'hub:applemusic:subscribe', 'type': 'uri', 'uri': 'https://music.apple.com/subscribe?mttnagencyid=s2n&mttnsiteid=125115&mttn3pid=Apple-Shazam&mttnsub1=Shazam_ios&mttnsub2=5348615A-616D-3235-3830-44754D6D5973&itscg=30201&app=music&itsct=Shazam_ios'}], 'beacondata': {'type': 'open', 'providername': 'applemusic'}, 'image': 'https://images.shazam.com/static/icons/hub/ios/v5/overflow-open-option_{scalefactor}.png', 'type': 'open', 'listcaption': 'Open in Apple Music', 'overflowimage': 'https://images.shazam.com/static/icons/hub/ios/v5/applemusic-overflow_{scalefactor}.png', 'colouroverflowimage': False, 'providername': 'applemusic'}], 'providers': [{'caption': 'Open in Spotify', 'images': {'overflow': 'https://images.shazam.com/static/icons/hub/ios/v5/spotify-overflow_{scalefactor}.png', 'default': 'https://images.shazam.com/static/icons/hub/ios/v5/spotify_{scalefactor}.png'}, 'actions': [{'name': 'hub:spotify:searchdeeplink', 'type': 'uri', 'uri': 'spotify:search:Tarantula%20The%20Smashing%20Pumpkins'}], 'type': 'SPOTIFY'}, {'caption': 'Open in Deezer', 'images': {'overflow': 'https://images.shazam.com/static/icons/hub/ios/v5/deezer-overflow_{scalefactor}.png', 'default': 'https://images.shazam.com/static/icons/hub/ios/v5/deezer_{scalefactor}.png'}, 'actions': [{'name': 'hub:deezer:searchdeeplink', 'type': 'uri', 'uri': 'deezer-query://www.deezer.com/play?query=%7Btrack%3A%27Tarantula%27%20artist%3A%27The+Smashing+Pumpkins%27%7D'}], 'type': 'DEEZER'}], 'explicit': False, 'displayname': 'APPLE MUSIC'}, 'sections': [{'type': 'SONG', 'metapages': [{'image': 'https://is1-ssl.mzstatic.com/image/thumb/AMCArtistImages126/v4/93/48/c5/9348c5e3-6424-7911-c6cc-ea9b31b47664/0153beec-a084-4288-8731-e35a168593e3_ami-identity-8e1c3d516591a3f1ae95545b0ce45c27-2023-10-31T15-40-58.980Z_cropped.png/800x800cc.jpg', 'caption': 'The Smashing Pumpkins'}, {'image': 'https://is1-ssl.mzstatic.com/image/thumb/Music/38/a2/67/mzi.lukgwqjh.jpg/400x400cc.jpg', 'caption': 'Tarantula'}], 'tabname': 'Song', 'metadata': []}, {'type': 'VIDEO', 'tabname': 'Video', 'youtubeurl': 'https://cdn.shazam.com/video/v3/-/GB/iphone/45053306/youtube/video?q=The+Smashing+Pumpkins+%22Tarantula%22'}, {'type': 'RELATED', 'url': 'https://cdn.shazam.com/shazam/v3/en-US/GB/iphone/-/tracks/track-similarities-id-45053306?startFrom=0&pageSize=20&connected=', 'tabname': 'Related'}], 'url': 'https://www.shazam.com/track/45053306/tarantula', 'artists': [{'id': '42', 'adamid': '1646302'}], 'genres': {'primary': 'Hard Rock'}, 'urlparams': {'{tracktitle}': 'Tarantula', '{trackartist}': 'The+Smashing+Pumpkins'}, 'highlightsurls': {'artisthighlightsurl': 'https://cdn.shazam.com/video/v3/en-US/GB/iphone/1646302/highlights?affiliate=mttnagencyid%3Ds2n%26mttnsiteid%3D125115%26mttn3pid%3DApple-Shazam%26mttnsub1%3DShazam_ios%26mttnsub2%3D5348615A-616D-3235-3830-44754D6D5973%26itscg%3D30201%26app%3Dmusic%26itsct%3DShazam_ios'}, 'relatedtracksurl': 'https://cdn.shazam.com/shazam/v3/en-US/GB/iphone/-/tracks/track-similarities-id-45053306?startFrom=0&pageSize=20&connected='}, 'tagid': 'F45B7EC2-2EE4-49E1-8657-619F4C043D2C'}
There is an artist_id (adamid), but there is no albumadamid.

https://www.shazam.com/track/45053306/tarantula
Well, yes, this song does not have an album and there is no way to determine it.
And in general, for some reason, even the page for this song does not open for me and I cannot find it in the search...

In general, songs can exist even without albums and the Shazam database may not know everything about it, especially since it is an old song.

well, yeah, in this case there is at least one album containing it (Zeitgeist), but it is true that Shazam database seems to be ignorant about it....
Thanks

I was able to use the dev2.0 branch successfully ......
For metadata tags not available thru Shazam, I have used a fallback to Spotipy.
Feel free to close this issue/request.
Thanks a lot for your help.

I was able to use the dev2.0 branch successfully ......
For metadata tags not available thru Shazam, I have used a fallback to Spotipy.
Feel free to close this issue/request.
Thanks a lot for your help.

released in 0.6.0

I was able to use the dev2.0 branch successfully ......
For metadata tags not available thru Shazam, I have used a fallback to Spotipy.
Feel free to close this issue/request.
Thanks a lot for your help.
@robtekky Would you please share how you use spotipy when shazamio doesn't work. I'm struggling to find a solution. Thanks in advance.

@asapsmc
It would be something like the following:
            spotify = spotipy.Spotify(
                client_credentials_manager=SpotifyClientCredentials(client_id=client_id, client_secret=client_secret)
            )

            # All unset attributes need the Spotify album object to be obtained

            artist_results = spotify.search(q=f"artist:{artist_name}", type="artist")

            if artist_results and (artists := artist_results["artists"]["items"]):
                artist = artists[0]
                genres_spotify = artist.get("genres", [])

                if genre_shazam and genres_spotify:
                    if genre_shazam.lower() in genres_spotify:
                        if verbose:
                            print("\nThe genres in Shazam and in Spotify do match")
                    else:
                        if verbose:
                            print(
                                f"\nThe genre in Shazam is not included in Spotify: {genre_shazam=}, {genres_spotify=}"
                            )
                            songs_with_different_genres.append((title, artist_name, genre_shazam, genres_spotify))

                artist_id = artist["id"]
                album_results = spotify.artist_albums(artist_id=artist_id)

                album_found = False
                album_dict = {}

                while not album_found:
                    albums = album_results.get("items", [])

                    for album in albums:
                        # Ignore albums being compilations
                        if album["album_type"] == "compilation":
                            continue

                        track_results = spotify.album_tracks(album_id=album["id"]) or {}
                        tracks = track_results.get("items", [])

                        for _track in tracks:
                            if _track["name"].lower() == title.lower():
                                album_found = True
                                album_dict = album
                                break

                        if album_found:
                            break

                    if not album_found:
                        if album_results["next"]:
                            album_results = spotify.next(album_results)
                        else:
                            break

                if album_found:
                    album_name_spotify = album_dict["name"]
                    if verbose:
                        print(f"\nAlbum found: {album_name_spotify}\n")
                    if album_name_shazam:
                        if album_name_spotify.lower() == album_name_shazam.lower():
                            if verbose:
                                print("The album names in Shazam and in Spotify are identical")
                        else:
                            print(f"Different album names: {album_name_shazam=}, {album_name_spotify=}")
                            songs_with_different_album_names.add((album_name_shazam, album_name_spotify))

                    year_spotify = get_year(album_dict["release_date"])

                    if year_shazam:
                        if year_spotify == year_shazam:
                            if verbose:
                                print("The years in Shazam and in Spotify are identical")
                        else:
                            if verbose:
                                print(f"Different years: {year_shazam=}, {year_spotify=}")
                                songs_with_different_years.add((album_name_shazam, album_name_spotify))

@asapsmc
It would be something like the following:
            spotify = spotipy.Spotify(
                client_credentials_manager=SpotifyClientCredentials(client_id=client_id, client_secret=client_secret)
            )

            # All unset attributes need the Spotify album object to be obtained

            artist_results = spotify.search(q=f"artist:{artist_name}", type="artist")

            if artist_results and (artists := artist_results["artists"]["items"]):
                artist = artists[0]
                genres_spotify = artist.get("genres", [])

                if genre_shazam and genres_spotify:
                    if genre_shazam.lower() in genres_spotify:
                        if verbose:
                            print("\nThe genres in Shazam and in Spotify do match")
                    else:
                        if verbose:
                            print(
                                f"\nThe genre in Shazam is not included in Spotify: {genre_shazam=}, {genres_spotify=}"
                            )
                            songs_with_different_genres.append((title, artist_name, genre_shazam, genres_spotify))

                artist_id = artist["id"]
                album_results = spotify.artist_albums(artist_id=artist_id)

                album_found = False
                album_dict = {}

                while not album_found:
                    albums = album_results.get("items", [])

                    for album in albums:
                        # Ignore albums being compilations
                        if album["album_type"] == "compilation":
                            continue

                        track_results = spotify.album_tracks(album_id=album["id"]) or {}
                        tracks = track_results.get("items", [])

                        for _track in tracks:
                            if _track["name"].lower() == title.lower():
                                album_found = True
                                album_dict = album
                                break

                        if album_found:
                            break

                    if not album_found:
                        if album_results["next"]:
                            album_results = spotify.next(album_results)
                        else:
                            break

                if album_found:
                    album_name_spotify = album_dict["name"]
                    if verbose:
                        print(f"\nAlbum found: {album_name_spotify}\n")
                    if album_name_shazam:
                        if album_name_spotify.lower() == album_name_shazam.lower():
                            if verbose:
                                print("The album names in Shazam and in Spotify are identical")
                        else:
                            print(f"Different album names: {album_name_shazam=}, {album_name_spotify=}")
                            songs_with_different_album_names.add((album_name_shazam, album_name_spotify))

                    year_spotify = get_year(album_dict["release_date"])

                    if year_shazam:
                        if year_spotify == year_shazam:
                            if verbose:
                                print("The years in Shazam and in Spotify are identical")
                        else:
                            if verbose:
                                print(f"Different years: {year_shazam=}, {year_spotify=}")
                                songs_with_different_years.add((album_name_shazam, album_name_spotify))

Thank you.


Author url always broken

https://github.com/hadynz/obsidian-kindle-plugin/blob/bfef1c0f154956ce3c42ac9fac97de19db7c1c19/src/rendering/templates/bookTemplate.njk#L5
This line is always returning authorUrls like this:
[Deepak Chopra](https://www.amazon.comundefined)
I would like all my notes to just link to a page for the author like this:
[[Deepak Chopra]]

Can you give me an example of an Amazon book that results in such a url?
This functionality works. So it must be an issue with a a specific type of books that the plug-in has not catered for.

Sure: https://a.co/d/dZ9bK6v

Example of broken Author link:


create getSeverity function

Description
Create a getSeverity function that calculates the severity level based on an array of thresholds, current time, and first  attempted run times
Reviewer Notes
Is there anything you would like reviewers to give additional scrutiny?
Setup
To run the test:
go test ./cmd/webhook-client/webhook/webhook_test.go --testify.m Test_GetSeverity -v
References

Jira story for this change
this article explains more about severity levels and thresholds.

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against 6aad01eecd3cc54a7ccecd2ef6229689df310d7e


Question about code

This work is a very impressive, but i have some question about your code.
In the line 158 - 171 of src/dataset/dataset.py
Can these lines of code be transformed into formula below

I don't understand the purpose of this formula

Hi @TuRan-sino
The code allows to set of a percentage of the total loss for the prompt tokens and the result tokens (the tokens that the model must generate) during training. If you set the parameter prompt_loss_weight: 0.05, the prompt tokens will contribute 5% to the total loss, while the result tokens will contribute 95%. This formula calculates the weight that should be assigned to each prompt token so that they account for 5% of the total loss.
We conducted some tests with this parameter during the development of GoLLIE and found that setting the weight of the loss tokens to 0 yields the best results. That's why every configuration in GoLLIE/configs has prompt_loss_weight set to 0. Therefore, the result of this formula will always be 0. However, we have retained this parameter in the code for future experiments.

Thank for your replay


Issue

Getting this issue
javax.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not accepted. Learn more at

Hi,
Check out:

https://stackoverflow.com/questions/35347269/javax-mail-authenticationfailedexception-535-5-7-8-username-and-password-not-ac

https://www.youtube.com/watch?v=IWxwWFTlTUQ

😎


How to increase ruler rendering limit more than 1000 lines?

VSCode Version: 1.9.0-insider  9486bf472c5c558e4f1793e0e746da88d071b1cc
OS Version: Window 8.1

Rulers are rendered up to 999 lines. I've looking in all available settings, nothing related.

Just upgrade to 1.9.0-insider, commit ab491d3b40a99485eece2bff1ce8c4aa49aad913. Problem is fixed.
Thanks vscode team. Very fast.


Update Helm CRDs whenever code CRDs are updated

Update Helm CRDs whenever code CRDs are updated

by the way, why do we need the json schema checked out in the git repo? can't we just generate them on the fly for kubeconform to run?

Superseded by https://github.com/cilium/tetragon/pull/2971


Use locales, charsets wherever possible

The PR forces to specify locales, charsets and forbids usage of some apis e.g. System.gc, Runtime.exit and etc. the full list is at src/main/config/forbidden-apis/signatures.txt

@bodiam thanks for your feedback, probably it's better to do these changes in several separate steps, so i will close this PR and submit several others later

@snuyanzin I'm sorry! That was not my intention at all, I'm fine with any approach you choose.

no worries
I agree that there are some things to be improved within this PR.
From the other side there are issues with locale dates and forbidden apis which are not easy to be solved within this PR.
That's why i think it is better to go with smaller steps

Okay, that's fine. I don't want to stop your great work, or make your life harder in any way, it's just that at this moment I'd still really like to have Datafaker a drop in replacement for Javafaker, but better.
If you say we should let go of that, I'm fine with that too, but my original intent was to just replace the dependency, change a few imports, and go. Maybe this intent is no longer applicable or relevant.


Feature/better remove algo

this new deletion algorithm will basically delete all nodes that it discovers opening tags for in between the 2 range positions, and then migrate the siblings from the end of the range up to the begining of the range
(square brackets denote the range)
from this
      <modelRoot>

          <text __id="text1">te[st</text>
          <text>goodbye</text>

          <text>im gonna dissapear</text>

            <text __id="text2">te]st</text>
            <text>moving</text>
            <text>up</text>

      </modelRoot>

to this
      <modelRoot>

          <text __id="text1">te[]st</text>
          <text>moving</text>
          <text>up</text>

      </modelRoot>

currently if the result of the delition are 2 text nodes next to the cursor it will merge them, however this should be easily extendable to other cases.

just wondering @Asergey91 did you have a look at the 'delete-selection' command? is there a specific reason not to use that here?

just wondering @Asergey91 did you have a look at the 'delete-selection' command? is there a specific reason not to use that here? See https://github.com/lblod/ember-rdfa-editor/blob/development/addon/commands/selection-command.ts#L33

yes, however that uses insert/old remove algos under the hood and they dont really do node merges nicely which is needed for backspace/delete hendlers


Puck Editor Input Field Loose Focus while Typing if using plugin

I added a TestPlugin to my puck editor and after adding that, if i try to edit and input field value, on each character type the input field  looses focus. share a link to codesandbox for same: Link
@chrisvxd please have a look at it and let me know if i'm missing something here.

@chrisvxd any updates on this please, this is making the editor not usable for us at the moment.

@sagarchoudhary96 Looks like this is because you're re-setting the initial data. Puck doesn't currently support updating the data from an external source
Commenting out onChange fixes it:
export function Client({ path, data }: { path: string; data: Data }) {
  const [initialData, setInitialData] = useState(data);
  return (
    <Puck
      config={config}
      data={initialData}
      // onChange={setInitialData}
      onPublish={async (data: Data) => {
        await fetch("/puck/api", {
          method: "post",
          body: JSON.stringify({ data, path }),
        });
      }}
      plugins={[TestPlugin]}
    />
  );
}

Related: https://github.com/measuredco/puck/issues/277#issue-2030979514
Going to close this. Feel free to comment if you need more support.

@sagarchoudhary96 I ran into this problem, too.  The new overrides (plugins or in Puck) mechanism causes a re-render. Because your data is being stored in a useState(), it's triggering a UI re-render after the initial re-render from Puck.  In our case setting it to a useRef() which doesn't update the UI fixed the problem for us.

Thanks @chrisvxd  @xaviemirmon  🙂


Fatal error: Uncaught Error: Class

got this error
whats wrong ???
http://prntscr.com/fbmyup

Have you installed this package with composer?
composer require tomloprod/ionic-push-php

yes,
i dont know to using "namespace" or use \bla\bla .
please help :(

this is my folder structure
http://prntscr.com/fbn5k8

In your index.php, add the next code at the top:
require __DIR__ . '/vendor/autoload.php';

So composers will work.

yes, that is worked. thanks
and then i got this error
http://prntscr.com/fbnf3z

ups my bad,
didnt read the Exception.
thanks before, all is working right now .


handle no ticks when rotating

Fixes #544.
Since I was there, I also took a moment to rewrite the code so to make slightly fewer assumptions about the structure of the axis: namely, rather than only looking at the first element’s attributes, look at each element individually. I don’t seeing this having any immediate practical effect, but it does seem slightly cleaner.
There aren’t any tests for the tickRotate option. Any chance you’d be willing to add some to make sure I haven’t broken anything here, @Fil?
(I tested it in this notebook and it seemed to still work…)

I have to do a release since I just bumped D3 to 7.0.3, so I’m going to land this while I’m at it.

looks good! thank you. test added in #546


testRGroupDecomp test fails on intel compilers

RDKit Version: rdkit-Release_2020_03_3

Operating system: CentOS-7

Python version (if relevant): 3.8

Are you using conda? NO
Built from source

Description:
running ctest after cmake ... && make ...
testRGroupDecomp test fails on intel compilers with Assertion fail in CPP code.
        Start 133: testRGroupDecomp
133/173 Test #133: testRGroupDecomp .......................Child aborted***Exception:   0.19 sec
[22:03:32] ********************************************************
[22:03:32] Testing R-Group Decomposition
[22:03:32] ********************************************************
[22:03:32] test rgroup decomp symmetry matching
[22:03:32] ********************************************************
[22:03:32] test rgroup decomp rgroup only matching
[22:03:32] ********************************************************
[22:03:32] test rgroup decomp ring matching
[22:03:32] ********************************************************
[22:03:32] test rgroup decomp full ring dummy core
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] ********************************************************
[22:03:32] test multi core
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] ********************************************************
[22:03:32] test Github #1550: Kekulization error from R-group decomposition
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] ********************************************************
[22:03:32] test remove sidechain Hs
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] ********************************************************
[22:03:32] test matching only rgroups but allows Hs
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] ********************************************************
[22:03:32] test rgroup decomp full ring dummy core
[22:03:32] ********************************************************
[22:03:32] test preferring grouping non hydrogens over hydrogens if possible
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32] WARNING: not removing hydrogen atom with dummy atom neighbors
[22:03:32]

****
Test Assert
Expression Failed:
Violation occurred on line 422 in file /tmp/vsc43143/easybuild/build/RDKit/2020.03.3/intel-2020a-Python-3.8.2/rdkit-Release_2020_03_3/Code/GraphMol/RGroupDecomposition/testRGroupDecomp.cpp
Failed Expression: ss.str() == R"RES(Rgroup===Core\nOc1ccc([*:2])cc1[*:1]\nOc1ccc([*:2])cc1[*:1]\nOc1ccc([*:2])cc1[*:1]\nOc1ccc([*:2])cc1[*:1]\nOc1ccc([*:2])cc1[*:1]\nRgroup===R1\n[H][*:1]\nF[*:1]\nF[*:1]\nF[*:1]\nCl[*:1]\nRgroup===R2\n[H][*:2]\n[H][*:2]\n[H][*:2]\nN[*:2]\n[H][*:2]\n)RES"
****

terminate called after throwing an instance of 'Invar::Invariant'
  what():  Expression Failed:

As we have no access to intel compilers, this will be hard to debug.

We apparently can get intel compilers for open source projects:
https://software.intel.com/content/www/us/en/develop/articles/qualify-for-free-software.html?wapkw=(driver)#opensourcecontributor
But if we do this, I don't expect any resolution anytime soon.  As a stop gap, you can just turn off tests and install normally, I know this is unsatisfying...

You can also exclude the RGroupTest for now
ctest -E RGroup

should do it.

Thank you for quick reply. :)
ctest -E RGroup did the trick, thanks.
If I could be any of help (include other logs, running patched version?) let me know.


volumes for redis replica nodes in docker swaram environment?

We have an application in which we are using Redis as a small database.
We are using Redis in a master-slave configuration in docker swarm environment. We have 1 master node and 2 replica nodes.
For persistent storage we have enabled volumes for master/replica nodes in docker swarm environment e.g if container restarts it can pick data from the volumes file on disk.
Few of my doubts are as below -

Is it necessary to enable volumes for replica nodes?
If we have volumes enabled for replica nodes, in a scenario when replica docker container restarts, will it pick its data from its volumes file on disk? or it ignores that file and only get data after syncing with master node?

Please let me know if you need more information.

Is it necessary to enable volumes for replica nodes?

No

If we have volumes enabled for replica nodes, in a scenario when replica docker container restarts, will it pick its data from its volumes file on disk? or it ignores that file and only get data after syncing with master node?

Replica is synced with master on start.

@mrniko If we add sentinel in this scenario, and I want to have persistence for my redis, in that case do we need to enable volumes for all nodes master and replica ?
I am thinking if actual master goes down and one of the replica becomes master, how can we have persistence in that case if we do not have volumes enabled for replica nodes?


[BUG] Missing validations in shallow snapshot V2 repo creation

Describe the bug

While creating repository for shallow snapshot V2, we have following validations missing:

There can be multiple repositories with the shallow v2 flag enabled.
Repo name can contain a delimiter that is used in the pinning entity

Without these validations, remote store data cleanup will not be straightforward and can lead to zombie data.

Need to get this change in 2.17. PR: https://github.com/opensearch-project/OpenSearch/pull/15911

Closing this issue since the associated PR is already merged.
[Triage - attendees 1 2 3 4 5]


Integration tests are failing due to SSL_ERROR_SYSCALL

All PRs are blocked as Integration tests are failing due to the following errors in the try until mockoon is ready step:
`Run pip install httpie
pip install httpie
until curl -k https://localhost:3000/version; do echo "trying again in 1 second"; sleep 1; done
shell: /usr/bin/bash -e {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.9.10/x64
Collecting httpie
Downloading httpie-3.0.2-py3-none-any.whl (83 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 83.4/83.4 KB 18.3 MB/s eta 0:00:00
Requirement already satisfied: setuptools in /opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages (from httpie) (58.1.0)
Collecting Pygments>=2.5.2
Downloading Pygments-2.11.2-py3-none-any.whl (1.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 48.3 MB/s eta 0:00:00
Requirement already satisfied: defusedxml>=0.6.0 in /opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages (from httpie) (0.7.1)
Requirement already satisfied: requests-toolbelt>=0.9.1 in /opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages (from httpie) (0.9.1)
Requirement already satisfied: charset-normalizer>=2.0.0 in /opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages (from httpie) (2.0.12)
Requirement already satisfied: requests[socks]>=2.22.0 in /opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages (from httpie) (2.27.1)
Collecting multidict>=4.7.0
Downloading multidict-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (114 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 114.2/114.2 KB 30.1 MB/s eta 0:00:00
Requirement already satisfied: certifi>=2017.4.17 in /opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages (from requests[socks]>=2.22.0->httpie) (2021.10.8)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages (from requests[socks]>=2.22.0->httpie) (1.26.8)
Requirement already satisfied: idna<4,>=2.5 in /opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages (from requests[socks]>=2.22.0->httpie) (3.3)
Collecting PySocks!=1.5.7,>=1.5.6
Downloading PySocks-1.7.1-py3-none-any.whl (16 kB)
Installing collected packages: PySocks, Pygments, multidict, httpie
Successfully installed PySocks-1.7.1 Pygments-2.11.2 httpie-3.0.2 multidict-6.0.2
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to localhost:3000
trying again in 1 second`
The try again happens in infinite loop.
I suspect this is due to new mockoon/cli:latest image, which was released 20h ago: https://github.com/mockoon/cli/releases/tag/v1.6.0

I think we can close this issue.


Could you please support Linux platform

I noticed there is a PR to support Linux, but it has not been merged. What happened to it?

please update the package to 3.1.2, i merged the pr


[SPARK-34022][DOCS][FOLLOW-UP] Support latest mkdocs in SQL built-in function docs

What changes were proposed in this pull request?

This PR is a follow-up of #31061. It fixes a typo in a document: Finctions -> Functions
Why are the changes needed?

Make the change better documented.
Does this PR introduce any user-facing change?

No
How was this patch tested?

N/A

Test build #133745 has started for PR 31069 at commit 9199300.

Test build #133745 has started for PR 31069 at commit 9199300.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38333/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38333/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38333/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38333/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38333/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38333/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38333/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38333/

Test build #133745 has finished for PR 31069 at commit 9199300.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #133745 has finished for PR 31069 at commit 9199300.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133745/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133745/