M1 Support

What is the expected behaviour?
pip install qiskit

Should install qiskit but instead currently fails while trying to build tweedledum.
I'm hoping there could maybe be a m1 wheel available that circumvents this issue.
(base)  ~/Downloads/ pip install qiskit

Collecting qiskit
  Using cached qiskit-0.37.2-py3-none-any.whl
Collecting qiskit-terra==0.21.2
  Using cached qiskit_terra-0.21.2-cp39-cp39-macosx_11_0_arm64.whl (6.3 MB)
Collecting qiskit-aer==0.10.4
  Using cached qiskit_aer-0.10.4-cp39-cp39-macosx_11_0_arm64.whl (8.4 MB)
Collecting qiskit-ibmq-provider==0.19.2
  Using cached qiskit_ibmq_provider-0.19.2-py3-none-any.whl (240 kB)
Requirement already satisfied: numpy>=1.16.3 in /Users/thisas/miniforge3/lib/python3.9/site-packages (from qiskit-aer==0.10.4->qiskit) (1.22.4)
Requirement already satisfied: scipy>=1.0 in /Users/thisas/miniforge3/lib/python3.9/site-packages (from qiskit-aer==0.10.4->qiskit) (1.8.1)
Requirement already satisfied: requests>=2.19 in /Users/thisas/miniforge3/lib/python3.9/site-packages (from qiskit-ibmq-provider==0.19.2->qiskit) (2.28.1)
Collecting websockets>=10.0
  Using cached websockets-10.3-cp39-cp39-macosx_11_0_arm64.whl (97 kB)
Requirement already satisfied: urllib3>=1.21.1 in /Users/thisas/miniforge3/lib/python3.9/site-packages (from qiskit-ibmq-provider==0.19.2->qiskit) (1.26.11)
Collecting websocket-client>=1.0.1
  Using cached websocket_client-1.4.1-py3-none-any.whl (55 kB)
Collecting requests-ntlm>=1.1.0
  Using cached requests_ntlm-1.1.0-py2.py3-none-any.whl (5.7 kB)
Requirement already satisfied: python-dateutil>=2.8.0 in /Users/thisas/miniforge3/lib/python3.9/site-packages (from qiskit-ibmq-provider==0.19.2->qiskit) (2.8.2)
Collecting tweedledum<2.0,>=1.1
  Using cached tweedledum-1.1.1.tar.gz (4.8 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting symengine>=0.9
  Using cached symengine-0.9.2-cp39-cp39-macosx_11_0_arm64.whl (14.9 MB)
Collecting psutil>=5
  Using cached psutil-5.9.2-cp39-cp39-macosx_12_0_arm64.whl
Collecting ply>=3.10
  Using cached ply-3.11-py2.py3-none-any.whl (49 kB)
Collecting sympy>=1.3
  Using cached sympy-1.11.1-py3-none-any.whl (6.5 MB)
Collecting dill>=0.3
  Using cached dill-<IP_ADDRESS>-py2.py3-none-any.whl (95 kB)
Collecting retworkx>=0.11.0
  Using cached retworkx-0.11.0-cp39-cp39-macosx_11_0_arm64.whl (1.2 MB)
Collecting stevedore>=3.0.0
  Using cached stevedore-4.0.0-py3-none-any.whl (49 kB)
Requirement already satisfied: six>=1.5 in /Users/thisas/miniforge3/lib/python3.9/site-packages (from python-dateutil>=2.8.0->qiskit-ibmq-provider==0.19.2->qiskit) (1.16.0)
Requirement already satisfied: charset-normalizer<3,>=2 in /Users/thisas/miniforge3/lib/python3.9/site-packages (from requests>=2.19->qiskit-ibmq-provider==0.19.2->qiskit) (2.1.0)
Requirement already satisfied: certifi>=2017.4.17 in /Users/thisas/miniforge3/lib/python3.9/site-packages (from requests>=2.19->qiskit-ibmq-provider==0.19.2->qiskit) (2022.6.15)
Requirement already satisfied: idna<4,>=2.5 in /Users/thisas/miniforge3/lib/python3.9/site-packages (from requests>=2.19->qiskit-ibmq-provider==0.19.2->qiskit) (3.3)
Requirement already satisfied: cryptography>=1.3 in /Users/thisas/miniforge3/lib/python3.9/site-packages (from requests-ntlm>=1.1.0->qiskit-ibmq-provider==0.19.2->qiskit) (37.0.4)
Collecting ntlm-auth>=1.0.2
  Using cached ntlm_auth-1.5.0-py2.py3-none-any.whl (29 kB)
Collecting pbr!=2.1.0,>=2.0.0
  Using cached pbr-5.10.0-py2.py3-none-any.whl (112 kB)
Collecting mpmath>=0.19
  Using cached mpmath-1.2.1-py3-none-any.whl (532 kB)
Requirement already satisfied: cffi>=1.12 in /Users/thisas/miniforge3/lib/python3.9/site-packages (from cryptography>=1.3->requests-ntlm>=1.1.0->qiskit-ibmq-provider==0.19.2->qiskit) (1.15.1)
Requirement already satisfied: pycparser in /Users/thisas/miniforge3/lib/python3.9/site-packages (from cffi>=1.12->cryptography>=1.3->requests-ntlm>=1.1.0->qiskit-ibmq-provider==0.19.2->qiskit) (2.21)
Building wheels for collected packages: tweedledum
  Building wheel for tweedledum (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for tweedledum (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [283 lines of output]
      /private/var/folders/z8/sp2w4vyj3q71z22h0hz0vxs00000gn/T/pip-build-env-4n2392hp/overlay/lib/python3.9/site-packages/setuptools/config/setupcfg.py:508: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
        warnings.warn(msg, warning_class)
      /private/var/folders/z8/sp2w4vyj3q71z22h0hz0vxs00000gn/T/pip-build-env-4n2392hp/overlay/lib/python3.9/site-packages/setuptools/config/pyprojecttoml.py:129: _InvalidFile: The given `pyproject.toml` file is invalid and would be ignored.
          !!

          ############################
          # Invalid `pyproject.toml` #
          ############################

          Any configurations in `pyproject.toml` will be ignored.
          Please note that future releases of setuptools will halt the build process
          if an invalid file is given.

          To prevent setuptools from considering `pyproject.toml` please
          DO NOT include the `[project]` or `[tool.setuptools]` tables in your file.

      !!

        if _skip_bad_config(project_table, orig_setuptools_table, dist):
      Not searching for unused variables given on the command line.
      -- The C compiler identification is AppleClang <IP_ADDRESS>60021
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- The CXX compiler identification is AppleClang <IP_ADDRESS>60021
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- Configuring done
      -- Generating done
      -- Build files have been written to: /private/var/folders/z8/sp2w4vyj3q71z22h0hz0vxs00000gn/T/pip-install-w7llld42/tweedledum_90f313832451432ebe424ead43996e4f/_cmake_test_compile/build
      -- The CXX compiler identification is AppleClang <IP_ADDRESS>60021
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- Found PkgConfig: /opt/homebrew/bin/pkg-config (found version "0.29.2")
      -- Found Eigen3: /private/var/folders/z8/sp2w4vyj3q71z22h0hz0vxs00000gn/T/pip-install-w7llld42/tweedledum_90f313832451432ebe424ead43996e4f/external/eigen (found suitable version "3.4.0", minimum required is "3.3")
      -- Found fmt: /opt/homebrew/include (found suitable version "9.1.0", minimum required is "7.0.0")
      -- Found nlohmann_json: /private/var/folders/z8/sp2w4vyj3q71z22h0hz0vxs00000gn/T/pip-install-w7llld42/tweedledum_90f313832451432ebe424ead43996e4f/external/nlohmann (found suitable version "3.9.1", minimum required is "3.9.0")
      -- Found phmap: /private/var/folders/z8/sp2w4vyj3q71z22h0hz0vxs00000gn/T/pip-install-w7llld42/tweedledum_90f313832451432ebe424ead43996e4f/external/parallel_hashmap (found suitable version "1.0.0", minimum required is "1.0.0")
      -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
      -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
      -- Found Threads: TRUE
      -- pybind11 v2.6.2
      CMake Warning (dev) at /private/var/folders/z8/sp2w4vyj3q71z22h0hz0vxs00000gn/T/pip-build-env-4n2392hp/overlay/lib/python3.9/site-packages/cmake/data/CMake.app/Contents/share/cmake-3.24/Modules/CMakeDependentOption.cmake:89 (message):
        Policy CMP0127 is not set: cmake_dependent_option() supports full Condition
        Syntax.  Run "cmake --help-policy CMP0127" for policy details.  Use the
        cmake_policy command to set the policy and suppress this warning.
      Call Stack (most recent call first):
        external/pybind11/CMakeLists.txt:98 (cmake_dependent_option)
      This warning is for project developers.  Use -Wno-dev to suppress it.

        File "/private/var/folders/z8/sp2w4vyj3q71z22h0hz0vxs00000gn/T/pip-build-env-4n2392hp/overlay/lib/python3.9/site-packages/skbuild/setuptools_wrap.py", line 645, in setup
          cmkr.make(make_args, install_target=cmake_install_target, env=env)
        File "/private/var/folders/z8/sp2w4vyj3q71z22h0hz0vxs00000gn/T/pip-build-env-4n2392hp/overlay/lib/python3.9/site-packages/skbuild/cmaker.py", line 680, in make
          self.make_impl(clargs=clargs, config=config, source_dir=source_dir, install_target=install_target, env=env)
        File "/private/var/folders/z8/sp2w4vyj3q71z22h0hz0vxs00000gn/T/pip-build-env-4n2392hp/overlay/lib/python3.9/site-packages/skbuild/cmaker.py", line 704, in make_impl
          raise SKBuildError(

      --------------------------------------------------------------------------------
      -- Trying "Ninja" generator
      --------------------------------
      ---------------------------
      ----------------------
      -----------------
      ------------
      -------
      --
      --
      -------
      ------------
      -----------------
      ----------------------
      ---------------------------
      --------------------------------
      -- Trying "Ninja" generator - success
      --------------------------------------------------------------------------------

      Configuring Project
        Working directory:
          /private/var/folders/z8/sp2w4vyj3q71z22h0hz0vxs00000gn/T/pip-install-w7llld42/tweedledum_90f313832451432ebe424ead43996e4f/_skbuild/macosx-12.0-arm64-3.9/cmake-build
        Command:
          cmake /private/var/folders/z8/sp2w4vyj3q71z22h0hz0vxs00000gn/T/pip-install-w7llld42/tweedledum_90f313832451432ebe424ead43996e4f -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=/private/var/folders/z8/sp2w4vyj3q71z22h0hz0vxs00000gn/T/pip-install-w7llld42/tweedledum_90f313832451432ebe424ead43996e4f/_skbuild/macosx-12.0-arm64-3.9/cmake-install/python -DPYTHON_VERSION_STRING:STRING=3.9.13 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/private/var/folders/z8/sp2w4vyj3q71z22h0hz0vxs00000gn/T/pip-build-env-4n2392hp/overlay/lib/python3.9/site-packages/skbuild/resources/cmake -DPython3_EXECUTABLE:FILEPATH=/Users/thisas/miniforge3/bin/python3.9 -DPython3_INCLUDE_DIR:PATH=/Users/thisas/miniforge3/include/python3.9 -DPython3_LIBRARY:PATH=/Users/thisas/miniforge3/lib/libpython3.9.dylib -DPython_EXECUTABLE:FILEPATH=/Users/thisas/miniforge3/bin/python3.9 -DPython_INCLUDE_DIR:PATH=/Users/thisas/miniforge3/include/python3.9 -DPython_LIBRARY:PATH=/Users/thisas/miniforge3/lib/libpython3.9.dylib -DPYTHON_EXECUTABLE:FILEPATH=/Users/thisas/miniforge3/bin/python3.9 -DPYTHON_INCLUDE_DIR:PATH=/Users/thisas/miniforge3/include/python3.9 -DPYTHON_LIBRARY:PATH=/Users/thisas/miniforge3/lib/libpython3.9.dylib -DCMAKE_MAKE_PROGRAM:FILEPATH=/private/var/folders/z8/sp2w4vyj3q71z22h0hz0vxs00000gn/T/pip-build-env-4n2392hp/overlay/lib/python3.9/site-packages/ninja/data/bin/ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=12.0 -DCMAKE_OSX_ARCHITECTURES:STRING=arm64

      Traceback (most recent call last):

      An error occurred while building with CMake.
        Command:
          cmake --build . --target install --config Release --
        Install target:
          install
        Source directory:
          /private/var/folders/z8/sp2w4vyj3q71z22h0hz0vxs00000gn/T/pip-install-w7llld42/tweedledum_90f313832451432ebe424ead43996e4f
        Working directory:
          /private/var/folders/z8/sp2w4vyj3q71z22h0hz0vxs00000gn/T/pip-install-w7llld42/tweedledum_90f313832451432ebe424ead43996e4f/_skbuild/macosx-12.0-arm64-3.9/cmake-build
      Please check the install target is valid and see CMake's output for more information.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for tweedledum
Failed to build tweedledum
ERROR: Could not build wheels for tweedledum, which is required to install pyproject.toml-based projects

I tried installing it in a new conda env with --no-cache-dir and the 1.1.1 wheel built fine


Is it possible to have the Apollo client object with the query method available in an async mutation resolver?

e.g.
updateSortBy:  async(_, { sortBy}, {cache} ) => {
  const isValidSort = await client.query({query: SortByCheck, fetchPolicy: 'network-only' })
  if(isValidSort) cache.writeData
 return null
}

As mentioned in https://github.com/apollographql/apollo-link-state/issues/241#issuecomment-381682155, this request is better suited in one of the other Apollo repos. Thanks!


REST API

I was wondering if it would be easy to expose some endpoints for receiving data or sending commands to the car.
Would be a good abstraction to the undocumented VW api and enable many more use cases :)

Yes, that would be my suggestion. I will try to get the library more and more stable to allow others building projects on top of it.


CI(benchmarking): set pub/sub projects for LR tests

Problem

Currently, long-running LR tests recreate endpoints every night. We'd like to have along-running buildup of history to exercise the pageserver in this case (instead of "unit-testing" the same behavior everynight).

Closes #8317
Summary of changes

Update Postgres version for replication tests
Set BENCHMARK_PROJECT_ID_PUB/BENCHMARK_PROJECT_ID_SUB env vars to projects that were created for this purpose

Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
[ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

[ ] Do not forget to reformat commit message to not include the above checklist

Tests failed:
test_runner/performance/test_logical_replication.py:207: in test_publisher_restart
    initial_sync_lag = measure_logical_replication_lag(sub_cur, pub_cur)
test_runner/performance/test_logical_replication.py:70: in measure_logical_replication_lag
    res = sub_cur.fetchall()[0][0]
E   IndexError: list index out of range

https://neon-github-public-dev.s3.amazonaws.com/reports/branch-bayandin-set-lr-pub-sub-projects/10076445235/index.html#suites/da6c1eb856842e7b0eacf9ab8c06985f

Logical Replication benchmarks run for the PR (the last one failed):
https://github.com/neondatabase/neon/actions/workflows/benchmarking.yml?query=branch%3Abayandin%2Fset-lr-pub-sub-projects


quality of output

hi jonathan
I've tried using multiple outputs generated from chatgpt, gemini, gpt-4 . All of the results that are getting predicted are "human written" , where ideally it should come "ai generated". is there a cutoff or anything we can change? or what's the best practice to consume this?
any obersvations/insights on final output will be helpful.

Hello @sockthem,
I see that there are no model visualisation graphs/results in the visualisation section.
Are you sure that the models are loaded and are being used ? Also check if the evaluation is one shot...
Plz provide the json (you can click on the download button in the side panel next to your Job)
Regards

job_1.json
no the models are loading i think. please find the json file attached.

im still not sure why the visualisation bit is not working same as your screenshot. anything im missing?

Hello @sockthem,
The json actually contains the model evaluation part too 0.69 but it is not being used for final output...
you can check your config.py, maybe something might be off there..


EXPERIMENTAL: Add an internal test to see what happens when reloading a shared object

The working assumption is that if dlclose() reaches a refcount of
zero, and the same shared object is loaded again, its variable
sections are cleared or reset to their original values.

Alas, this fails on my laptop.
Is the test correct in so far as actually testing, or did I miss something (like an extra load of libcrypto somewhere...)?

Most likely the fact that libcrypto is compiled with "-znodelete" is causing this.

please let me know when I should test this on NS.

Since "-znodelete" is the default for libcrypto.so on linux any provider linking against libcrypto dynamically will encounter this!!

Since "-znodelete" is the default for libcrypto.so on linux any provider linking against libcrypto dynamically will encounter this!!

Oh, so there's still hope?

Oh, so there's still hope?

Well you'd have to remove "-znodelete"...but then that's there for a reason and removing it has other consequences. The reason is of course the presence of "atexit" which #17584 removes (probably that PR should additionally remove "-znodelete").
But still this issue is indicative of the kind of problem we might encounter. I am waiting for the myriad of other reasons why platform XYZ would run into a problem like this.

I tried rebasing on top of #17584.  Alas...

You need to additionally do this:
diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
index ba224fba84..50984e0aef 100644
--- a/Configurations/10-main.conf
+++ b/Configurations/10-main.conf
@@ -696,7 +696,6 @@ my %targets = (
         dso_scheme       => "dlfcn",
         shared_target    => "linux-shared",
         shared_cflag     => "-fPIC",
-        shared_ldflag    => sub { $disabled{pinshared} ? () : "-Wl,-znodelete" },
         enable           => [ "afalgeng" ],
     },
     "linux-latomic" => {

I'm not sure what will happen on XYZ, but I don't think you can force rld on my platform to keep a DLL in memory. The only way to keep a library in memory is to keep its ref count > 0 - so an extra dlopen().

I'm not sure what will happen on XYZ, but I don't think you can force rld on my platform to keep a DLL in memory. The only way to keep a library in memory is to keep its ref count > 0 - so an extra dlopen().

The question is more: is it guaranteed to be removed from memory immediately on dlclose if the ref count hits zero? Could there ever be a case where the ref count reaches 0 but a subsequent dlopen increments it again before it could be removed from memory?

I'm not sure what will happen on XYZ, but I don't think you can force rld on my platform to keep a DLL in memory. The only way to keep a library in memory is to keep its ref count > 0 - so an extra dlopen().

The question is more: is it guaranteed to be removed from memory immediately on dlclose if the ref count hits zero? Could there ever be a case where the ref count reaches 0 but a subsequent dlopen increments it again before it could be removed from memory?

That's the rub, isn't it.
Case 1: A does not link directly with B.so. If A calls dlopen(B.so), then A calls dlclose(B.so), yes.
Case 2: A links directly with B.so. If A calls dlopen(B.so), then A calls dlclose(B.so), no because A auto-loads B.so on startup.
Case 3: A links directly with C.so; B links directly with C.so. If A calls dlopen(B.so), then A calls dlclose(B.so), C is loaded twice and the dlclose(B.so) drops ref counts to 0 but C.so is still loaded. no.
Case 4: A does not link directly with C.so; B links directly with C.so. If A calls dlopen(B.so) and dlopen(C.so), then A calls dlclose(B.so), dlclose(C.so). C ref count goes to 0 but was loaded twice. C.so is unloaded. So yes.

I'm not sure what will happen on XYZ, but I don't think you can force rld on my platform to keep a DLL in memory. The only way to keep a library in memory is to keep its ref count > 0 - so an extra dlopen().

The question is more: is it guaranteed to be removed from memory immediately on dlclose if the ref count hits zero? Could there ever be a case where the ref count reaches 0 but a subsequent dlopen increments it again before it could be removed from memory?

I'm much more concerned with, is it guaranteed to wipe the variable sections clean on load from ref count == 0?

I'm not sure what will happen on XYZ, but I don't think you can force rld on my platform to keep a DLL in memory. The only way to keep a library in memory is to keep its ref count > 0 - so an extra dlopen().

The question is more: is it guaranteed to be removed from memory immediately on dlclose if the ref count hits zero? Could there ever be a case where the ref count reaches 0 but a subsequent dlopen increments it again before it could be removed from memory?

I'm much more concerned with, is it guaranteed to wipe the variable sections clean on load from ref count == 0?

Another part of the rub. Some implementations apparently share data segments between DLL instances. Others do not. NonStop clearly does not, so it is not about wiping on NonStop. The memory addresses for each unloaded DLL instances are inaccessible so will cause a SIGSEGV if referenced unless another DLL is loaded on top of the data address range.

@rsbeckerca said:

Some implementations apparently share data segments between DLL instances.

I kinda sorta understood where you got that from...  I believe that's a misunderstanding, though.

@rsbeckerca said:

Some implementations apparently share data segments between DLL instances.

I kinda sorta understand where you got that from... I believe that's a misunderstanding, though.

I hoped I was wrong. I don't see how some of the past code could possibly have worked otherwise.

@rsbeckerca said:

Some implementations apparently share data segments between DLL instances.

I kinda sorta understand where you got that from... I believe that's a misunderstanding, though.

I hoped I was wrong. I don't see how some of the past code could possibly have worked otherwise.

It could very simply be luck, i.e. we didn't do that one thing that triggered the latent issue.
The atexit() issue has really been around all the way since its inception, and shouldn't have been too hard to trigger with an engine.  It's just that no one tested those kinds of situations; all our engines are either linked with the exact same libcrypto.so as the app (so one libcrypto instance), or are placed inside libcrypto.a (so again, one libcrypto instance).
We have simply never tested cases where an engine and program do not share the same libcrypto, so no combinations of app linked with libcrypto.a and engine with libcrypto.so or vice versa.

@t8m @levitte Any progress on this experiment?


Provide use knobs to tune raft election timeout and hearbeat durations

@anshulpundir can you add some description to this issue? At what level do you intend for this to be exposed?


[updated] Fix conflicts between smallbank benchmark and fabric-ccp configuration

Signed-off-by: quangtdn<EMAIL_ADDRESS>Please refer to #395  .
In the benchmarking methods smallbankOperations.js and query.js, for fabric-ccp type the test should convert transactions' arguments into Strings before sending the transactions.

Nice catch. It will be merged and the previous PR will be closed.


Showing on the searched object as a result

Currently when we search something on the website , for example linkedin then after typing it completely still some other results show beside it. I guess if a user has completely typed a query then only that query should appear.
See the below image:

In the above image Linksave is still visible even after linkedin is searched. I'd like to work on this issue @JasonDsouza212 , if you approve.

please assign it to me and I will complete by tonight

@mukul314 Do you want to work on this, and are you working under GSSOC23?

Please assign it to me and I will complete by tonight

If @mukul314 refuses to do You will be assigned

@mukul314 Do you want to work on this, and are you working under GSSOC23?

yes @JasonDsouza212 !!


Introduce RootProxy response to serve layout resource files from root dir

Some resource files need to be served from the root directory of the web site.
E.g. a service worker should be served at /service-worker.js.
I'm introducing a "root proxy" response which can serve any resource files off the
root directory, by escaping / with -- in the URL.
This replaces #1715
For example we can then use this URL:
https://www.denkmal.dev/resource-layout--de--35--1428164686--manifest.json

@vogdb @tomaszdurka please review

lgtm

btw front-end is lgtm. Didn't dig deep into back-end.

Woah, was not suspecting that some files really need to be served from root.
This manifest.json seems really problematic.

The manifest.json doesn't need to be on root, but a JS service worker has to!
@tomaszdurka agree on these changes?

Well, I guess we have no choice!
Looks ok.

:)


Add stats in fabric for partition and normal views

Overview
Record the number of partition and global view queries along
with the number of timeouts that occur.
With partition queries, it is possible to set a much stricter global timeout value. We want to be able to record the number of timeouts that would occur as the number of total requests.
Testing recommendations
Run the partition tests and then check stats
Related Issues or Pull Requests

Checklist

[x] Code is written and works correctly;
[ ] Changes are covered by tests;
[ ] Documentation reflects the changes;

Looks ok for metrics.


diff stringData with data

Describe the problem/challenge you have
Secrets created with stringData is treated as delete and add.
  0,  0   apiVersion: v1
  1     - data:
  2     -   oidc.config.clientSecret: <-- value not shown (#1)
      1 + data: {}
  4,  2   kind: Secret
  5,  3   metadata:
  ...
 17, 15     uid: 3e4606fc-32d9-11eb-88c8-ac1f6b59972e
 18     - type: Opaque
     16 + stringData:
     17 +   oidc.config.clientSecret: <-- value not shown (#3)

Describe the solution you'd like
Compare the content of data and stringData to show the real difference
Anything else you would like to add:
N/A

Hi @yujunz,
Looking at your diff output I'm not sure exactly what is going on, are you switching from using data to using stringData?
Also, which diff strategy are you using?
One option to see the values of your secret in the diff is to use --diff-mask flag set to false

Yeah, kind of that. The simplest way to reproduce.
➜  kubectl create secret generic sample --from-literal=foo=bar
secret/sample created
➜  kapp deploy --app sample --diff-changes --diff-mask=false -f - <<EOF
apiVersion: v1
kind: Secret
metadata:
  name: sample
stringData:
  foo:bar
EOF
Target cluster 'https://<IP_ADDRESS>:55000' (nodes: kind-control-plane)

@@ update secret/sample (v1) namespace: default @@
  0,  0   apiVersion: v1
  1     - data:
  2     -   foo: YmFy
  3,  1   kind: Secret
  4,  2   metadata:
  5,  3     creationTimestamp: "2020-12-20T02:45:08Z"
      4 +   labels:
      5 +     kapp.k14s.io/app: "1608431719079672000"
      6 +     kapp.k14s.io/association: v1.f7d675bc068eea2d1c6c52535cb9e452
  6,  7     name: sample
  7,  8     namespace: default
  ...
 10, 11     uid: 105d4fbc-756f-462a-a6c9-4e133111d585
 11     - type: Opaque
     12 + stringData: foo:bar

It does not actually modify the content of secret except the kapp notations.

Hey @yujunz , thanks for adding the reproduction steps.
Following the steps, creating a secret via kubectl create secret generic sample --from-literal=foo=bar
Creates a resource in the cluster that looks like this:
apiVersion: v1
kind: Secret
data:
  foo: YmFy

Updating the secret with the second command attempts to diff the above with a resource that looks like this:
apiVersion: v1
kind: Secret
metadata:
  name: sample
stringData:
  foo: bar

Notably, the key data and stringData are different.
Since kapp's diff compares the input against resources that exist in Kubernetes API, it sees the difference in key name as an update.
What would you like the output of this diff to look like?
Additionally, it is valid to have a secret with both data and stringData. In this case, what would you imagine the diff to look like?

Hey @yujunz , thanks for adding the reproduction steps.
Following the steps, creating a secret via kubectl create secret generic sample --from-literal=foo=bar
Creates a resource in the cluster that looks like this:
apiVersion: v1
kind: Secret
data:
  foo: YmFy

Updating the secret with the second command attempts to diff the above with a resource that looks like this:
apiVersion: v1
kind: Secret
metadata:
  name: sample
stringData:
  foo: bar

Notably, the key data and stringData are different.
Since kapp's diff compares the input against resources that exist in Kubernetes API, it sees the difference in key name as an update.
What would you like the output of this diff to look like?
Additionally, it is valid to have a secret with both data and stringData. In this case, what would you imagine the diff to look like?

Since kapp's diff compares the input against resources that exist in Kubernetes API, it sees the difference in key name as an update.

This design makes sense. But normally end user would expect a diff of output instead of input at least on my side.
Applying stringData  will also resulted in data in kubernetes resource on my side.
❯ kubectl get secret sample -o yaml
apiVersion: v1
data:
  foo: YmFy
kind: Secret
metadata:
  annotations:
    kapp.k14s.io/identity: v1;default//Secret/sample;v1
    kapp.k14s.io/original: '{"apiVersion":"v1","kind":"Secret","metadata":{"labels":{"kapp.k14s.io/app":"1609915378573538000","kapp.k14s.io/association":"v1.f7d675bc068eea2d1c6c52535cb9e452"},"name":"sample","namespace":"default"},"stringData":{"foo":"bar"}}'
    kapp.k14s.io/original-diff-md5: c30a6989f4160bcc7194737075867fd3
  creationTimestamp: "2021-01-06T06:42:36Z"
  labels:
    kapp.k14s.io/app: "1609915378573538000"
    kapp.k14s.io/association: v1.f7d675bc068eea2d1c6c52535cb9e452
  name: sample
  namespace: default
  resourceVersion: "414664242"
  selfLink: /api/v1/namespaces/default/secrets/sample
  uid: 5ca8e4dc-4fea-11eb-9979-ac1f6b4ea082
type: Opaque

Note stringData in kapp annotation and data in resource yaml.  The output is actually not changed at all while the diff preview gives me a wrong message that it will modify something. And if the content did get modified, it will likely get ignored if user assume it is normal.
Anyway, it is literally a case of importing existing secret to kapp. It won't show up when run again. When you say diff compares the input against that exist in Kubernetes API, are you referring to the kapp original annotation?

Since kapp's diff compares the input against resources that exist in Kubernetes API, it sees the difference in key name as an update.

This design makes sense. But normally end user would expect a diff of output instead of input at least on my side.
Applying stringData  will also resulted in data in kubernetes resource on my side.
❯ kubectl get secret sample -o yaml
apiVersion: v1
data:
  foo: YmFy
kind: Secret
metadata:
  annotations:
    kapp.k14s.io/identity: v1;default//Secret/sample;v1
    kapp.k14s.io/original: '{"apiVersion":"v1","kind":"Secret","metadata":{"labels":{"kapp.k14s.io/app":"1609915378573538000","kapp.k14s.io/association":"v1.f7d675bc068eea2d1c6c52535cb9e452"},"name":"sample","namespace":"default"},"stringData":{"foo":"bar"}}'
    kapp.k14s.io/original-diff-md5: c30a6989f4160bcc7194737075867fd3
  creationTimestamp: "2021-01-06T06:42:36Z"
  labels:
    kapp.k14s.io/app: "1609915378573538000"
    kapp.k14s.io/association: v1.f7d675bc068eea2d1c6c52535cb9e452
  name: sample
  namespace: default
  resourceVersion: "414664242"
  selfLink: /api/v1/namespaces/default/secrets/sample
  uid: 5ca8e4dc-4fea-11eb-9979-ac1f6b4ea082
type: Opaque

Note stringData in kapp annotation and data in resource yaml.  The output is actually not changed at all while the diff preview gives me a wrong message that it will modify something. And if the content did get modified, it will likely get ignored if user assume it is normal.
Anyway, it is literally a case of importing existing secret to kapp. It won't show up when run again. When you say diff compares the input against that exist in Kubernetes API, are you referring to the kapp original annotation?

When you say diff compares the input against that exist in Kubernetes API, are you referring to the kapp original annotation?

In reading @pivotal-dean's original message, I am assuming she was referring to the key as the stringdata, not the kapp annotation.
But after reading over everything in the issue, we think it makes sense that it is a bit confusing to include the input data in the diff as you were saying. We'll try to introduce this into our backlog to see what the right approach to this would be.
Thanks again for bring this to our attention.
//cc @DennisDenuto

When you say diff compares the input against that exist in Kubernetes API, are you referring to the kapp original annotation?

In reading @pivotal-dean's original message, I am assuming she was referring to the key as the stringdata, not the kapp annotation.
But after reading over everything in the issue, we think it makes sense that it is a bit confusing to include the input data in the diff as you were saying. We'll try to introduce this into our backlog to see what the right approach to this would be.
Thanks again for bring this to our attention.
//cc @DennisDenuto


Update Set-DlpComplianceRule.md

Clarification of PermissionControlled value for the message type condition to include OME and sensitivity labels with encryption.
Thanks!

Docs Build status updates of commit e08c107:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/Set-DlpComplianceRule.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 4405387:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/Set-DlpComplianceRule.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit de0cf1e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/Set-DlpComplianceRule.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


webapp not working via phone

Hey! WebApp opens and displays content if open it through the PC, but not via phone.
When I open it on my phone, I get a blank page.
"node-telegram-bot-api": "^0.61.0",
I'm using Nestjs + Nextjs
        if (telegramBot) {
            telegramBot.onText(/\/start/, (msg) => {
                const chatId = msg.chat.id;

                const appURL = process.env.BOT_URL + webAppUrl

                const inlineKeyboard = {
                    inline_keyboard: [
                        [
                            { text: '1', web_app: {url: appURL} },
                            { text: '2', web_app: {url: appURL} },
                        ],
                        [{ text: '3', web_app: {url: appURL} }],
                    ],
                };

                const replyMarkup = JSON.stringify(inlineKeyboard);

                const options = {
                    reply_markup: replyMarkup,
                };

                const welcomeMessage = `Hey! My id: ${botId}. Choose:`;

                this.sendMessageWithInlineKeyboard(botId, chatId, welcomeMessage, options);

Here is the part of the code how I call the webapp.
I don't see any errors.
If I set the Google page in the URL, then it will open from the phone.
I don't understand what could be the problem when with the current code, my page opens only via PC, but on the phone - a blank screen.
In running ngrok I see my request, I get a successful response:
GET /catalog/9ea92010-4a7f-11ee-9ba1-304388321028 200 OK

Hi! Did you solve your problem?


UAT Feedback - Padding and missing links

1. H4 in mobile view
H4 in Franklin Site:

H4 in AEM Site:

**2. Featured Card **

3. Slider

4. Veterans Page
Padding is off
404 Missing page from header
4. Diversity Page

5. Why Caesars

6. Perks and Benefits

7. Day of Hiring

Also fixed header and footer links


Allow inline DC adjustments to be strings

Same as #10816: this should be part of a function added to the roll math proxy


"build": "BuildJob/LATEST" in spec file gives 415 Unsupported Media Type error

https://www.jfrog.com/confluence/display/RTF/Using+File+Specs:
{
  "files": [
    {
      "pattern" or "aql": "[Mandatory]",
      "target": "[Mandatory]",
      "props": "[Optional]",
      "recursive": "[Optional, Default: true]",
      "flat": "[Optional, Default: false]",
      "build": "[Optional]"
    }
  ]
}

build
[Optional]
If specified, only artifacts of the specified build are downloaded. The "pattern" property is still taken into account when "build" is specified.
The property format is build-name/build-number.
If the build number is not specified, or the keyword LATEST is used for the build number, then the latest published build number is used.

However, using the product structure generic-local/org/prod/version/... (where each version is produced by a separate build) and running the following commands gives 415 Unsupported Media Type error:
$ jfrog -version
jfrog version 1.9.0

$ cat bin.spec
{
    "files": [
        {
            "pattern": "generic-local/org/prod/",
            "target": "localdir/",
            "build": "BuildJob/LATEST"
        }
    ]
}

$ jfrog rt dl --spec bin.spec
[Info] Performing SSH authentication...
[Info] SSH authentication successful.
[Info] Searching items to download...
[Error] Artifactory response: 415 Unsupported Media Type
{
  "errors": [
    {
      "status": 415,
      "message": "Unsupported Media Type"
    }
  ]
}

Expected/wanted behavior is to fetch all files produced from the latest build of "BuildJob".
Note that specifying a specific version also gives unexpected results. Running:
$ cat bin.spec
{
    "files": [
        {
            "pattern": "generic-local/org/prod/",
            "target": "localdir/",
            "build": "BuildJob/123"
        }
    ]
}

$ jfrog rt dl --spec bin.spec
...
...

downloads all artifacts below generic-local/org/prod/ but the expected behavior is to only download the artifacts produced from BuildJob/123.
Maybe I misinterpret the documentation and my spec file is incorrect?

Thank you @jlycke for reporting this.
We are investigating the "Unsupported Media Type" error.
As for the download behavior, when a build param is provided the CLI will download all the files that have the checksums that were uploaded by the provided build and match the spec pattern. So basically if the same artifact was deployed twice in two separate builds and both will match the pattern, both will be downloaded. Is this your case?

We have fixed the "Unsupported Media Type" error. The relevant commit can be viewed here.
This fix will be added in our next JFrog CLI release.
As a workaround, you can use basic authentication or build the CLI from our dev branch.

Thank you @DimaNevelev for the "Unsupported Media Type" fix.
Regarding the download behavior, after double checking the checksum it seems like you are correct. The files that are downloaded several times are the same. However, this is very confusing.
We use the "build.number" as version.
generic-local/org/prod/
                      123/
                         files...
                      124/
                         files...
                      125/
                         files...

So we basically know that all files in prod/124 origins from BuildJob/124.
With the spec file:
{
    "files": [
        {
            "pattern": "generic-local/org/prod/",
            "target": "localdir/",
            "build": "BuildJob/124"
        }
    ]
}

we only expect files to be downloaded from "generic-local/org/prod/124/". Seeing files from "generic-local/org/prod/123/" in the log is very worrisome (even though the files are the same).
Note that the behavior for "props" differs. If I specify the properties build.name and build.number with the same pattern then the files are only downloaded once. Shouldn't the behavior with "build" be the same? The problem with using properties is that I can't use the LATEST functionality.
Isn't it also a waste to download the same file several times?
Thank you for the quick response!

The functionality should indeed be optimised. We will add a fix for it in one of the CLI's upcoming releases.
Currently, you can achieve this behaviour by providing a more specific path. For example "generic-local/org/prod/124/".

@jlycke,
Version 1.11.1 includes an improvement to the logic and AQL used for searching artifacts by builds in Artifactory.
We believe that the issue you described should also be resolved by this fix.
We would appreciate your feedback for it. Thank you.

@jlycke,
With your permission, I'm closing this issue.
Please let us know in case the issue is not resolved.


[idea] Add simpler effect interface to make implementing completly custom effects easier

I'm not sure whether I really like this, but it's an idea I had.
The current Effect class has many things special to itself. A parent interface with less properties that should be required instead of Effect in most cases would make it easier to implement completly custom effects.
  Iterable<AnimatedParticle> get activeParticles;

  /// Advances the effect animation based on the elapsed time in milliseconds.
  /// This method is automatically called to update the particle animation.
  void forward(int elapsedMillis);

  set postEffectCallback(ValueChanged<Effect>? effect);

  /// Callback to be notified when state has changed
  set stateChangeCallback(void Function(Effect, EffectState)? value);

  /// Size of the animation surface.
  set surfaceSize(Size value);

   /// Starts the effect emission, allowing particles to be emitted.
  void start();

  /// Stops the effect emission, optionally cancelling all active particles.
  void stop({bool cancel = false});

  /// Kills the effect, stopping all particle emission and removing active particles.
  void kill();
}

Not sure to get the point, right now the only thing to implement for effect is instantiateParticle, other methods are here to let people have the possibility to override them if needed. Do you have a sample code to show what's bothering you?

I'm not sure myself. Yes right now one only has to override instantiateParticle, that would still be the case when extending Effect.
I'm thinking about creating effects that can't be represented by EffectConfiguration. The current Effect class always requires EffectConfiguration, I don't really like that. The interface would allow creating another Effect class that doesn't use EffectConfiguration.

The EffectConfiguration is here to help you modulate part of the animation, but an effect is not forced to take into account all the parameters of an EffectConfiguration. That's why all the properties have default values. I love practical example so if you have an effect in mind let's try to implement it and see how we could improve the API. I'm eager to see what you are cooking :D

There is no reason, effect only deals with AnimatedParticles and doesn‘t car about subtypes

This one can be closed as the new implementation coming with physics doesn’t require creating custom effects anymore. Everything can be achieved through configuration.


Crash with last version of Beast Slayer

Crash with Beast Slayer [beastslayer-2.0.test_1.041]
crash-2024-11-17_11.06.53-client.txt

I see the issue, Beast Slayer changed the name of that single configuration for ...some reason (internal screaming).
I'm a little busy at the moment so the fix is a while out.

The configuration option field name has been reverted. This crash should be fixed in the next Beast Slayer update.

Yeah, it seems to be working.


Update application icon

Summary of the Pull Request
Update the icon for PowerToys.exe, the legacy Settings app and for the MSI dialogs.
Waiting to receive the 44x44 and 150x1550 icons for the new Settings app (https://github.com/microsoft/PowerToys/issues/2487).

PR Checklist

[x] Applies to https://github.com/microsoft/PowerToys/issues/1118

Validation Steps Performed
Built the MSI, insalled it and verified the new icon is used.

LOVE IT!!!!

IMO, lets get this in, then do another PR for the other 2 MIA icons


[AIRFLOW-1235] In webserver, when gunicorn master dies, bubble up exc

JIRA

[ X] My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-1235

Description

[ ] Here are some details about my PR, including screenshots of any UI changes:

This catches the condition where gunicorn master process exits (usually due to a problem starting workers, e.g. SQL unavailable), but airflow isn't aware and the webserver just keeps running.  This change will not leave airflow webserver in a hung state. It should crash all the way out, so that systemd/supervisord/docker/whatever init system can restart it.
This is a partial fix so we should not close out the Issue. We need to fix the underlying condition and make the airflow www app more robust (perhaps some retries) and potentially consider restarting gunicorn if it crashes.
Tests

[X] My PR adds the following unit tests OR does not need testing for this extremely good reason:
This is a trivial change. The positive case is already covered in test coverage. I'm not totally sure how to cover the negative case (e.g. gunicorn dies).  Mocking?

Commits

[X ] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

[X ] Passes git diff upstream/master -u -- "*.py" | flake8 --diff

LGTM. +1
Is there any chance you could also add a test covering this? Since the behaviour to reproduce is documented in the ticket, it would be helpful.

@artwr I added a unit test for the new code. I didn't specifically repro the root cause that i saw in the Issue (database comms issues) but just mocked the conditions being checked, e.g. the gunicorn process not running or in a zombie or stopped state.  Should be good enough.
I also fixed a minor bug for the difference between running in daemon mode or not -- a different object class is used (Process vs Popen).

Codecov Report

Merging #3144 into master will increase coverage by 0.07%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #3144      +/-   ##
==========================================
+ Coverage   73.05%   73.13%   +0.07%
==========================================
  Files         180      180
  Lines       12654    12656       +2
==========================================
+ Hits         9245     9256      +11
+ Misses       3409     3400       -9

Impacted Files
Coverage Δ

airflow/bin/cli.py
56.35% <100%> (+1.33%)
:arrow_up:

airflow/models.py
87.33% <0%> (+0.04%)
:arrow_up:

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 f642242...8fa5b6b. Read the comment docs.

I’m afraid that this fix doesn't seem to cover all infinity-loop cases. For example, if gunicorn becomes a zombie within calling wait_until_true, it doesn't return and the newly added if-statement won't be executed. I've already sent a PR for this problem as #2330. Is that insufficient?

@sekikn I didn't see your PR before writing this.  I'll check it out!

Close in favor of #2330


Host mounted directories are correctly chowned to the remapped root, if the directory does not already exist

- What I did
Host mounts created by Docker now make sure:

Already existing directories are left untouched
Newly created directories are chowned to the correct root UID/GID in case of user namespaces
All parent directories still get created with host root UID/GID

Fix #21738
- How I did it
Changed MountPoint.Setup() to accept the remapped UID/GID, which is then passed to idtools. MkdirAllNewAs(), as it is already done with local driver volumes
- How to verify it

[With dockerd] Run docker run --rm -v /tmp/without-user-ns:/tmp hello-world and verify it's owned by root
[With dockerd --userns-remap default] Run docker run --rm -v /tmp/with-user-ns:/tmp hello-world and verify it's owned by the remapped root
[With dockerd --userns-remap default] Run docker run --rm -v /tmp/without-user-ns:/tmp hello-world and verify it's owned by root, since it already existed

- Description for the changelog
Host mounted directories are correctly chowned to the remapped root, if the directory does not already exist

Signed-off-by: Antonis Kalipetis<EMAIL_ADDRESS>

cc @estesp

This seems to make sense to me.

makes sense to me.. thanks for the contribution!

Thanks, that's good to hear. Is there anything I need to do to move this forward @cpuguy83 @estesp?
The failing test seems like a random failure, I could not reproduce locally. Is there a way to run the tests again?

Restarting the experimental build; tested locally--works properly for existing and non-existing dirs.
Maybe a test would be good given we've had a few escapes in this area as code was refactored around volumes?
Code LGTM

@akalipetis Could you add a testcase for this in TestDaemonUserNamespaceRootSetting?

Thanks @tonistiigi for the direction, I think I'll get back to this during the weekend!

Hello @tonistiigi - I have updated the test, but I can't understand how to run this particular test. I've tried the following:
$ TESTFLAGS='-check.f DockerSuite.TestDaemonUserNamespaceRoot' make test-integration-cli
$ TESTFLAGS='-check.f DockerSuite.TestDaemon*' make test-integration-cli

I also checked and I could not see this running in the Jenkins logs of recent builds.
I also tried having DOCKER_EXPERIMENTAL=1 and DOCKER_REMAP_ROOT=dedault on and off in different combinations but still couldn't...
Could you please shed some light? My Go experience is limited, so sorry if I miss something pretty obvious.

Never mind, sorry for the confusion. It was a type DockerSuite  -> DockerDaemonSuite - sorry for that 😞
I have updated the test, waiting for the tests to pass now 🎉

Tests have passed, let me know what you think @estesp @tonistiigi

LGTM

LGTM

Thanks a lot @estesp @tonistiigi for the help and the merge 😄


Upgrade gradle to 3.2.1

from 3.0 to 3.2.1.
Release notes:

3.2: https://docs.gradle.org/3.2/release-notes
3.1: https://docs.gradle.org/3.1/release-notes

Incremental build becomes faster.

👍


Patch the new sympy printing base class instead of Basic

Patching Basic.__repr__ results in the pretty-printer on SympyPrintable being ignored, which makes the notebook tests fail CI.
If we patch SympyPrintable.__repr__ instead, then the pretty-printer is still respected.
Note that sympy.printing.defaults.Printable is new in the unreleased sympy 1.7

To make CI pass, this will need (at least) sympy/sympy#19902, which should now be merged.
A failing CI run from before this patch with 13 failures: https://app.circleci.com/pipelines/github/pygae/galgebra/1134/workflows/3944fa71-53e0-4eff-ad91-d57e26a223d8/jobs/6545
One from after this patch with only 7 failures:
https://app.circleci.com/pipelines/github/pygae/galgebra/1137/workflows/d6e511b1-82a8-4825-bd35-9013d5a3bb43/jobs/6572/tests

6 of the 7 remaining changes are bugfixes in upstream sympy.
I have no idea what the last one is.
Either way, I do not intend to address them in this PR.

I found the same PR then sympy/sympy#19917 .


Add the possibility to create custom 2d orthographic cameras

Objective

The OrthographicCameraBundle constructor for 2d cameras uses a hardcoded value for Z position and scale of the camera. It could be useful to be able to customize these values.

Solution

Add a new constructor custom_2d that takes far (Z position) and scale as parameters. The default constructor new_2d uses this constructor with far = 1000.0 and scale = 1.0.

Since you can already express this with
let bundle = OrthographicCameraBundle {
  orthographic_projection: OrphographicProjection {
    far: 1000.0,
    scale: 1.0,
    depth_calculation: DepthCalculation::ZDifference,
    ..Default::default()
  },
 ..OrthographicCameraBundle::new_2d(),
};

I wonder whether having a custom contructor is worth it. Usually in bevy the recommended way to configure bundles is by overriding some fields and extending ..Default::default() or ..OrthographicCameraBundle::new_2d(), like there is no PbrBundle::new(mesh, material).
When you have a custom contructor you need to decide between having a very long new_with_far_scale_depth_calculation_scaling_mode(_: f32, _: f32, _. DepthCalculation, _: ScalingMode) or having a constructor for the common case, but then when someone wants to change the scaling mode they need to use the other pattern anyways.

Since you can already express this with
let bundle = OrthographicCameraBundle {
  orthographic_projection: OrphographicProjection {
    far: 1000.0,
    scale: 1.0,
    depth_calculation: DepthCalculation::ZDifference,
    ..Default::default()
  },
 ..OrthographicCameraBundle::new_2d(),
};

I wonder whether having a custom contructor is worth it. Usually in bevy the recommended way to configure bundles is by overriding some fields and extending ..Default::default() or ..OrthographicCameraBundle::new_2d(), like there is no PbrBundle::new(mesh, material).
When you have a custom contructor you need to decide between having a very long new_with_far_scale_depth_calculation_scaling_mode(_: f32, _: f32, _. DepthCalculation, _: ScalingMode) or having a constructor for the common case, but then when someone wants to change the scaling mode they need to use the other pattern anyways.

Since you can already express this with
let bundle = OrthographicCameraBundle {
  orthographic_projection: OrphographicProjection {
    far: 1000.0,
    scale: 1.0,
    depth_calculation: DepthCalculation::ZDifference,
    ..Default::default()
  },
 ..OrthographicCameraBundle::new_2d(),
};

I wonder whether having a custom contructor is worth it. Usually in bevy the recommended way to configure bundles is by overriding some fields and extending ..Default::default() or ..OrthographicCameraBundle::new_2d(), like there is no PbrBundle::new(mesh, material).
When you have a custom contructor you need to decide between having a very long new_with_far_scale_depth_calculation_scaling_mode(_: f32, _: f32, _. DepthCalculation, _: ScalingMode) or having a constructor for the common case, but then when someone wants to change the scaling mode they need to use the other pattern anyways.

I don't think this would work in that case because other components of the bundle would still be set with far = 1000.0. This argument is used in different places so I think it can be valuable to have a way to set it just once.

Oh right, the value is used both in the Camera and OrthographicProjection. In that case I totally see the value.
I don't like the name custom_2d though because it gives no intuition about what the values mean. Maybe with_far_scale would be an option, although it sounds like it sets the "far scale". with_far_plane_and_scale?

Oh right, the value is used both in the Camera and OrthographicProjection. In that case I totally see the value.
I don't like the name custom_2d though because it gives no intuition about what the values mean. Maybe with_far_scale would be an option, although it sounds like it sets the "far scale". with_far_plane_and_scale?

Alternatively, we could just have it set the far plane since that's the tricky one. Users could then just mutate the scale after construction via camera.projection.scale if they need to.

Alternatively, we could just have it set the far plane since that's the tricky one. Users could then just mutate the scale after construction via camera.orthographic_projection.scale if they need to.

That's a good point. Maybe with the name 2d_with_far to make it clear that it's a 2d camera ?

I'm not completely a fan of the fn new_2d_with_far(far: f32) -> Self method...
What would you think of having instead a fn with_far(mut self, far: f32) -> Self that would apply the given far to an existing OrthographicCameraBundle? So you would do OrthographicCameraBundle::new_2d().with_far(5000.0).
Not suggesting the change, it has drawbacks too like needing to duplicate some code.

I'm not completely a fan of the fn new_2d_with_far(far: f32) -> Self method... What would you think of having instead a fn with_far(mut self, far: f32) -> Self that would apply the given far to an existing OrthographicCameraBundle? So you would do OrthographicCameraBundle::new_2d().with_far(5000.0). Not suggesting the change, it has drawbacks too like needing to duplicate some code.

I prefer the current approach. Otherwise I feel like for API consistency we should have ::new().as_2d().with_far(5000.0) but then for construction efficiency I'd probably want it to be a builder not building at every step.

but then for construction efficiency I'd probably want it to be a builder not building at every step.

This is probably a silly concern here; 99% of games will have exactly one camera built ever ;)

bors r+


Include raw payload

Hey @semlette ,
thanks for your work and your awesome library. It works like a charm.
We need to read NDEFText tags where the first byte as well as the language code was not written correctly. Therefore we need some mechanism to access the raw payload, which we implemented in this pull request. Because we don't think it should be provided by default, we added it as optional parameter to the startReading method.
We hope you appreciate our work and approve it to be merged. If not, please tell us what we should improve.
Best regards,
Laurens

:+1:
Awesome, I was just looking for this. I also have badly formatted NFC tags. Hope this gets merged soon :slightly_smiling_face:

This seems like a good change.
The removal of the first byte stems back to v1, when I didn't even know what it was for - only in v2 did I realise.
Would the dart:typed_data Uint8List be a better data type than String?
Is there a particular reason why this should be controlled by an argument instead of always being set?

Thanks for the input, Uint8List is indeed better.
We thought some people won't need the raw payload, but it's probably easier to always provide the raw payload in case someone needs it.

Were you already able to test the changes?

Afraid I don't have time to test it.
Will happily merge and release if you confirm that does indeed work.
@avbk, what do you think of this?

I just tried the branch and it seems to work pretty well :slightly_smiling_face:

Included in v2.0.5.


Overlay breaks buttons

I've added an overlay that covers the whole screen (ios):
    cameraOverlayView = myView
    cameraOverlayView.frame = self.view.frame

There are a couple of buttons on the overlay, and they work fine.  But when I click on any other location on the screen, the click passes through to the focus view - bypassing the buttons (take picture, flash, reverse).
(the buttons I'm adding on on the bottom left and on the right side of the screen)

Hi @kwerle
In the case, the cameraOverlayView will be the hit-test view always. So when you click on any other location, the touchesBegan of the DKCamera will be called. To solve this, you have to override your cameraOverlayView's hitTest method like so:
class CustomView: UIView {
	private override func hitTest(point: CGPoint, withEvent event: UIEvent?) -> UIView? {
		let hitTestingView = super.hitTest(point, withEvent: event)
		return hitTestingView == self ? nil : hitTestingView
	}
}

See also: The Responder Chain

I recommend you rename this PassthroughView and include it in the framework.  It's super handy and it's what most developers are going to want to use or subclass if they do an overlay.

@kwerle
Thanks for your suggestion!


Add link to the finder list page from each section

Trello: https://trello.com/c/b9mzRtCa
Add a link from each supergroup section on the topic page to list page in finder-frontend.
Example page: https://govuk-collections-pr-566.herokuapp.com/education/funding-and-finance-for-students
The links to the finders on this page will try to route you to a page within the preview app. In a "normal" environment, you'll be routed to the finder page.
E.g.
Example link to "Services" finder: https://www-origin.integration.publishing.service.gov.uk/search/advanced?content_purpose_supergroup=services&taxons=%2Feducation%2Ffunding-and-finance-for-students
Example link to "Guidance and regulation" finder: https://www-origin.integration.publishing.service.gov.uk/search/advanced?content_purpose_supergroup=guidance_and_regulation&taxons=%2Feducation%2Ffunding-and-finance-for-students

@vanitabarrett I've updated the key name for the link.


Fixed by: https://github.com/krzysztofarendt/building3d/pull/6
(Joggling helped)


TLSRoute Conformance Test

https://github.com/envoyproxy/gateway/pull/402 added TLSRoute support. A TLSRoute conformance test should be created upstream .

cc: @chauhanshubham

ref. https://github.com/kubernetes-sigs/gateway-api/pull/1587

ref. kubernetes-sigs/gateway-api#1587

above test has been released as part of v0.6.1 and is enabled by default in our conformance CI


High performance Draw3DLine function

It speeds up my ray debug rendering so much so I can't help firing a pull request.

Well something made this PR automatically closed ...

 Anyways, the code is still in my engine so will make a new PR soon.


Redundant "create lambda bootstrap file" step in Makefile

This step in the makefile creates a symbolic link from the built lambda executable to /bootstrap...
# create lambda bootstrap file
docker run --rm -v $($@BUILD_DIR):/build-target -v `pwd`:/build-src -w /build-src swift-builder bash -cl "cd /build-target/lambda && ln -s $($@PRODUCT) /bootstrap"

But the rest of the makefile ignores the /bootstrap symbolic link, and instead copies the binary directly into the artifacts directory.
Do you really need that "docker run... ln -s" step?

I have updated the projects to use Swift 6.0 and Swift Lambda Runtime v2. The code is also now compiled using the swift package archive plugin instead of the makefile.
Please let me know if that works for you.


python311Packages.aiohomekit: 3.0.4 -> 3.0.5

Diff: https://github.com/Jc2k/aiohomekit/compare/refs/tags/3.0.4...3.0.5
Changelog: https://github.com/Jc2k/aiohomekit/releases/tag/3.0.5
Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 257586 run on x86_64-linux 1

5 packages built:

home-assistant-component-tests.homekit_controller
python310Packages.aiohomekit
python310Packages.aiohomekit.dist
python311Packages.aiohomekit
python311Packages.aiohomekit.dist


Add support for proton density maps

nifti files in /anat folder with _PD suffix

It looks like PD is already an accepted suffix in anat directories. I tested naming a file accordingly and found this reference in the code.
https://github.com/INCF/bids-validator/blob/master/utils/type.js#L8
Do we need additional support?

nope - my bad!


restic: calling /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-go-1.15.1 and panics

Describe the bug
I have reported an issue where restic panics upstream (https://github.com/restic/restic/issues/2919).
The panic shows /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-go-1.15.1 which does not exist and should not exist.
...
Sep 11 10:38:57 survey restic[6098]: will delete 224 packs and rewrite 1983 packs, this frees 4.523 GiB
Sep 11 11:47:37 survey restic[6098]: read tcp <IP_ADDRESS>:33298-><IP_ADDRESS>:9001: read: connection reset by peer
Sep 11 11:47:37 survey restic[6098]: Load
Sep 11 11:47:37 survey restic[6098]: github.com/restic/restic/internal/repository.DownloadAndHash
Sep 11 11:47:37 survey restic[6098]:         /build/go/src/github.com/restic/restic/internal/repository/repository.go:786
Sep 11 11:47:37 survey restic[6098]: github.com/restic/restic/internal/repository.Repack
Sep 11 11:47:37 survey restic[6098]:         /build/go/src/github.com/restic/restic/internal/repository/repack.go:26
Sep 11 11:47:37 survey restic[6098]: main.pruneRepository
Sep 11 11:47:37 survey restic[6098]:         /build/go/src/github.com/restic/restic/cmd/restic/cmd_prune.go:278
Sep 11 11:47:37 survey restic[6098]: main.runForget
Sep 11 11:47:37 survey restic[6098]:         /build/go/src/github.com/restic/restic/cmd/restic/cmd_forget.go:215
Sep 11 11:47:37 survey restic[6098]: main.glob..func10
Sep 11 11:47:37 survey restic[6098]:         /build/go/src/github.com/restic/restic/cmd/restic/cmd_forget.go:22
Sep 11 11:47:37 survey restic[6098]: github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).execute
Sep 11 11:47:37 survey restic[6098]:         /build/go/src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:762
Sep 11 11:47:37 survey restic[6098]: github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).ExecuteC
Sep 11 11:47:37 survey restic[6098]:         /build/go/src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:852
Sep 11 11:47:37 survey restic[6098]: github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).Execute
Sep 11 11:47:37 survey restic[6098]:         /build/go/src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:800
Sep 11 11:47:37 survey restic[6098]: main.main
Sep 11 11:47:37 survey restic[6098]:         /build/go/src/github.com/restic/restic/cmd/restic/main.go:86
Sep 11 11:47:37 survey restic[6098]: runtime.main
Sep 11 11:47:37 survey restic[6098]:         /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-go-1.15.1/share/go/src/runtime/proc.go:204
Sep 11 11:47:37 survey restic[6098]: runtime.goexit
Sep 11 11:47:37 survey restic[6098]:         /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-go-1.15.1/share/go/src/runtime/asm_amd64.s:1374
Sep 11 11:47:37 survey restic[6098]: Repack
Sep 11 11:47:37 survey restic[6098]: github.com/restic/restic/internal/repository.Repack
Sep 11 11:47:37 survey restic[6098]:         /build/go/src/github.com/restic/restic/internal/repository/repack.go:28
Sep 11 11:47:37 survey restic[6098]: main.pruneRepository
Sep 11 11:47:37 survey restic[6098]:         /build/go/src/github.com/restic/restic/cmd/restic/cmd_prune.go:278
Sep 11 11:47:37 survey restic[6098]: main.runForget
Sep 11 11:47:37 survey restic[6098]:         /build/go/src/github.com/restic/restic/cmd/restic/cmd_forget.go:215
Sep 11 11:47:37 survey restic[6098]: main.glob..func10
Sep 11 11:47:37 survey restic[6098]:         /build/go/src/github.com/restic/restic/cmd/restic/cmd_forget.go:22
Sep 11 11:47:37 survey restic[6098]: github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).execute
Sep 11 11:47:37 survey restic[6098]:         /build/go/src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:762
Sep 11 11:47:37 survey restic[6098]: github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).ExecuteC
Sep 11 11:47:37 survey restic[6098]:         /build/go/src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:852
Sep 11 11:47:37 survey restic[6098]: github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).Execute
Sep 11 11:47:37 survey restic[6098]:         /build/go/src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:800
Sep 11 11:47:37 survey restic[6098]: main.main
Sep 11 11:47:37 survey restic[6098]:         /build/go/src/github.com/restic/restic/cmd/restic/main.go:86
Sep 11 11:47:37 survey restic[6098]: runtime.main
Sep 11 11:47:37 survey restic[6098]:         /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-go-1.15.1/share/go/src/runtime/proc.go:204
Sep 11 11:47:37 survey restic[6098]: runtime.goexit
Sep 11 11:47:37 survey restic[6098]:         /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-go-1.15.1/share/go/src/runtime/asm_amd64.s:1374

Is this a problem with our package?
To Reproduce
Steps to reproduce the behavior:

see linked issue

Expected behavior
no panic
Notify maintainers
@mbrgm
Metadata

system: "x86_64-linux"
host os: Linux 5.4.62, NixOS, 20.09pre-git (Nightingale)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.7
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

using this branch https://github.com/davidak/nixpkgs/tree/survey-2020
Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: restic
# a list of nixos modules affected by the problem
module:

Pretty sure this is because the Go infrastructure removes all references to the Go compiler (by replacing the store path with an impossible path) so the program doesn't depend on the compiler itself after it has been compiled... Though I could be totally wrong.
cc @zowoq who seems to be involved in our Go infra.

cc @NixOS/golang

This is intended to avoid store path references and add go as a runtime dependencies to every go package. This should not break anything in this case - also here the actual error is a closed connections from the looks of it. If you really want the original go paths than you can override fixupPhase for this package but this is really only cosmetics.

For reference here is where replace the references: https://github.com/NixOS/nixpkgs/blob/1350c410f6cc3b4ab2d819409d460fe732aaafbb/pkgs/development/go-modules/generic/default.nix#L237


CI/CD: symlink not created resulting in CD not working anymore

Sometimes a continuous delivery github action will fail during "create symlink" step with the error below:
Run sudo ln -s /var/www/shared/storage /var/www/caravel/backend -f
ln: /var/www/caravel/backend/public/uploads: cannot overwrite directory
Error: Process completed with exit code 1.
Apparently this is because sometimes the symlink is not created and laravel create a directory automatically. When this happens, you can't create a symlink anymore.
The workaround is to go on the server in /var/www/caravel/backend/public/uploads and move everything inside this folder to /var/www/shared and then delete the uploads folder.

sudo mv /var/www/caravel/backend/public/uploads/users/* /var/www/shared/uploads/users/
sudo mv /var/www/caravel/backend/public/uploads/groups/* /var/www/shared/uploads/groups/
sudo rm -r uploads/


Markdown TOC is generating an empty TOC

Related to https://github.com/cgrindel/rules_swift_package_manager/pull/550.

I may just implement my own version of this utility.


weird function jumps, again [Densha de GO! Final (PS2)]

i found an PS2 executable file with weird function jumps between them.

disabling symbol relocation did basicaly nothing here.
also, for whatever reason, address-set variables, like what you see with v0 and v1 registers, are somehow doubled to what GHIDRA can actually reach. i think these things were already compiled from the get-go.
here's the executable file in question.
slpm60237_elf.7z

actually that was the executable from the PS2 demo, executable from the final PS2 game can load without issue:

here's another executable file.
slpm65590_elf.7z

I figured it out: https://github.com/chaoticgd/ghidra-emotionengine-reloaded/pull/76
Can you test the latest unstable build and confirm that it fixes it?

ok, testing now.

tested. no change. function jumps from the demo executable remain the same.

Did you use this build and re-import the file from scratch?
I could reproduce the issue before, and after the relocation fix it went away. I also observed that relocations were applied even with the relevant checkbox in the importer unchecked for some reason. To know for sure, can you show a screenshot of the Relocation Table (Window->Relocation Table)?

late reply. sorry.

Did you use this build and re-import the file from scratch?

late reply, but yes. i did in fact use this build.

I could reproduce the issue before, and after the relocation fix it went away. I also observed that relocations were applied even with the relevant checkbox in the importer unchecked for some reason. To know for sure, can you show a screenshot of the Relocation Table (Window->Relocation Table)?

will do.

Relocation Table screenshot is here:

Status all say SKIPPED for every relocation entry present (out of 37627 rows total).
also, had to do a fresh install of this new build.

It's completely fine, if it wasn't for this issue I would've missed that relocation bug.


Implements RAC styles

Implements RAC styles in this app.
Significant changes:

Removed "Help" modal, since analytics indicates that it is never used.
Attempted to simplify HTML structure overall

Outstanding work

Layout is still pretty rough, particularly on mobile
Review use of Print List functionality
Take a closer look at table accessibility

Continuing this work:

Removed "Print" function based on user feedback
Not bothering with mobile because user feedback is that it is only used on Desktop
Updated jquery (to v. 3.7.1) and DataTables (to v. 2.0.5).
Made a few tweaks for accessibility


cmd/bosun: Add weekly indexer func for elastic

Also cleanup some code that I couldn't see a reason for. Fixes #1738

Pretty sleeepy. Will review this in the morning for sanity myself first :P

resolve conflicts plz.


[Ubuntu18] thumbnail - driver name

Fixes https://github.com/Inria-Asclepios/medInria-public/issues/568
The driver's name is not nvidia, and there is no problem with mine.
It could be possible that in Ubuntu 14 (not sure), 16 and 18, the previous crash does not exist anymore.
(By curiosity, @paulineMig can you comment this line on your code, compile, and import a data to check if the thumbnail is done? ^^)
:m:

I think @paulineMig is in holidays, i am going to test on our ubuntu 16 test computer

My tests:
on Ubuntu 18
Driver nvidia and X.org are named "intel open source technology center" and both are working great with offScreenCapable
on Ubuntu 16

Driver nvidia is called "nvidia corporation" and work great with offScreenCapable
Driver X.org has never work with MUSIC as far as i remember, and in this test, crashes with either offScreenCapable or not

So, it's ok for both i would say. Cool that the bug is solved in Ubuntu 18.

What If I am on Ubuntu 16 with an intel driver ? does it crash ?

Yes, MUSIC does not work with previous x.org drivers :/
(it could be a good idea to write that in our documentation. Usually users are on the nvidia driver but it depends)


[fix][txn] Fix replication of transactional messages

Fixes #18888
Motivation
Transaction markers and non committed messages should not being replicated by the geo-replicator.
Those messages must appear as normal messages in the destination clusters.
Modifications

Skip txn marker in the replicator
Skip messages of aborted txn in the replicator
In the replicator read entries from the maxReadPosition of the topic instead of Latest in order to not read non committed messages
Remove txn metadata from the message metadata

Notes: I haven't modified the shadow topic replicator because I'm not sure if that feature is completed or not and in any case it's better to fix it in another pull
Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
https://github.com/nicoloboschi/pulsar/pull/39

Codecov Report

Merging #18896 (9cbce38) into master (1be5a69) will increase coverage by 2.42%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master   #18896      +/-   ##
============================================
+ Coverage     33.99%   36.42%   +2.42%
- Complexity     6476     6889     +413
============================================
  Files           623      623
  Lines         59103    59125      +22
  Branches       6147     6150       +3
============================================
+ Hits          20095    21534    +1439
+ Misses        36347    34809    -1538
- Partials       2661     2782     +121

Flag
Coverage Δ

unittests
36.42% <0.00%> (+2.42%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.


Search

Has anyone  in @openscape-community/app gotten anywhere with restoring the location search feature? I was hoping it was just a matter of getting a new API key from Bing Maps or the like, but I'm afraid there's more code that's missing.

I also concluded that it was not just putting in an API key. I'm not really sure what would be the best path forward here:

Restore Bing functionality: Bing search never worked well for me in Soundscape. Bings locations are very bad in my region (The Netherlands). Many POIs were missing or outdated, so this would not be my personal preference.
Use another commercial service like Google Maps/Places, Google has much better data in my region
Use Nominatim: I think we will exceed the API limits and would have to host something if we do this, see https://operations.osmfoundation.org/policies/nominatim/. They also state that it is not yet suitable for autocomplete search, what Soundscape currently implements

I do like the idea of having search use OSM data as well. Even in geographies with better Bing coverage, it did bother me that there were places in the search results that weren't in the callouts, and vice versa.
It looks like there are a few choices for OSM-powered search: https://wiki.openstreetmap.org/wiki/Geocoding
In particular, Photon looks promising: it's based on Nominatim but supports autocomplete, and has a public API. The ToS are less explicit,, but perhaps it's worth implementing something compatible and figuring out the hosting as needed. https://photon.komoot.io/

I managed to get search working against the public Photon API server at photon.komoot.io/. You can find this in a new branch photon-search -- feel free to test it out. I'd still like to make it show the full address in the results listing, and to clean up the code a bit.
Note that it's not currently enabled for autocomplete, only for explicit hit-enter searches. If we want to use a public server like this, it's probably friendlier to send fewer requests. But if we wanted to enable it for autocomplete as well, it's just a matter of replicating the same logic that I added to searchWithText in the partialSearchWithText method.

This is awesome! I found and forked a docker container of this (here). It works in my tests; I substituted the global POI database dump with a smaller extract (the entire thing is 69G compressed).
Using the instructions in the README to build and bring up the docker compose project, I can query the container.
If this is the source we want to go with, it would be pretty easy to use this on our servers so we don't risk getting cut off at some arbitrary usage threshold.

Thanks! This was easier than we feared, thanks to the existence of an appropriate OSM-based tool. The code to render the results was still present -- all we needed to do was fill in the function that returns a list of points of interest from a search term.
The one bug I'd like to fix is that the place name is getting stripped: once you click on a search result, the name shown is just "Near " which is also what shows up if you save it as a beacon. I'm probably just using the wrong class; I picked GenericLocation since it was easy to instantiate, but it's explicitly described as "used for POIs that were created based on the user's current location."

Upon further investigation, the place name does work sometimes. I think this is a good-enough solution for now, so I merged it.


python310Packages.crownstone-uart: 2.4.0 -> 2.4.1

Description of changes
https://github.com/crownstone/crownstone-lib-python-uart/blob/master/CHANGELOG.md

Things done

Built on platform(s)

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

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

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 175748 run on x86_64-linux 1

3 packages built:

home-assistant-component-tests.crownstone
python310Packages.crownstone-uart
python39Packages.crownstone-uart


Security fix for #944 for 2.5.x: Escape brake code in fields

As described in #944, there is a security problem in parsing headers.
I backported code which escapes line brakes from https://github.com/mikel/mail/blob/02be6e37e850023421901042af3ff501e649d354/lib/mail/field.rb#L238

@jeremy is there anything you need to make this PR merged and released on rubygems?

Discussion @ https://github.com/mikel/mail/issues/944#issuecomment-206119651. Backporting this commit is insufficient to fix the vuln and it breaks back compat to do it.


err! macro can recurse and cause stackoverflow with 3 arg variant (I think)

So I ran into this when playing around trying to sign a .wasm file using wash but the issue orignates from this crate.
Basically this happens if your account.nk/module.nk files ends with a linebreak when passing them to wash sign. In the context of this crate that means the source arg to KeyPair::from_seed ends with a line break making it the wrong length.
Reproduce:
echo MODULE_SEED > module.nk
echo MODULE_SEED > account.nk
wash claims sign build/contract.wasm --http_server --cap "new:hostcap" --subject account.nk --issuer ../module.nk --name test_actor

And forgive me if I am completley failing above, still learning, and the issue still remains 😄
The infinite recursion and stackoverflow seems to occur in the err! macro.
It seems the only call to the 3 argument variant of the macro is in KeyPair::from_seed.

Just to confirm @tiptop96, in your reproduce code you echo the module to module.nk but you provide ../module.nk as the issuer, is that correct?
Regardless, I can attest that this has happened to me as well.

Just to confirm @tiptop96, in your reproduce code you echo the module to module.nk but you provide ../module.nk as the issuer, is that correct?
Regardless, I can attest that this has happened to me as well.

Good catch 👌 That was a typo, fixed it!

Good catch 👌 That was a typo, fixed it!

Actually recursion seems to happen here:
https://github.com/wasmCloud/nkeys/blob/18399e4e1ac249b9b98028809c8edf81585e5bf8/src/error.rs#L121-L128
Will investigate further and fix the description of the issue after work.

Actually recursion seems to happen here:
https://github.com/wasmCloud/nkeys/blob/18399e4e1ac249b9b98028809c8edf81585e5bf8/src/error.rs#L121-L128
Will investigate further and fix the description of the issue after work.

PR created https://github.com/wasmCloud/nkeys/pull/8. Can't set reviewers, but I am guessing that either you @brooksmtownsend or @autodidaddict should have a look. 🚀

PR created https://github.com/wasmCloud/nkeys/pull/8. Can't set reviewers, but I am guessing that either you @brooksmtownsend or @autodidaddict should have a look. 🚀


Support for cluster object-based commands on the client.

Fixes https://github.com/project-chip/connectedhomeip/issues/8894
This adds a couple of necessary constructs to make it possible to send
commands on the client using cluster objects:

A TypedCommandCallback class that acts as an adapter to the more
raw, CommandSender::Delegate to provide nicer APIs for passing
success/failure callbacks using std::function, as well as
auto-decoding of responses using cluster objects.

A new InvokeCommandRequest() function that is a one-stop-shop function
to send a cluster-object based command request and be provided the
response/errors through provided callbacks.

A similar, but simpler API in the ClusterBase class that leverages a
lot of the state encapsulated in that class to populate the arguments
needed for the above function. This simpler API is eventually going to
form the basis for replacing a lot of the generated code in Commands.h
for chip-tool.

The initial inspiration for this is taken from @erjiaqing's branch here.
Testing: Wrote a pseudo, 'end-to-end' test using loopback transport that tests the above functions using the various commands in the TestCluster.

@mrjerryjohns @saurabhst @andy31415 @Damian-Nordic @jelderton @jepenven-silabs @jmartinez-silabs ?


(indev) when swapping party creature with box creature, the old party creature will be summoned when trying to summon the since swapped creature

will try to replicate this eventually to get a more accurate name

cant figure out how to reliably replicate this bug tf

managed to reliably replicate this bug:

deploy a creature from a creature box
exit
open it again, then move the deployed creature into your box
swap it with another creature in your party (attempting to deploy it from your party returns nothing)
swap them back
attempting to deploy the swapped in creature summons the old one instead


Suggestions for bangs do not always appear

This problem is related to bang feature.
Steps to reproduce the problem

Open the app
Type ! in the address bar
Suggestions appear
Clear the address bar
Type ! in the address bar again
"No suggestions" message appear

Expected behavior

In the step 6 user should see suggestions.

Additional notes

When after performing all the steps to reproduce, I will type ! + any sign (e.g. !a) and then remove additional sign (a in the case of example), then suggestions appear
When after performing all the steps to reproduce, I will kill the app, open it again and type !, then suggestions appear
Address bar can be cleared in 3 ways (with backspace button on the keyboard, with x sign in the address bar or by pressing back button when keyboard is open) - in all cases behavior is the same

Question

Can you tell me, where in the code can I find implementation of the bangs? I searched it in SpecialUrlDetector.kt and I searched for keywords like "bang" and "bangs" in the GitHub repo, but I couldn't find anything.

I can't reproduce the issue. What device are you using?
I always see the last page in address bar, when I clear it and put "!" there are suggestions appearing always. Clear and put "!" again doesn't help.

That's strange! I can replicate this; thanks for the detailed steps.
I wonder if it's due to RxJava filtering out results due to ! having been entered twice... The second time (after deleting and entering again) might be filtered out as not distinct.
We'll look into this, thanks.

Can you tell me, where in the code can I find implementation of the bangs?

There is no client-side code for the bangs; instead those are being returned from the autocomplete API.
The RxJava chain that is likely responsible is in here, in configureAutoComplete function
ttps://github.com/duckduckgo/Android/blob/develop/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt

Just wrote the same, but wasn't sure. You can see URL changing in the address bar during bangs request.
[Usual search doesn't show DDG URL in the address bar. Probably this "redirect" shouldn't be shown as well]
p,s. Interesting, why I cannot reproduce it. Tested on emulator and android 8 device, latest dev and store versions.

It's not even unique to bangs; any search term will do in between deleting the characters and retyping.
Seems to many only happen on the blank tab page though.

@CDRussell thanks for the reply and pointing the place in the source code. Maybe I'll try to fix it in my free time when I find the root cause of this issue.

I had a look at this to make sure the Rx thinking held up; it seems like the problem is related but is before it even gets to the Rx chain.
There are redundant checks that the query has changed performed, and one of these checks is erroneously preventing the empty query from getting through, which causes the oddity described.
I should have a small fix available for this soon; just checking it really is redundant and not needed for anything.

PR created for this https://github.com/duckduckgo/Android/pull/433

Thanks again for reporting this, and all the info provided. This should be fixed in the next release.
Let me know if it's still causing problems.


PyFluent is broken and not working

🔍 Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

🐞 Description of the bug
meshing.workflow gives below error:

and solver = session.solver.root give below one:

📝 Steps to reproduce
Try to run any test using Flute, you will see this issue. This can also be reproduced using Jupyter notebook.
💻 Which operating system are you using?
Windows
🐍 Which Python version are you using?
3.8
📦 Installed packages
python 3.8

FYI @ypatel-qa

It works fine with 22.2


[Question] Kubernetes setup - 503 Service Temporarily Unavailable

Below is my yaml setup in my kubernetes cluster:
Deployment.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mango
spec:
  selector:
    matchLabels:
      workload.user.cattle.io/workloadselector: apps.deployment-mango-mango
  template:
    metadata:
      labels:
        workload.user.cattle.io/workloadselector: apps.deployment-mango-mango
    spec:
      containers:
        - image: 'hkalexling/mango:v0.20.0'
          imagePullPolicy: IfNotPresent
          name: mango
          ports:
            - containerPort: 9000
              name: mango-port
              protocol: TCP
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
            - mountPath: /root/mango/library
              name: ebooks-library
            - mountPath: /root/.config/mango
              name: mango-config
            - mountPath: /root/mango
              name: mango-config
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      terminationGracePeriodSeconds: 30
      volumes:
        - name: ebooks-library
          nfs:
            path: /ebooks-library/Manga
            server: <IP_ADDRESS>
        - name: mango-config
          nfs:
            path: /k8s-app-config/mango
            server: <IP_ADDRESS>

service.yaml:
apiVersion: v1
kind: Service
metadata:
  name: mango-service
  namespace: mango
spec:
  clusterIP: <IP_ADDRESS>
  externalTrafficPolicy: Cluster
  ports:
  - name: mango-port
    nodePort: 31550
    port: 80
    protocol: TCP
    targetPort: 9000
  sessionAffinity: None
  type: NodePort

Ingress.yaml:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: mango-ingress
  namespace: mango
spec:
  rules:
    - host: mango.example.com
      http:
        paths:
          - backend:
              service:
                name: mango-service
                port:
                  number: 80
            path: /
            pathType: Prefix

I then add mango.example.com to my DNS pointing to the node's ip address. However, when hitting it, all I got is 503 Service Temporarily Unavailable nginx/1.19.2 returned from the pod.
I've done this same setup for a few other application in my cluster and they're working fine. Not sure if I have something odd in my setup. Any help would be appreciated!

Nvm figured out. I'm using rancher rke, so I need to add the selector below in my service for it to work:
    selector:
      workload.user.cattle.io/workloadselector: apps.deployment-mango-mango


fix(lsp): support mixed encoding for lsp clients

Description
Fixes a warning notification for the first hover/signature help notification on nightly now that offset_encoding is required for make_position_params

I didn't read the README properly
I had always assumed noice was nightly only, not nightly recommended
I can add a shim for back compat this evening

Add a shim, and removed the reference to vim.lsp.protocol.Methods


Presentation Exchange Builders

Fixes https://github.com/TBD54566975/ssi-sdk/issues/60

Add builders + tests for PE
Update CM models to support application ID
Minor updates to examples and README

@decentralgabe happy to review this when you're ready if that'd help.

Identified bug, and fix in https://github.com/decentralized-identity/presentation-exchange/pull/354


Add double-evil.tar, double-evil.zip, create-evil-tar.go and create-evil-zip.go

Add double-evil.tar and double-evil.zip inside testdata/testarchives/evilarchives
Add create-evil.tar.go and create-evil.zip.go inside testdata

@coolaj86 please check this.

Looks great! Thank you.

The zip file works as expected, I just tested.
Something is wrong with the tar file. I'm looking into it.

@kross9924 I made a few edits and now it creates a proper tar file. I'm not sure if the issue was with the header type or the file mode, but it seems one of the two fixed it.

Thank You


Fix transform controls

🦟 Bug fix
Summary

Since https://github.com/ignitionrobotics/ign-gui/pull/295, the "click" events are only emitted on release. For press and drag, new events are needed.
Checklist

[x] Signed all commits for DCO
[ ] Added tests
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[x] codecheck passed (See contributing)
[x] All tests passed (See test coverage)
[x] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge
🔸🔸🔸🔸🔸

fixes the transform issue for me.
I noticed in this branch, there is more camera jumps if I drag the mouse to pan / orbit the camera quickly, especially the very first click and drag after launch. This can be addressed separately.


fix: Fixes link to access controls concept page

Description

Fixes link to access controls concept page on docs home page
Updates text on concept page links
Moves table of contents on Tokens concept page to match Access Controls

Testing required outside of automated testing?

[x] Not Applicable

Screenshots (if appropriate):

Rollback / Rollforward Procedure

[x] Roll Forward
[ ] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

:tada: This PR is included in version 1.42.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Show QR code in pdf generation in correct orientation

Description
This fixes the problem that when creating the pdf of a DCC, the QR code inside the pdf is upside-down.
Does NOT fix the problem with the Spain Travel Health Formular.
Link to Jira
https://jira-ibs.wbs.net.sap/browse/EXPOSUREAPP-11074
Screenshots