Docs: note that debounce/throttle apply to the action, not process?

So I had a logic like this:
createLogic({
  type: 'DO_SOMETHING',
  debounce: 250,
  process: etc
});

From the docs I assumed that debounce would debounce the process function, not the action itself and I was confused why not all of my DO_SOMETHING actions were going through (other reducers are changed by DO_SOMETHING also). Was a misunderstanding on my part.
I think it would be helpful to note somewhere that it's the actual redux dispatch that gets debounced/throttled, rather than just the process function!
Another way to think of how I got confused: I was trying to "attach async logic to existing actions", when what redux-logic does is sort-of "turns a dispatch into an async dispatch with optional additional async processing"

@SneakyMax Thanks for writing! Yes, the debounce is in indeed happening on the front of the chain on the action before it goes to the reducers. This allows you to send all onchange actions from an input and only use the last one that fires after a pause rather than every key stroke.
I will definitely update the docs to indicate more specifically how this works. Sorry for the confusion.

had the same confusion when tried to listen redux-logic, debounce was actually causing whole application to freeze
import * as R from 'ramda'
import { createLogic } from 'redux-logic'
import { actionTypes } from 'redux-form'

import * as previewActions from '~/app/actions/preview'
import { createStoryFormId } from '~/app/containers/CreateStoryForm'
import { isFormAction } from '~/app/utils'
import createPage from '~/app/services/createPage'

const logic = createLogic({
  type:     actionTypes.CHANGE,
  debounce: 1500,
  latest:   true,

  validate({ action }, allow, reject) {
    const valid = isFormAction(createStoryFormId, action)
    if (valid) {
      allow(action)
    } else {
      reject()
    }
  },

  async process({ action }, dispatch, done) {
    const { payload: link } = action

    if (R.isEmpty(link)) {
      dispatch(previewActions.setPage({}))
    } else {
      try {
        dispatch(previewActions.setLoading(true))

        const { data } = await createPage(link)

        dispatch(previewActions.setPage(data))
        dispatch(previewActions.setLoading(false))
      } catch (e) {
        dispatch(previewActions.setLoading(false))
      }
    }

    done()
  },
})

export default logic

then I've tried
import * as R from 'ramda'
import debounce from 'lodash.debounce'
import { createLogic } from 'redux-logic'
import { actionTypes } from 'redux-form'

import * as previewActions from '~/app/actions/preview'
import { createStoryFormId } from '~/app/containers/CreateStoryForm'
import { isFormAction } from '~/app/utils'
import createPage from '~/app/services/createPage'

async function process({ action }, dispatch, done) {
  const { payload: link } = action

  if (R.isEmpty(link)) {
    dispatch(previewActions.setPage({}))
  } else {
    try {
      dispatch(previewActions.setLoading(true))

      const { data } = await createPage(link)

      dispatch(previewActions.setPage(data))
      dispatch(previewActions.setLoading(false))
    } catch (e) {
      dispatch(previewActions.setLoading(false))
    }
  }

  done()
}

const debouncedProcess = debounce(process, 500)

const logic = createLogic({
  type: actionTypes.CHANGE,

  validate({ action }, allow, reject) {
    const valid = isFormAction(createStoryFormId, action)
    if (valid) {
      allow(action)
    } else {
      reject()
    }
  },

  process: debouncedProcess,
})

export default logic

but only first part of process was dispatching actions (part before await), it was because createLogic was scanning my process function to find how many arguments it is expecting
finally made it working with
  process: (context, dispatch, done) => {
    debouncedProcess(context, dispatch, done)
  },

At the end it was looking like this :expressionless:
import * as R from 'ramda'
import debounce from 'lodash.debounce'
import { createLogic } from 'redux-logic'
import { actionTypes } from 'redux-form'
import { CancelToken } from 'axios'

import * as previewActions from '~/app/actions/preview'
import { createStoryFormId } from '~/app/containers/CreateStoryForm'
import { isFormAction } from '~/app/utils'
import createPage from '~/app/services/createPage'

let cancel = null

async function process({ action }, dispatch, done) {
  const { payload: link } = action

  if (R.isEmpty(link)) {
    dispatch(previewActions.setPage({}))
  } else {
    if (cancel) {
      cancel()
      cancel = null
    }

    try {
      dispatch(previewActions.setLoading(true))

      const cancelToken = new CancelToken(c => { cancel = c })
      const { data } = await createPage(link, cancelToken)

      dispatch(previewActions.setPage(data))
      dispatch(previewActions.setLoading(false))
    } catch (e) {
      dispatch(previewActions.setLoading(false))
    }

    cancel = null
  }

  done()
}

const debouncedProcess = debounce(process, 500)

const logic = createLogic({
  type: actionTypes.CHANGE,

  validate({ action }, allow, reject) {
    const valid = isFormAction(createStoryFormId, action)
    if (valid) {
      allow(action)
    } else {
      reject()
    }
  },

  process: (context, dispatch, done) => {
    debouncedProcess(context, dispatch, done)
  },
})

export default logic

Thanks for sharing @BjornMelgaard


Fixes to make compatible with Python 3.12

This PR:

Changes the code base to work with python 3.12
Adds a matrix to the coverage tests to make sure upper and lower bounds are covered

Closes https://github.com/inventree/InvenTree/issues/6424
Contains #5777

@wolflu05 could you check if this changeset impacts any of your plugins? For me everything seems to work.

@matmair definitely, I'll test it out tomorrow. Do I need to run it explicitly with python 3.12 or can I also do the tests with 3.11?

the tests would need to be done on 3.12 to ensure nothing breaks

Great, so from my POV we could merge this than and consider moving the image to Python 3.12 for the 0.16.0 release. I would not change it for 0.15.0 as plugins might need changes.
@theacodes thank you again for the initial PR, I have worked that into this and retained your authorship

Many thanks everyone. @matmair do you want to take charge of updating our base Python version for next release?

@SchrodingersGat yes, I will test it with the hardned image and submit a PR once I am confident nothing important breaks


[Test] Use application/json media type for JSON-encoded requests

It is recommended by JavaScript: The Definitive Guide
and standardized by
https://tools.ietf.org/html/rfc4627

@huningxin could you please help merge this pull request? So that @haoyunfeix can take over the tests. Thanks.


Strip non-numeric tags from SCSB barcode response.

Closes #1062

Coverage increased (+0.04%) to 82.979% when pulling f2487e677152dbf991d5a0f0791999945716702a on scsb_non_numeric_fields into 590c0712fe4b04114c69ce9998c7e7238ebfb858 on alma.


Map to Object

From<EMAIL_ADDRESS>on October 06, 2011 18:54:42
E.g.
Greeting greeting = get("/something").andMap().path("greeting.firstName").and().path("greeting.lastName").to(Greeting.class);
Original issue: http://code.google.com/p/rest-assured/issues/detail?id=121

From<EMAIL_ADDRESS>on October 07, 2011 00:37:50
Perhaps this should be added to JsonPath and XmlPath instead? E.g.
Greeting greeting = get("/something").jsonPath().map().includeString("greeting.firstName").and().include("greeting.lastName").to(Greeting.class);

From<EMAIL_ADDRESS>on December 16, 2011 07:24:32
Perhaps:
Greeting greeting = get("/something").jsonPath().map().path("greeting.firstName", String.class).and().path("greeting.lastName").to(Greeting.class);

From<EMAIL_ADDRESS>on December 16, 2011 07:26:29
Greeting greeting = get("/something").andMap().path("greeting.firstName").and().path("greeting.lastName").to(Greeting.class);
Here we could determine whether to use JsonPath or XmlPath by looking at the content-type of the response


Ft option

Closes #18

Thank you for the PR! I will review and request a couple of small changes. Hopefully, that is ok with you. Looking forward to merging this in.

Apologies if there are errors etc. Is my first pull!!

Welp. Not sure what happened. Looks like you deleted your branch and closed the PR. This is close enough that I should be able to merge these changes later myself. But please reopen and send another PR with the requested changes if you already have the code.

If you're having trouble just let me know and I can take it from here. Otherwise I don't want to repeat work you've already done!

Sorry about that. Deleted my branch after merge with my master out of habit. Did't know it would close the pull. The new pull should be all good boss


Aid Stations are not properly assigned when creating a new event with an existing course

In some cases, not all splits of an existing course are assigned to a new event. Creating a new event on the staging site using the Hardrock Clockwise course, for example, results in splits from Sherman through Finish being assigned, but Start through Burrows are not assigned.
The problem seems to be in event-stage.js, in api.define('events'), in the normalize function, probably lines 342-352.

Fixed this on the back end. See this commit.


Allow disabling jitter

Jitter is what makes raytracers grainy, by shooting pixels at slightly different directions than normal. This allows disabling it, for tasks that don't need it.

Hello! Thanks for the contribution.

Jitter is what makes raytracers grainy, by shooting pixels at slightly different directions than normal. This allows disabling it, for tasks that don't need it.

Can you provide some screenshots of cases where this disabling jitter helps with the final image and how? Jitter is effectively performing antialiasing - it can contribute to the graininess but every ray bounce is scattered in a random direction regardless of this perpixel jitter which is primarily where the graininess should be coming from.

https://www.shadertoy.com/view/4ljGRd is an example.

https://www.shadertoy.com/view/4ljGRd is an example. Some tasks don't need jitter.

This is a very different kind of ray tracer, though. There is no randomness used anywhere and all diffuse lighting is calculated analytically rather than stochastically with random rays. Removing the pixel jitter from this project shouldn't result in the same kind of result.
What's the motivation for this PR? Are you using this for a project and need this change? Do you have screenshots showing what a render looks like before and after so I can understand how disabling the jitter affects the image?

I made this for a project I am working on, that I'm specifically using raytracing because RectArealights don't have shadows. Yes that is the only reason.

Got it - without a demonstration showing the improvements that this PR will bring to the project I won't be able to merge it. I don't think this will address any of the graininess issues in the image generation due to random sampling.

Closing this until it can be shown that there's an improvement to image quality.


Cannot build datahub-gma

I can't build gma on Mac M1 chip because of this error: dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
To Reproduce
Steps to reproduce the behavior:
Use a M1 chip Mac

./gradlew build

Expected behavior
build should work

OS: macOS Ventura 13.3.1
Chip version: Apple M1 Pro

Additional context
I tried to install<EMAIL_ADDRESS>by myself per recommendation: https://github.com/linkedin/datahub-gma/pull/220.
However, I met a series of exception and here are related posts:

https://github.com/rbenv/homebrew-tap/issues/4
https://github.com/rbenv/homebrew-tap/issues/2
https://github.com/sidneys/homebrew-homebrew/issues/2

I was not able to install this version, can we choose another openssl version as I can successfully install 1.1, or, can someone help me install it, many thanks.

Rootcasue: the dependency MariaDB4j is not working on M1 Mac: https://github.com/vorburger/MariaDB4j/issues/497
Solutions:

use local installed MariaDB4j, related posts: https://github.com/vorburger/MariaDB4j/issues/560
edit locally, disable the unit test, and use remote host to compile the whole project

went with 2 for a short term solution, I will keep this issue open until a PR for 1 out

solution: https://github.com/linkedin/datahub-gma/pull/299


Add support for FreeBSD

Tested on FreeBSD 13
with boringssl 123eaaef26abc278f53ae338e9c758eb01c70b08

https://github.com/appveyor/ci/issues/2844

I'm sorry we do not support FreeBSD and neither does Node.js

Can you clarify what you mean by Node.js not supporting FreeBSD? https://nodejs.org/en/download/package-manager/#freebsd

https://github.com/nodejs/node/blob/master/BUILDING.md#platform-list

Thanks!

Tested on FreeBSD 13 with boringssl 123eaaef26abc278f53ae338e9c758eb01c70b08

cool! thanks :)
PS: it looks like NodeJS is supported on freeBSD ( for sure on 13.1 ) -- I have compiled NodeJS#18.4.0 and thanks to @bbusse I have successfully built the uWebsockets.js :)
Lately, it became apparent that there is a growing interest towards freeBSD. Happy to see the uWebSockets.js can be built on it :)
Many thanks to @alexhultman and @bbusse!


Retrive parent fragments

hello
there is bug when i am in child fragment then press my phone home button, my app go to on pause after while os kill parent activity ,on restore just child fragment retrive and parent fragments gone??!
how can i fix it ?

Hello,
The current last version of this libray is not supported anymore.
I'm working on a new major release starting from scratch.
I suggest you to download and import the module from this repository and then debug the code.


Markdown to beamer with biblatex: reference slide not created correctly

When converting from Markdown to a beamer .tex file, the reference slide isn't created correctly. If the Markdown file ends with:
# References {.allowframebreaks}

the resulting .tex file ends with:
\begin{frame}[allowframebreaks]{References}

\end{frame}

\begin{frame}[allowframebreaks]{}
\bibliographytrue
\printbibliography[heading=none]
\end{frame}

That is, there is a frame that has the title "References" but is otherwise empty, and the references appear on an untitled frame.
Conversion command used:
pandoc -t beamer <source.md> -o <target.tex> --bibliography=<somebib.bib> --biblatex --standalone

See the pandoc-discuss mailing list, message https://groups.google.com/d/msg/pandoc-discuss/sIKX47zqhp4/KLvSzSJvAgAJ for the original report.

I should have said this on pandoc-discuss, but it wasn't
clear to me until I saw the tex output.  Now I think that this
isn't a bug at all.
The style of ending your document with a # References heading
is for pandoc-citeproc.  If you use --biblatex, you're
bypassing pandoc-citeproc altogether.  biblatex will add its
own title, so even if we didn't create a new slide, you'd
end up with a redundant title.

But if I leave out the # References header, the slide with references doesn't get a title.
Oh wait, I just checked the beamer template and noticed that the variable biblio-title is provided to take care of that. (BTW, this variable isn't documented in the User's Guide, but perhaps it's not your policy to document all variables in all templates).
Anyway, sorry for the noise, I'll close this issue to get rid of it.

I see, biblatex produces a title for your references, but
you want a title on the slide itself as well?
See the man page for pandoc-citeproc, not the pandoc manual,
for its documentation.
+++ Joost Kremers [Oct 06 16 06:08 ]:

But if I leave out the # References header, the slide with references
doesn't get a title.
Oh wait, I just checked the beamer template and noticed that the
variable biblio-title is provided to take care of that. (BTW, this
variable isn't documented in the User's Guide, but perhaps it's not
your policy to document all variables in all templates).
Anyway, sorry for the noise, I'll close this issue to get rid of it.
—
You are receiving this because you commented.
Reply to this email directly, [1]view it on GitHub, or [2]mute the
thread.
References

https://github.com/jgm/pandoc-citeproc/issues/258#issuecomment-251956238
https://github.com/notifications/unsubscribe-auth/AAAL5GXD12uYP2Wfmi71dsMe3k6fF96fks5qxPLPgaJpZM4KPyXP

I see, biblatex produces a title for your references, but you want a title on the slide itself as well?

I'm not sure what you mean, TBH. I tend to finish my beamer presentations with the following frame:
\begin{frame}[allowframebreaks]{References}
\bibliographytrue
\printbibliography[heading=none]
\end{frame}

This produces one or more slides with the title "References" followed by a Roman number (I, II, III, etc.) By "title" I mean the title that is displayed at the top of the slide. So I'm not sure what you mean when you say "biblatex produces a title for your references", since I don't know of any other title than the one displayed at the top of the slide.
But yes, I do want a title "References" at the top of the slide, and by setting biblio-title this works fine. I was just wondering why this variable wasn't listed here or here.

See the man page for pandoc-citeproc, not the pandoc manual, for its documentation.

Can't find it there, either. (I'm looking here).


Structured issue template for enhanced reporting

Hey there, fellow coder 👋
I've been digging your QR Code Scanner app and thought of a little something that could help streamline things. I've made an 'issues template' for your GitHub repo. This way, when users encounter a bug 🐛 or have a feature request 💡, they can easily fill out the template and provide all the necessary details. This should make the process of reporting issues more efficient and ensure that all the important info is included right from the start.

Hey SegoCode,
I thoroughly reviewed your PR and everything looks great. I appreciate the efforts you put into adding issue templates.
Thanks & Regards,
Yatik


[Phase 2] Reorgize DB schemas to fit the new requirements of clients

[x] Add the attribute in the category table for the large category, like recyclables.
[ ] Found a way to present the information on the category show page.

Could we close this @hmc-cs-dwang ?


Add comment to suspend action

Partially Closes #3546

What changed?

Added new Modal component to let the User who is going to suspend resources to be able to add reason for suspenstion.

Why was this change made?

To add the ability to add a reason for suspension.

How did you validate the change?

Locally testing.

JS lint is failing.

❔ Probably expected behavior, just to make sure: is it OK that

a modal is displayed and a suspend comment is added to the toggle suspend request when suspending an object (for example, an automation) from the object's details pages (with the SyncActions component to which the new SuspendMessageModal component was added)
but not when suspending (possibly multiple) objects with the CheckboxActions component from the objects' list page?


lightworks-2023.2: version OPENSSL_3.3.0' not found`

Describe the bug
Launching lightworks causes the following:
lightworks-2023.2
/nix/store/cci5cs2sxi7vgl8prx3lmij5aablp363-lightworks-2023.2/lib/lightworks/ntcardvt: /nix/store/cci5cs2sxi7vgl8prx3lmij5aablp363-lightworks-2023.2/lib/lightworks/libcrypto.so.3: version `OPENSSL_3.3.0' not found (required by /nix/store/k09x35dsjavyy4xbfda7aafi1knwqd20-openssl-3.3.2/lib/libssl.so.3)

ldd /nix/store/k09x35dsjavyy4xbfda7aafi1knwqd20-openssl-3.3.2/lib/libssl.so.3
        linux-vdso.so.1 (0x000070bbc4640000)
        /nix/store/3cvjnss5xxhra4c8a87arr7f32xqi7fw-mesa-ec95f0-drivers/lib/libglapi.so.0 (0x000070bbc44f8000)
        libcrypto.so.3 => /nix/store/k09x35dsjavyy4xbfda7aafi1knwqd20-openssl-3.3.2/lib/libcrypto.so.3 (0x000070bbc3e00000)
        libdl.so.2 => /nix/store/sl141d1g77wvhr050ah87lcyz2czdxa3-glibc-2.40-36/lib/libdl.so.2 (0x000070bbc44f3000)
        libpthread.so.0 => /nix/store/sl141d1g77wvhr050ah87lcyz2czdxa3-glibc-2.40-36/lib/libpthread.so.0 (0x000070bbc44ee000)
        libc.so.6 => /nix/store/sl141d1g77wvhr050ah87lcyz2czdxa3-glibc-2.40-36/lib/libc.so.6 (0x000070bbc3c07000)
        /nix/store/sl141d1g77wvhr050ah87lcyz2czdxa3-glibc-2.40-36/lib64/ld-linux-x86-64.so.2 (0x000070bbc4642000)

Additional context
Possibly related: https://github.com/NixOS/nixpkgs/pull/345039
Notify maintainers

@antonxy
@vojta001
@kashw2
Metadata
 - system: `"x86_64-linux"`
 - host os: `Linux 6.11.4-cachyos, NixOS, 24.11 (Vicuna), 24.11.20241025.18536bf`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.24.9`
 - nixpkgs: `/nix/store/wb6agba4kfsxpbnb5hzlq58vkjzvbsk6-source`

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

FYI, I have a fix in a PR: https://github.com/NixOS/nixpkgs/pull/354890

@anthr76 Just an FYI, if you need this in the short term, I flakified this: https://github.com/Tombert/lightworks-flake
It's running 2025.1, but it is trivial to change the versions if necessary. Just nix run it

Thanks @Tombert

I think this issue can be closed as the PR fixing it has been merged.


Par tool tests fail in Ubuntu 22

Running ./test/regression par in Ubuntu 22.04 with gcc version 11.2.0 causes the following tests to fail. Meanwhile, they pass on Ubuntu 20 with gcc version 9.4.0 and on Centos 7 with gcc version 4.8.5.
partition (tcl) *FAIL*
change_eval_method (tcl) *FAIL*
verilog_write (tcl) *FAIL*
report_netlist_partitions (tcl) *FAIL*
cluster (tcl) *FAIL*

diffs file
*** ~/OpenROAD/src/par/test/partition.ok	2022-10-04 08:42:59.098020854 +0000
--- ~/OpenROAD/src/par/test/results/partition-tcl.log	2022-10-07 21:24:00.706236225 +0000
***************
*** 8,11 ****
  [INFO PAR-0060] [MLPart] Run completed. Partition ID = 0. Total runs = 1.
  Writing partition id's to DB.
  Writing done.
! No differences found.
--- 8,13 ----
  [INFO PAR-0060] [MLPart] Run completed. Partition ID = 0. Total runs = 1.
  Writing partition id's to DB.
  Writing done.
! Differences found at line 1.
! _397_ 0
! _397_ 1
*** ~/OpenROAD/src/par/test/change_eval_method.ok	2022-10-04 08:42:59.098020854 +0000
--- ~/OpenROAD/src/par/test/results/change_eval_method-tcl.log	2022-10-07 21:24:01.322295143 +0000
***************
*** 20,35 ****
  [INFO PAR-0059] [MLPart] Partitioned graph for seed<PHONE_NUMBER>.
  [INFO PAR-0060] [MLPart] Run completed. Partition ID = 1. Total runs = 2.
  [INFO PAR-0006] Partitioning Results for ID = 1 and Tool = mlpart.
! [INFO PAR-0007] Best results used seed<PHONE_NUMBER>.
! [INFO PAR-0008] Number of Hyperedge Cuts = 53.
! [INFO PAR-0009] Number of Terminals = 116.
! [INFO PAR-0010] Cluster Size SD = 63.215405559088204.
! [INFO PAR-0011] Cluster Area SD =<PHONE_NUMBER>976262.
! [INFO PAR-0012] Total Hop Weight = 5300.
  [INFO PAR-0006] Partitioning Results for ID = 0 and Tool = mlpart.
! [INFO PAR-0007] Best results used seed -1731515372.
! [INFO PAR-0008] Number of Hyperedge Cuts = 52.
! [INFO PAR-0009] Number of Terminals = 113.
! [INFO PAR-0010] Cluster Size SD = 62.31121488143206.
! [INFO PAR-0011] Cluster Area SD =<PHONE_NUMBER>980525.
! [INFO PAR-0012] Total Hop Weight = 5200.
--- 20,35 ----
  [INFO PAR-0059] [MLPart] Partitioned graph for seed<PHONE_NUMBER>.
  [INFO PAR-0060] [MLPart] Run completed. Partition ID = 1. Total runs = 2.
  [INFO PAR-0006] Partitioning Results for ID = 1 and Tool = mlpart.
! [INFO PAR-0007] Best results used seed -289663928.
! [INFO PAR-0008] Number of Hyperedge Cuts = 54.
! [INFO PAR-0009] Number of Terminals = 117.
! [INFO PAR-0010] Cluster Size SD = 62.72708745031926.
! [INFO PAR-0011] Cluster Area SD =<PHONE_NUMBER>821512.
! [INFO PAR-0012] Total Hop Weight = 5400.
  [INFO PAR-0006] Partitioning Results for ID = 0 and Tool = mlpart.
! [INFO PAR-0007] Best results used seed<PHONE_NUMBER>.
! [INFO PAR-0008] Number of Hyperedge Cuts = 51.
! [INFO PAR-0009] Number of Terminals = 110.
! [INFO PAR-0010] Cluster Size SD = 61.82384248815339.
! [INFO PAR-0011] Cluster Area SD =<PHONE_NUMBER>077448.
! [INFO PAR-0012] Total Hop Weight = 5100.
*** ~/OpenROAD/src/par/test/verilog_write.ok	2022-10-04 08:42:59.098020854 +0000
--- ~/OpenROAD/src/par/test/results/verilog_write-tcl.log	2022-10-07 21:24:01.846345262 +0000
***************
*** 9,12 ****
  Writing partition id's to DB.
  Writing done.
  Writing partition to verilog.
! No differences found.
--- 9,14 ----
  Writing partition id's to DB.
  Writing done.
  Writing partition to verilog.
!
  [INFO PAR-0060] [MLPart] Run completed. Partition ID = 0. Total runs = 1.
  [INFO PAR-0019] The netlist has 4 partitions.
! [INFO PAR-0020] Partition 0 has 129 vertices.
! [INFO PAR-0020] Partition 1 has 11 vertices.
! [INFO PAR-0020] Partition 2 has 95 vertices.
! [INFO PAR-0020] Partition 3 has 180 vertices.
  [INFO PAR-0021] The total number of vertices is 415.
--- 7,14 ----
  [INFO PAR-0059] [MLPart] Partitioned graph for seed<PHONE_NUMBER>.
  [INFO PAR-0060] [MLPart] Run completed. Partition ID = 0. Total runs = 1.
  [INFO PAR-0019] The netlist has 4 partitions.
! [INFO PAR-0020] Partition 0 has 118 vertices.
! [INFO PAR-0020] Partition 1 has 194 vertices.
! [INFO PAR-0020] Partition 2 has 93 vertices.
! [INFO PAR-0020] Partition 3 has 10 vertices.
  [INFO PAR-0021] The total number of vertices is 415.
*** ~/OpenROAD/src/par/test/cluster.ok	2022-10-04 08:42:59.098020854 +0000
--- ~/OpenROAD/src/par/test/results/cluster-tcl.log	2022-10-07 21:24:03.390492940 +0000
***************
*** 7,10 ****
  [INFO PAR-0064] [MLPart] Run completed. Cluster ID = 0.
  Writing cluster id's to DB.
  Writing done.
! No differences found.
--- 7,12 ----
  [INFO PAR-0064] [MLPart] Run completed. Cluster ID = 0.
  Writing cluster id's to DB.
  Writing done.
! Differences found at line 1.
! _397_ 68
! _397_ 69

@maliberty

This is going to be painful.  Where is there an ubuntu 22 machine that I can try this on?

You should be able to create one in Google Cloud

This is going to be painful. Where is there an ubuntu 22 machine that I can try this on?

there is a machine on GCP named "test-vm" I created recently that is ubuntu 22 based

MLpart is hard to debug legacy code and after several hours I don't see a real path to convergence.  We are planning to replace it with TritonPart so I don't think it is worth the time to sort this out.  I suggest we just disable this test and move on.

@habibayassin
Can you test again with latest build and update the status?

regression unit test seems updated. Nothing fails for par with latest master.
./test/regression par
------------------------------------------------------
par
read_part (tcl) pass
partition_gcd (tcl) pass
partition_gcd (py) pass
------------------------------------------------------
Passed 2
See /home/vijayan/OPENROAD_FLOW/OpenROAD_FLOW/OpenROAD/src/par/test/results for log files
------------------------------------------------------
Passed all tool regressions.


geoJSON compliance: Fix Polygon/Mesh JSON conversion

Currently, polygons are emitted as {type: "Polygon", geometry: [[x,y,z], ...]} in JSON. Unfortunately, GeoJSON prescribes that polygons must always be wrapped in an extra list. For meshes, we need to emit one nested list per triangle.
Furthermore, GeoJSON demands that polygons are explicitely closed. So we need to do that as well (re-emit the first vertex as the last).

Not sure what is currently implemented, but maybe we should check also if winding order (right-hand rule) is correctly implemented according to https://www.rfc-editor.org/rfc/rfc7946#section-3.1.6


[Hub Generated] Review request for Microsoft.ContainerInstance to add version stable/2021-03-01

This is a PR generated at OpenAPI Hub. You can view your work branch via this link.
Contribution checklist:

[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.

adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Justification for breaking change:
The property type was set incorrectly. Anyone attempting to use it would run into an error. This simply fixes it.

@novinc Please submit for breaking change review and bring your justification there, then I could merge this PR after you got approval.

@novinc Please submit for breaking change review and bring your justification there, then I could merge this PR after you got approval.

Thanks, I have sent the instructions to our PM. Although I understand the need for this review process it seems a bit excessive for this case as the current swagger is broken and anyone attempting to use the broken parts of the model would run into errors from our control plane. Given this fact, it's fair to say the customer impact of this "breaking" change is close to zero.

@novinc We need a formal process in swagger review to make sure the merged breaking change do really has near to zero impact to customer, or we need to kick off another process for breaking change update. We appreciate your understanding.

ARM API review is not required for this PR, please follow the process given @ https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/212/Swagger-PR-Review

@novinc Please reopen and submit breaking change review if you want to merge this PR.


Can eqWAlizer distinguish between different numeric types?

Hi! I know that currently (v 0.12.12) eqWAlizer cannot distinguish between different numeric types (doc here). I was wondering if there is a technical issue with it per se or if this is something that could be worked out in the future, to catch more typing errors.
Thanks!

Sorry for the very late reply.
We decided not to support different numeric types for a combination of reasons:

Simplicity of the internals of the type-checker. We did experiments with supporting the Numeric tower (https://www.ccs.neu.edu/home/stamourv/papers/numeric-tower.pdf) and while it's possible - it complicates the internals a lot.
Our experiments showed that type-checking with Numeric tower would be noisy.
It has never been escalated by our primary users and something that is critical or important.
In general, - having different numeric types (and even ranges) seems to us as an unnecessary over-complication.
Except Typed Racket (with strong typing discipline) - no other popular language has Numeric Tower in a sense of having types like positive integers, negative integers, ...

@kikofernandez
A few additional points:

There is an asymmetry in current types: there are pos_integer(), neg_integer() but no pos_float(), neg_float(), etc

So, it becomes hairy to type-check the following code:
-spec convert(pos_integer()) -> pos_integer().
convert(Min) -> round(Min / 60).


Numerics don't respond to arithmetic operators

Numerics don't seem to respond to the likes of :+, :*, :/, etc.  This is strange coming from Ruby, as the typical way to do sum / product of an array is @array.inject(:+) - this throws an exception.
I saw from another issue that mruby uses specific opcodes for arithmetic, but I'd have still expected those classes to respond to the calls if they're dispatched.

Could you describe your situation and configuration? What kind of exception did you get?
My mruby works, e.g.
@array = [1,2,3.5]
p @array.inject(:+)
# => 6.5

Hmm, this might be a peculiarity of the version / build that DragonRuby is using.  I'll throw it up there and see if anyone bites and get back to you - apologies.
The output I get, in case it is anything to do with mruby, is:
-> @a = [1,2,3.5]
=> [1, 2, 3.5]
-> @a
=> [1, 2, 3.5]
-> p @a.inject(:+)
* ERROR:
** method_missing: +
** instance:       1
** on class:       Fixnum
** with modules:   [Integral, NumericDeprecated, ValueType, Comparable, Kernel]
** with values:    1
** given args:     [[2]]
** exception:      can't define singleton

Hmm, we don't know about NumericDeprecated and ValueType. So it strongly suggests the issue was caused by the modification outside of mruby. I will close the issue for now. Don't hesitate to reopen it if you see anything related to mruby core.


Programme admin can disable or enable course (by code) from appearing to students or teachers in Norppa.

Admin based on Tilannekuvalomake data. The disable hides the course from both student and teacher views.

Tilannekuvalomake endpointista tulee lista joka on jotakuinkin muotoa:
[
  {
    programme_name: string,
    access: { read: boolean, write: boolean },
  }
 ...
}


Error while updating property 'strokeWidth'

Hi,
I´m trying to use this library in my project but found this error:

I´m using expo.
Versions:
"react-native": 0.47.1
"react": "16.0.0-alpha.12",
"react-native-shadow": "^1.2.1",
"react-native-svg": "^6.0.0-rc1",

I found the solution if someone else needed,
Expo comes with the react-native-svg preinstalled. But in order to import this library you need to insert
import { Svg } from 'expo';
So to use this library with expo and the preinstalled library of svg you will need to change the imports of the code and replace some of the tags like:
<Path> to <Svg.Path>

Any tips @rulgf for latest expo?


swt: 4.5 -> 4.33 & more

Things done
Some seem to not use the swt shared libraries or the swt.jar.

dbeaver-bin: don't depend on swt (not needed at all)
portfolio: don't depend on swt (not needed at all)
ipscan: mark as broken (doesn't really launch)
vuze: mark as broken

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

swt (and glib and gtk3) was added to dbeaver-bin because of https://github.com/NixOS/nixpkgs/pull/335633.
TLDR: without those changes it works for some people but not for others.
I'll test if it works with this PR using docker where the issue can be easily reproduced.

Portfolio had the same crash, so I added set to unbreak it. I can test later if portfolio starts with the said changes.

Tested dbeaver-bin on this PR and works well, thanks for the cleanup!

portfolio also still works fine with the pr.

Thanks for your approvals, I'll wait a few days for @ardumont to approve the changes for tuxguitar, and merge this next week or so.

I was trying to use this to make DataExplorer work (its bundled SWT is broken, same error as https://github.com/NixOS/nixpkgs/issues/340048), and it looks like there are some additional resource files that must be copied to the JAR to make everything work correctly. It fails to start with:
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.NullPointerException
	at java.base/java.io.Reader.<init>(Reader.java:168)
	at java.base/java.io.InputStreamReader.<init>(InputStreamReader.java:76)
	at org.eclipse.swt.graphics.Device.lambda$overrideThemeValues$0(Device.java:763)
	at org.eclipse.swt.graphics.Device.overrideThemeValues(Device.java:778)
	at org.eclipse.swt.graphics.Device.init(Device.java:737)
	at org.eclipse.swt.widgets.Display.init(Display.java:3476)
	at org.eclipse.swt.graphics.Device.<init>(Device.java:168)
	at org.eclipse.swt.widgets.Display.<init>(Display.java:633)
	at org.eclipse.swt.widgets.Display.<init>(Display.java:624)
	at org.eclipse.swt.widgets.Display.getDefault(Display.java:2393)
	at gde.GDE.<clinit>(GDE.java:453)

This happens because it tries to load /org/eclipse/swt/internal/gtk/swt_functional_gtk_3_20.css, which is missing from the JAR. There are also .properties translation files that are missing.
I added this command to postBuild and then it worked correctly:
find org/ -not -name '*.java' -not -name '*.html' -type f -exec cp {} out/{} \;

Thanks @lopsided98 for commenting! The error you show seems different from what we observe in https://github.com/NixOS/nixpkgs/issues/340048 . And unfortunately your solution did not help for hdfview...  Feel free to push further changes to DataExplorer if you want, or let me know if I did it correctly.

I get the same error as https://github.com/NixOS/nixpkgs/issues/340048 when I try to use the bundled SWT that comes with DataExplorer. When I replaced it with the version from nixpkgs, I got the error I posted.

Oh I see. I get the same error with and without that change to swt, while I apply the following patch upon hdfview's expression:
commit f5a7868f9a72b5fa3acfb757d0349e9e7e1bfc50
Author: Doron Behar<EMAIL_ADDRESS>Date:   Sun Oct 6 22:35:50 2024 +0300

    hdfview: unbreak

diff --git a/pkgs/tools/misc/hdfview/default.nix b/pkgs/tools/misc/hdfview/default.nix
index 3274762d87c3..48656b5a1b2b 100644
--- a/pkgs/tools/misc/hdfview/default.nix
+++ b/pkgs/tools/misc/hdfview/default.nix
@@ -6,6 +6,7 @@
   jdk,
   hdf4,
   hdf5,
+  swt,
   makeDesktopItem,
   copyDesktopItems,
   strip-nondeterminism,
@@ -46,9 +47,12 @@ stdenv.mkDerivation (finalAttrs: {
   buildPhase =
     let
       arch = if stdenv.hostPlatform.isx86_64 then "x86_64" else "aarch64";
+      os = if stdenv.hostPlatform.isDarwin then "osx" else "linux";
     in
     ''
       runHook preBuild
+      # https://forum.hdfgroup.org/t/building-hdfview-3-1-0-on-centos-6-swt-library-not-found/5698/4
+      cp ${swt}/jars/swt.jar lib/ext/swt/${os}/${arch}/swt.jar

       ant createJPackage -Dmachine.arch=${arch}

@@ -102,12 +106,5 @@ stdenv.mkDerivation (finalAttrs: {
     platforms = lib.platforms.unix;
     maintainers = with lib.maintainers; [ jiegec ];
     mainProgram = "HDFView";
-    # Startup issue is described here:
-    # https://github.com/NixOS/nixpkgs/issues/340048 A possible solution is
-    # suggested here:
-    # https://forum.hdfgroup.org/t/building-hdfview-3-1-0-on-centos-6-swt-library-not-found/5698
-    # But it requires us to update swt, which is a bit hard, the swt update is tracked here:
-    # https://github.com/NixOS/nixpkgs/issues/219771
-    broken = true;
   };
 })

As we are not sure if it actually helps, I kept that commit one of my local branch, and removed it from this PR.

IMO it is clearly wrong that the those .css and .properties files are missing from the SWT JAR, regardless of any other issues.
Also, for reference, these are the changes I made to get DataExplorer working:
diff --git a/pkgs/by-name/da/dataexplorer/package.nix b/pkgs/by-name/da/dataexplorer/package.nix
index 4ee2b0a0e81a..09406b6b3beb 100644
--- a/pkgs/by-name/da/dataexplorer/package.nix
+++ b/pkgs/by-name/da/dataexplorer/package.nix
@@ -4,11 +4,12 @@
 , ant
 # executable fails to start for jdk > 17
 , jdk17
+, swt
 , makeWrapper
 , strip-nondeterminism
-}:
-
-stdenv.mkDerivation (finalAttrs: {
+}: let
+  swt-jdk17 = swt.override { jdk = jdk17; };
+in stdenv.mkDerivation (finalAttrs: {
   pname = "dataexplorer";
   version = "3.9.0";

@@ -40,12 +41,15 @@ stdenv.mkDerivation (finalAttrs: {
     runHook preInstall

     ant -Dprefix=$out/share/ -f build/build.xml install
+    # Use SWT from nixpkgs
+    ln -sf '${swt-jdk17}/jars/swt.jar' "$out/share/DataExplorer/java/ext/swt.jar"

     # The sources contain a wrapper script in $out/share/DataExplorer/DataExplorer
     # but it hardcodes bash shebang and does not pin the java path.
     # So we create our own wrapper, using similar cmdline args as upstream.
     mkdir -p $out/bin
     makeWrapper ${jdk17}/bin/java $out/bin/DataExplorer \
+      --prefix LD_LIBRARY_PATH : '${swt-jdk17}/lib' \
       --add-flags "-Xms64m -Xmx3092m -jar $out/share/DataExplorer/DataExplorer.jar" \
       --set SWT_GTK3 0

diff --git a/pkgs/by-name/sw/swt/package.nix b/pkgs/by-name/sw/swt/package.nix
index 04d880dc3368..b06eaa9ab08c 100644
--- a/pkgs/by-name/sw/swt/package.nix
+++ b/pkgs/by-name/sw/swt/package.nix
@@ -75,7 +75,9 @@ stdenv.mkDerivation (finalAttrs: {
   postBuild = ''
     cd ../
     mkdir out
-    find org/ -name '*.java' -type f -exec javac -d out/ {} +
+    find org/ -name '*.java' -type f -exec javac -encoding utf8 -d out/ {} +
+    # Copy non Java resource files
+    find org/ -not -name '*.java' -not -name '*.html' -type f -exec cp {} out/{} \;
   '';

   # The makefile doesn't have an install target, the installation of the shared

OK great! I'm working now on a similar fix for hdfview.. Pushed your changes in the meantime.

I'm merging as there are no objections for almost a week, and for sure this improves the situation.


Some improvements(maybe)

Update to gradle 8.0.2.
Note:It's strange that gradle-wrapper.jar didn't change.
Change "fabric" to "fabric-api" in fabric.mod.json.
Improve gradle(maybe).
~- Delete testing codes.~
~Note:These codes will cause errors on other machines.~
Update mappings.
Add actions to auto build.
Note:The action can test codes.

The testing code will be removed by me after the main rewriting is done, but it shouldn't error on other computers. What error do you mean?

As for the other changes after my next push I will probably merge 👍 though if you could exclude the removal of those testing changes for now that would be ideal

I added the testing code back✔
Although Github Actions will run into errors until you remove the testing code.

Sounds good, once I'm done with the initial beta releases I'll merge this. Hopefully that will be very soon 🤞


enh(UI) : Add EndAdornment to add cancel Icon in search field

Add EndAdornment to add cancel Icon in search field

It's wasn't neccesary here


when a check is updated, cancel its existing task and create a new one

or update existing task.

fixed in https://github.com/influxdata/influxdb/pull/14857


mysql80: 8.0.33 -> 8.0.34

Description of changes
Fixes CVE-2022-4899, CVE-2023-0361, CVE-2022-4899, CVE-2022-4899, CVE-2023-22053, CVE-2023-22008, CVE-2023-22046, CVE-2023-22054, CVE-2023-22056, CVE-2023-22057, CVE-2023-22033, CVE-2023-22058, CVE-2023-22005, CVE-2023-22048 and CVE-2023-22038.
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-34.html
https://www.oracle.com/security-alerts/cpujul2023.html

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

[x] 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
[x] 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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review run on x86_64-linux 1

4 packages built:

libmysqlconnectorcpp
mysql-workbench
mysql80
mysql80.static

@ofborg eval


Added UIApplicationDidBecomeActiveNotification observer

Method applicationDidBecomeActive only got called on iPad Pro, did not work on iPad Mini and iPad 4.
The added observer will make sure the plugin will acknowledge the application wake.

Is there an issue for what this is fixing?
Maybe a repro of some kind?

I haven't logged the issue here on GitHub. The issue was that the privacyscreen image (splashscreen) was not getting removed after opening the app via the app switcher. The method applicationDidBecomeActive was just nog getting called.

I believe this is in fact a dupe of #12
So it should be fixed.


Suggested addition: Hover preview box back to normal page

Suggested addition: Hover preview box back to normal page, suggest to put this option in "More settings" at the top right of the window.
The good thing is that now I can hover or hover specific pages by mouse, but sometimes I have to restore the hover window to normal page for viewing, currently I can only close the hover window and reopen the file. If you add a new option, it will be easier to restore it quickly.

Sorry, I'm not sure I'm following what you're asking for here. Could you try and restate your request?

Sorry I didn't express myself clearly, I'll try to describe it again (it might be a bit wordy).
For example I can now hover over this one note.

But now I want to revert this open hover window to a normally displayed page, but I am currently unable to do so:

Since the hovered note does not appear in the open record, sometimes to open this note, I need to look for this note in the file list in order to reopen it.
Thanks for the reply, it's a great plugin!

Thanks for the additional detail. So you would like to be able to create a popover and have the option drag it back into the main workspace? We're working on this capability at the moment which I believe should give you the functionality you're looking for.

Delivered in 0.6.0


Cannot start locally

Facing the problem and don't know why T_T
➜  rawgraphs-app-2.0.1 yarn start
yarn run v1.22.22
$ react-scripts start
ℹ ｢wds｣: Project is running at http://<IP_ADDRESS>/
ℹ ｢wds｣: webpack output is served from
ℹ ｢wds｣: Content not from webpack is served from /Users/jult/py/rawgraphs-app-2.0.1/public
ℹ ｢wds｣: 404s will fallback to /
Starting the development server...

/Users/jult/py/rawgraphs-app-2.0.1/node_modules/react-scripts/scripts/start.js:19
  throw err;
  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:79:19)
    at Object.createHash (node:crypto:139:10)
    at module.exports (/Users/jult/py/rawgraphs-app-2.0.1/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/Users/jult/py/rawgraphs-app-2.0.1/node_modules/webpack/lib/NormalModule.js:417:16)
    at /Users/jult/py/rawgraphs-app-2.0.1/node_modules/webpack/lib/NormalModule.js:452:10
    at /Users/jult/py/rawgraphs-app-2.0.1/node_modules/webpack/lib/NormalModule.js:323:13
    at /Users/jult/py/rawgraphs-app-2.0.1/node_modules/loader-runner/lib/LoaderRunner.js:367:11
    at /Users/jult/py/rawgraphs-app-2.0.1/node_modules/loader-runner/lib/LoaderRunner.js:233:18
    at context.callback (/Users/jult/py/rawgraphs-app-2.0.1/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
    at /Users/jult/py/rawgraphs-app-2.0.1/node_modules/react-scripts/node_modules/babel-loader/lib/index.js:59:103 {
  opensslErrorStack: [
    'error:03000086:digital envelope routines::initialization error',
    'error:0308010C:digital envelope routines::unsupported'
  ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v22.5.1
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

The Environment is M1 MacOS & Sonoma 14.6.1

Thanks. This issue seems related to using Yarn 2, and to the issue with openssl (linked to issue #397).
@bianchimro I imagine we should update the project to Yarn2 and to the latest SSL


zlib: add fixed patch for CVE-2022-37434

Description of changes
This adds a fixed patch for CVE-2022-37434.
See the discussion in https://github.com/NixOS/nixpkgs/pull/185578 and https://github.com/curl/curl/issues/9271 for more information.
To whoever merges: please rebase and merge; I don't like the branch name. Thanks.
Things done

Built on platform(s)

[x] x86_64-linux
[x] 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

[ ] Fits CONTRIBUTING.md.

built curl.tests on x86_64-linux, even the nginx test (which failed yesterday with the broken zlib patch)

@madler has done the new build, the 1.2.13 has been released with the CVE-2022-37434 fix.

@madler has done the new build, the 1.2.13 has been released with the CVE-2022-37434 fix.

Updated in #196167.


how to upload embeddings from local .npz file to the faceDB

Hi, can you please let me know how I can upsert my local embeddings (saved to .npz file) generated from my own embedding model to the vector database, i tried but i cannot find a way to do it, Thanks in advance!

Here is how to open a .npz file:
https://stackoverflow.com/questions/31368710/how-to-open-an-npz-file


Listing pods not working

Tried to list the pods like below but it doesn't seem to work.
buildClient.use(APIs.pods.list().send).map(println)
I could list the pods using the curl command!
curl -s http://localhost:8080/api/v1/namespaces/default/pods/ | jq -rM '.items[].metadata.name'

Hi
The API calls you have shared are not the same,
APIs.pods.list() is the cluster wide resource api/v1/pods.
If you want to list pods from default namespace you need to use:
APIs.namespace("default").pods

Hi @hnaderi,
@pradeepcheers has been pulled onto something else so I thought I'd follow up. Thanks for getting back to us.
We're trying out a couple of k8s clients and we're struggling to get this one to work as expected (yours was our first choice! 😄), particularly in the case of listing pods. Listing resources other than pods seems to work ok.
What may not have been clear from the original report was that, the problem isn't that we're not seeing the results we expect, it's that we're getting decoding errors.
Http4s:
[error] org.http4s.InvalidMessageBodyFailure: Invalid message body: DecodingFailure at : Got value 'null' with wrong type, expecting string
[error] 	at org.http4s.InvalidMessageBodyFailure$.apply(MessageFailure.scala:118)
[error] 	at dev.hnaderi.k8s.client.Http4sKubernetesClient.decoder$$anonfun$1$

Sttp:
Caused by: dev.hnaderi.k8s.client.SttpKubernetesClient$DecodeError: DecodingFailure at : Got value 'null' with wrong type, expecting string
	at dev.hnaderi.k8s.client.SttpKubernetesClient$DecodeError$.apply(SttpKubernetesClient.scala:118)

Clearly these are in fact the same Circe error, but we are making (we believe) the same API call with a different k8s Scala lib, and it succeeds.
Here is what we were doing last, though please note that we've tried as many permutations as we could think of, and they all failed in the same way - I even tried looking up a pod in the default names space by name at one point.
client.use(APIs.namespace("default").pods.list.send)

It's entirely probably that we've just messed up 😅, but I found the error surprising and opaque in terms of giving us any clue as to where we might have gone wrong.
More details: We're hitting a simple local minikube running two instances of nginx through a kubectl proxy, and we're just querying stuff and printing out the results to the terminal to see what we can see - nothing clever at all. The program is just a quick command line app not much bigger than your example one, run from sbt using Scala 3, but I did also try dropping to Scala 2 and saw the same issue.
Any ideas?

Kubernetes v1.26.1
scala-k8s 0.9.0
So I don't have a curl response showing the problem because I don't know what the problem is, but the equivalent JSON output (maybe this is what you meant?) to the call above is below (sorry it's very large...):
curl -s http://localhost:8080/api/v1/namespaces/default/pods/ | jq
{
  "kind": "PodList",
  "apiVersion": "v1",
  "metadata": {
    "resourceVersion": "207431"
  },
  "items": [
    {
      "metadata": {
        "name": "nginx-deployment-68d9b6c666-5jv96",
        "generateName": "nginx-deployment-68d9b6c666-",
        "namespace": "default",
        "uid": "e8173bc3-399b-4120-81f4-d81766c70d70",
        "resourceVersion": "207104",
        "creationTimestamp": "2023-03-01T16:40:56Z",
        "labels": {
          "app": "nginx",
          "pod-template-hash": "68d9b6c666"
        },
        "ownerReferences": [
          {
            "apiVersion": "apps/v1",
            "kind": "ReplicaSet",
            "name": "nginx-deployment-68d9b6c666",
            "uid": "9a797037-a458-4b96-b8eb-fa75680e0682",
            "controller": true,
            "blockOwnerDeletion": true
          }
        ],
        "managedFields": [
          {
            "manager": "kube-controller-manager",
            "operation": "Update",
            "apiVersion": "v1",
            "time": "2023-03-01T16:40:56Z",
            "fieldsType": "FieldsV1",
            "fieldsV1": {
              "f:metadata": {
                "f:generateName": {},
                "f:labels": {
                  ".": {},
                  "f:app": {},
                  "f:pod-template-hash": {}
                },
                "f:ownerReferences": {
                  ".": {},
                  "k:{\"uid\":\"9a797037-a458-4b96-b8eb-fa75680e0682\"}": {}
                }
              },
              "f:spec": {
                "f:containers": {
                  "k:{\"name\":\"nginx\"}": {
                    ".": {},
                    "f:image": {},
                    "f:imagePullPolicy": {},
                    "f:name": {},
                    "f:ports": {
                      ".": {},
                      "k:{\"containerPort\":80,\"protocol\":\"TCP\"}": {
                        ".": {},
                        "f:containerPort": {},
                        "f:protocol": {}
                      }
                    },
                    "f:resources": {},
                    "f:terminationMessagePath": {},
                    "f:terminationMessagePolicy": {}
                  }
                },
                "f:dnsPolicy": {},
                "f:enableServiceLinks": {},
                "f:restartPolicy": {},
                "f:schedulerName": {},
                "f:securityContext": {},
                "f:terminationGracePeriodSeconds": {}
              }
            }
          },
          {
            "manager": "kubelet",
            "operation": "Update",
            "apiVersion": "v1",
            "time": "2023-04-20T16:52:29Z",
            "fieldsType": "FieldsV1",
            "fieldsV1": {
              "f:status": {
                "f:conditions": {
                  "k:{\"type\":\"ContainersReady\"}": {
                    ".": {},
                    "f:lastProbeTime": {},
                    "f:lastTransitionTime": {},
                    "f:status": {},
                    "f:type": {}
                  },
                  "k:{\"type\":\"Initialized\"}": {
                    ".": {},
                    "f:lastProbeTime": {},
                    "f:lastTransitionTime": {},
                    "f:status": {},
                    "f:type": {}
                  },
                  "k:{\"type\":\"Ready\"}": {
                    ".": {},
                    "f:lastProbeTime": {},
                    "f:lastTransitionTime": {},
                    "f:status": {},
                    "f:type": {}
                  }
                },
                "f:containerStatuses": {},
                "f:hostIP": {},
                "f:phase": {},
                "f:podIP": {},
                "f:podIPs": {
                  ".": {},
                  "k:{\"ip\":\"<IP_ADDRESS>\"}": {
                    ".": {},
                    "f:ip": {}
                  }
                },
                "f:startTime": {}
              }
            },
            "subresource": "status"
          }
        ]
      },
      "spec": {
        "volumes": [
          {
            "name": "kube-api-access-g8nwj",
            "projected": {
              "sources": [
                {
                  "serviceAccountToken": {
                    "expirationSeconds": 3607,
                    "path": "token"
                  }
                },
                {
                  "configMap": {
                    "name": "kube-root-ca.crt",
                    "items": [
                      {
                        "key": "ca.crt",
                        "path": "ca.crt"
                      }
                    ]
                  }
                },
                {
                  "downwardAPI": {
                    "items": [
                      {
                        "path": "namespace",
                        "fieldRef": {
                          "apiVersion": "v1",
                          "fieldPath": "metadata.namespace"
                        }
                      }
                    ]
                  }
                }
              ],
              "defaultMode": 420
            }
          }
        ],
        "containers": [
          {
            "name": "nginx",
            "image": "nginx:1.16",
            "ports": [
              {
                "containerPort": 80,
                "protocol": "TCP"
              }
            ],
            "resources": {},
            "volumeMounts": [
              {
                "name": "kube-api-access-g8nwj",
                "readOnly": true,
                "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount"
              }
            ],
            "terminationMessagePath": "/dev/termination-log",
            "terminationMessagePolicy": "File",
            "imagePullPolicy": "IfNotPresent"
          }
        ],
        "restartPolicy": "Always",
        "terminationGracePeriodSeconds": 30,
        "dnsPolicy": "ClusterFirst",
        "serviceAccountName": "default",
        "serviceAccount": "default",
        "nodeName": "minikube",
        "securityContext": {},
        "schedulerName": "default-scheduler",
        "tolerations": [
          {
            "key": "node.kubernetes.io/not-ready",
            "operator": "Exists",
            "effect": "NoExecute",
            "tolerationSeconds": 300
          },
          {
            "key": "node.kubernetes.io/unreachable",
            "operator": "Exists",
            "effect": "NoExecute",
            "tolerationSeconds": 300
          }
        ],
        "priority": 0,
        "enableServiceLinks": true,
        "preemptionPolicy": "PreemptLowerPriority"
      },
      "status": {
        "phase": "Running",
        "conditions": [
          {
            "type": "Initialized",
            "status": "True",
            "lastProbeTime": null,
            "lastTransitionTime": "2023-03-01T16:40:56Z"
          },
          {
            "type": "Ready",
            "status": "True",
            "lastProbeTime": null,
            "lastTransitionTime": "2023-04-20T16:52:26Z"
          },
          {
            "type": "ContainersReady",
            "status": "True",
            "lastProbeTime": null,
            "lastTransitionTime": "2023-04-20T16:52:26Z"
          },
          {
            "type": "PodScheduled",
            "status": "True",
            "lastProbeTime": null,
            "lastTransitionTime": "2023-03-01T16:40:56Z"
          }
        ],
        "hostIP": "<IP_ADDRESS>",
        "podIP": "<IP_ADDRESS>",
        "podIPs": [
          {
            "ip": "<IP_ADDRESS>"
          }
        ],
        "startTime": "2023-03-01T16:40:56Z",
        "containerStatuses": [
          {
            "name": "nginx",
            "state": {
              "running": {
                "startedAt": "2023-04-20T16:52:25Z"
              }
            },
            "lastState": {
              "terminated": {
                "exitCode": 0,
                "reason": "Completed",
                "startedAt": "2023-04-20T09:03:51Z",
                "finishedAt": "2023-04-20T16:40:51Z",
                "containerID": "docker://71057d2d4f4eb9faa937532e3eb4982b8edc6f6ac078e86af9e59cae0a6d1e84"
              }
            },
            "ready": true,
            "restartCount": 3,
            "image": "nginx:1.16",
            "imageID": "docker-pullable://nginx@sha256:d20aa6d1cae56fd17cd458f4807e0de462caf2336f0b70b5eeb69fcaaf30dd9c",
            "containerID": "docker://70a650901b950e3b69bd06873f296af6288e20e8d028ee891955b39647c7367b",
            "started": true
          }
        ],
        "qosClass": "BestEffort"
      }
    },
    {
      "metadata": {
        "name": "nginx-deployment-68d9b6c666-9fjsg",
        "generateName": "nginx-deployment-68d9b6c666-",
        "namespace": "default",
        "uid": "ca91c766-4eb3-42e5-9922-e9a53785e143",
        "resourceVersion": "207103",
        "creationTimestamp": "2023-03-01T16:40:20Z",
        "labels": {
          "app": "nginx",
          "pod-template-hash": "68d9b6c666"
        },
        "ownerReferences": [
          {
            "apiVersion": "apps/v1",
            "kind": "ReplicaSet",
            "name": "nginx-deployment-68d9b6c666",
            "uid": "9a797037-a458-4b96-b8eb-fa75680e0682",
            "controller": true,
            "blockOwnerDeletion": true
          }
        ],
        "managedFields": [
          {
            "manager": "kube-controller-manager",
            "operation": "Update",
            "apiVersion": "v1",
            "time": "2023-03-01T16:40:20Z",
            "fieldsType": "FieldsV1",
            "fieldsV1": {
              "f:metadata": {
                "f:generateName": {},
                "f:labels": {
                  ".": {},
                  "f:app": {},
                  "f:pod-template-hash": {}
                },
                "f:ownerReferences": {
                  ".": {},
                  "k:{\"uid\":\"9a797037-a458-4b96-b8eb-fa75680e0682\"}": {}
                }
              },
              "f:spec": {
                "f:containers": {
                  "k:{\"name\":\"nginx\"}": {
                    ".": {},
                    "f:image": {},
                    "f:imagePullPolicy": {},
                    "f:name": {},
                    "f:ports": {
                      ".": {},
                      "k:{\"containerPort\":80,\"protocol\":\"TCP\"}": {
                        ".": {},
                        "f:containerPort": {},
                        "f:protocol": {}
                      }
                    },
                    "f:resources": {},
                    "f:terminationMessagePath": {},
                    "f:terminationMessagePolicy": {}
                  }
                },
                "f:dnsPolicy": {},
                "f:enableServiceLinks": {},
                "f:restartPolicy": {},
                "f:schedulerName": {},
                "f:securityContext": {},
                "f:terminationGracePeriodSeconds": {}
              }
            }
          },
          {
            "manager": "kubelet",
            "operation": "Update",
            "apiVersion": "v1",
            "time": "2023-04-20T16:52:29Z",
            "fieldsType": "FieldsV1",
            "fieldsV1": {
              "f:status": {
                "f:conditions": {
                  "k:{\"type\":\"ContainersReady\"}": {
                    ".": {},
                    "f:lastProbeTime": {},
                    "f:lastTransitionTime": {},
                    "f:status": {},
                    "f:type": {}
                  },
                  "k:{\"type\":\"Initialized\"}": {
                    ".": {},
                    "f:lastProbeTime": {},
                    "f:lastTransitionTime": {},
                    "f:status": {},
                    "f:type": {}
                  },
                  "k:{\"type\":\"Ready\"}": {
                    ".": {},
                    "f:lastProbeTime": {},
                    "f:lastTransitionTime": {},
                    "f:status": {},
                    "f:type": {}
                  }
                },
                "f:containerStatuses": {},
                "f:hostIP": {},
                "f:phase": {},
                "f:podIP": {},
                "f:podIPs": {
                  ".": {},
                  "k:{\"ip\":\"<IP_ADDRESS>\"}": {
                    ".": {},
                    "f:ip": {}
                  }
                },
                "f:startTime": {}
              }
            },
            "subresource": "status"
          }
        ]
      },
      "spec": {
        "volumes": [
          {
            "name": "kube-api-access-ll9nf",
            "projected": {
              "sources": [
                {
                  "serviceAccountToken": {
                    "expirationSeconds": 3607,
                    "path": "token"
                  }
                },
                {
                  "configMap": {
                    "name": "kube-root-ca.crt",
                    "items": [
                      {
                        "key": "ca.crt",
                        "path": "ca.crt"
                      }
                    ]
                  }
                },
                {
                  "downwardAPI": {
                    "items": [
                      {
                        "path": "namespace",
                        "fieldRef": {
                          "apiVersion": "v1",
                          "fieldPath": "metadata.namespace"
                        }
                      }
                    ]
                  }
                }
              ],
              "defaultMode": 420
            }
          }
        ],
        "containers": [
          {
            "name": "nginx",
            "image": "nginx:1.16",
            "ports": [
              {
                "containerPort": 80,
                "protocol": "TCP"
              }
            ],
            "resources": {},
            "volumeMounts": [
              {
                "name": "kube-api-access-ll9nf",
                "readOnly": true,
                "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount"
              }
            ],
            "terminationMessagePath": "/dev/termination-log",
            "terminationMessagePolicy": "File",
            "imagePullPolicy": "IfNotPresent"
          }
        ],
        "restartPolicy": "Always",
        "terminationGracePeriodSeconds": 30,
        "dnsPolicy": "ClusterFirst",
        "serviceAccountName": "default",
        "serviceAccount": "default",
        "nodeName": "minikube",
        "securityContext": {},
        "schedulerName": "default-scheduler",
        "tolerations": [
          {
            "key": "node.kubernetes.io/not-ready",
            "operator": "Exists",
            "effect": "NoExecute",
            "tolerationSeconds": 300
          },
          {
            "key": "node.kubernetes.io/unreachable",
            "operator": "Exists",
            "effect": "NoExecute",
            "tolerationSeconds": 300
          }
        ],
        "priority": 0,
        "enableServiceLinks": true,
        "preemptionPolicy": "PreemptLowerPriority"
      },
      "status": {
        "phase": "Running",
        "conditions": [
          {
            "type": "Initialized",
            "status": "True",
            "lastProbeTime": null,
            "lastTransitionTime": "2023-03-01T16:40:20Z"
          },
          {
            "type": "Ready",
            "status": "True",
            "lastProbeTime": null,
            "lastTransitionTime": "2023-04-20T16:52:26Z"
          },
          {
            "type": "ContainersReady",
            "status": "True",
            "lastProbeTime": null,
            "lastTransitionTime": "2023-04-20T16:52:26Z"
          },
          {
            "type": "PodScheduled",
            "status": "True",
            "lastProbeTime": null,
            "lastTransitionTime": "2023-03-01T16:40:20Z"
          }
        ],
        "hostIP": "<IP_ADDRESS>",
        "podIP": "<IP_ADDRESS>",
        "podIPs": [
          {
            "ip": "<IP_ADDRESS>"
          }
        ],
        "startTime": "2023-03-01T16:40:20Z",
        "containerStatuses": [
          {
            "name": "nginx",
            "state": {
              "running": {
                "startedAt": "2023-04-20T16:52:25Z"
              }
            },
            "lastState": {
              "terminated": {
                "exitCode": 0,
                "reason": "Completed",
                "startedAt": "2023-04-20T09:03:51Z",
                "finishedAt": "2023-04-20T16:40:51Z",
                "containerID": "docker://9242fa924120abad4cc94016b73a92d00e63f2fb3e8fbda4f19f612bda23816e"
              }
            },
            "ready": true,
            "restartCount": 3,
            "image": "nginx:1.16",
            "imageID": "docker-pullable://nginx@sha256:d20aa6d1cae56fd17cd458f4807e0de462caf2336f0b70b5eeb69fcaaf30dd9c",
            "containerID": "docker://3e3c9b4b70065c80a8e898b5977788bae25ef6bbb2b406b1c87e238a56c3493b",
            "started": true
          }
        ],
        "qosClass": "BestEffort"
      }
    }
  ]
}

Just fixed the problem, you can use the snapshot version as soon as the CI publishes the artifacts, which is in about 20-30 minutes.
It was a problem with explicit nulls as optional empty, which apparently has different behavior between different k8s api servers.

You can use this to get the version with the fix, once it is published in a few minutes
ThisBuild / resolvers ++= Resolver.sonatypeOssRepos("snapshots")
libraryDependencies ++= Seq(
  "dev.hnaderi" %% "scala-k8s-http4s" % "0.10-76403e5-SNAPSHOT",
  "dev.hnaderi" %% "scala-k8s-circe" % "0.10-76403e5-SNAPSHOT"
)

Good morning @hnaderi, I've just tried the snapshot version and it appears to work perfectly! 😄
Thanks for the quick turn around. 🙏

Good morning @hnaderi, I've just tried the snapshot version and it appears to work perfectly! 😄
Thanks for the quick turn around. 🙏

Good to hear that, thank you for the bug report!
I'll drop a release soon.
Also let me know if you faced any problem.


Cache Python interpreter location in base image

This is a minor QOL feature request to remember the location of the Python interpreter between ab builds. Currently ab searches every time a build is run, and it can take a few seconds depending on how many paths are checked:
22:56:24.739 utils.py          INFO   running command: "['podman', 'run', '--rm', 'registry.access.redhat.com/ubi8/ubi:8.2', 'ls', '/usr/bin/python3']"
22:56:25.848 buildah_builder.py INFO   python interpreter /usr/bin/python3 does not exist
22:56:25.848 utils.py          INFO   running command: "['podman', 'run', '--rm', 'registry.access.redhat.com/ubi8/ubi:8.2', 'ls', '/usr/local/bin/python3']"
22:56:26.886 buildah_builder.py INFO   python interpreter /usr/local/bin/python3 does not exist
22:56:26.886 utils.py          INFO   running command: "['podman', 'run', '--rm', 'registry.access.redhat.com/ubi8/ubi:8.2', 'ls', '/usr/bin/python3.7']"
22:56:28.073 buildah_builder.py INFO   python interpreter /usr/bin/python3.7 does not exist
22:56:28.073 utils.py          INFO   running command: "['podman', 'run', '--rm', 'registry.access.redhat.com/ubi8/ubi:8.2', 'ls', '/usr/bin/python37']"
22:56:29.225 buildah_builder.py INFO   python interpreter /usr/bin/python37 does not exist
22:56:29.225 utils.py          INFO   running command: "['podman', 'run', '--rm', 'registry.access.redhat.com/ubi8/ubi:8.2', 'ls', '/usr/bin/python3.6']"
22:56:30.477 buildah_builder.py INFO   python interpreter /usr/bin/python3.6 does not exist
22:56:30.477 utils.py          INFO   running command: "['podman', 'run', '--rm', 'registry.access.redhat.com/ubi8/ubi:8.2', 'ls', '/usr/bin/python36']"
22:56:31.689 buildah_builder.py INFO   python interpreter /usr/bin/python36 does not exist
22:56:31.690 utils.py          INFO   running command: "['podman', 'run', '--rm', 'registry.access.redhat.com/ubi8/ubi:8.2', 'ls', '/usr/bin/python2']"
22:56:32.705 buildah_builder.py INFO   python interpreter /usr/bin/python2 does not exist
22:56:32.705 utils.py          INFO   running command: "['podman', 'run', '--rm', 'registry.access.redhat.com/ubi8/ubi:8.2', 'ls', '/usr/local/bin/python2']"
22:56:33.755 buildah_builder.py INFO   python interpreter /usr/local/bin/python2 does not exist
22:56:33.756 utils.py          INFO   running command: "['podman', 'run', '--rm', 'registry.access.redhat.com/ubi8/ubi:8.2', 'ls', '/usr/bin/python']"
22:56:34.830 buildah_builder.py INFO   python interpreter /usr/bin/python does not exist
22:56:34.830 utils.py          INFO   running command: "['podman', 'run', '--rm', 'registry.access.redhat.com/ubi8/ubi:8.2', 'ls', '/usr/local/bin/python']"
22:56:36.016 buildah_builder.py INFO   python interpreter /usr/local/bin/python does not exist
22:56:36.016 utils.py          INFO   running command: "['podman', 'run', '--rm', 'registry.access.redhat.com/ubi8/ubi:8.2', 'ls', '/usr/libexec/platform-python']"
22:56:37.099 buildah_builder.py INFO   using python interpreter /usr/libexec/platform-python

This example takes about 13 seconds to go through them all. For short playbooks, this actually takes up a large portion of the build time. Not a huge problem, but it would be nice to fix.

Oh yeah, this is a good suggestion! we could also do the query in one call to save time.

Closing as the referenced PR resolves this.


Delta Files not being deleted

Hello,
   I am using the BC2DLS process and am having an issue where the Delta files are not being deleted. I am setting the DeleteDeltas flag on all pipeline to true. When I trigger the process all runs as expected, but the folders within the deltas folder are not deleted. I enabled logging on the Activity called from the True condition of IfDeleteDeltas and the log produces this

Name,Category,Status,Error
WarehouseShipmentLine-7321.csv,File,Deleted,File does not exist.
The file within the deltas subfolder is not named WarehouseShipmentLine-7321.csv. I see the delete Deltas activity is passing in the entity name. I assume this is supposed to be deleting the folder WarehouseShipmentLine-7321 but the logging makes it look like it is trying to delete a file with .csv extension. I would be happy to jump on a quick Teams meeting to review this. Thanks
Tom Link

Unfortunately the entire container contains data from numerous sources, so anonymizing the entire container would be extremely difficult. Could we do a screenshare instead? Thanks for any help!
Tom
From: Soumya Dutta @.>
Sent: Friday, June 3, 2022 7:10 AM
To: microsoft/bc2adls @.>
Cc: Tom Link @.>; Author @.>
Subject: Re: [microsoft/bc2adls] Delta Files not being deleted (Issue #22)
You don't often get email from @.*** Learn why this is importanthttps://aka.ms/LearnAboutSenderIdentification
Thanks- would it be possible for you to send the container contents before running the Synapse pipeline? So we can run the pipeline and reproduce the problem. You may send the zipped up and anonymized content to<EMAIL_ADDRESS>

Reply to this email directly, view it on GitHubhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fbc2adls%2Fissues%2F22%23issuecomment-1145898641&data=05|01|tom.link%40stoneridgesoftware.com|d000944730c74bf793ef08da455a0d92|2e14a5b1fbf8415bbc7d93e20829e510|1|0|637898550344126715|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=xbLljrZWHu1GqWZ1jU5%2BO3LXqf2l5jjHGDAT%2FvzYAP8%3D&reserved=0, or unsubscribehttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAZOTVUIBGUX5UVK5TC5VVFTVNHY3LANCNFSM5XYHKB7Q&data=05|01|tom.link%40stoneridgesoftware.com|d000944730c74bf793ef08da455a0d92|2e14a5b1fbf8415bbc7d93e20829e510|1|0|637898550344126715|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=nw3V5rZl1o5gdlDcWLLwBWPo2RTtAaPvzcIDVqSRqvY%3D&reserved=0.
You are receiving this because you authored the thread.Message ID: @.***>


[Feature]: Add automatic code formatting

Description
No response
Definition of Done
No response

ChatGPT

There are several popular code formatters for Python, each with its own strengths. The "best" one depends on your specific needs and preferences. Here are some of the most widely used auto-formatters for Python 3:
1. Black

Philosophy: "Black is the uncompromising Python code formatter." It formats code in a consistent way and prioritizes readability.
Features:

Opinionated: It has very few configuration options, which ensures consistency.
Fast: It’s optimized for speed.
Well-maintained and widely adopted in the Python community.
Drawback: Since it's highly opinionated, it may enforce formatting decisions you might not agree with.

Command: black your_code.py

2. autopep8

Philosophy: Fixes PEP 8 style guide violations.
Features:

Based on PEP 8, the official Python style guide.
Customizable: You can configure which PEP 8 rules to apply or ignore.
Ideal if you want to strictly follow PEP 8.
Drawback: It may not catch every stylistic issue compared to Black.

Command: autopep8 --in-place your_code.py

3. YAPF (Yet Another Python Formatter)

Philosophy: Tries to emulate the behavior of clang-format by reformatting code to the best formatting that conforms to style guides.
Features:

Flexible: It supports multiple formatting styles, including PEP 8 and custom styles.
You can configure it more easily compared to Black.
Drawback: Its output may not be as consistent as Black's, and it can sometimes be slower.

Command: yapf -i your_code.py

4. isort

Philosophy: Focuses specifically on sorting and organizing imports.
Features:

Ensures import statements are ordered alphabetically and grouped logically.
Can be combined with other formatters like Black for full code formatting.
Drawback: It only handles import sorting, so it needs to be paired with another tool for formatting the rest of the code.

Command: isort your_code.py

5. Docformatter

Philosophy: Focuses on formatting docstrings to match PEP 257.
Features:

Ensures that your docstrings are properly formatted and adhere to PEP 257 standards.
Useful when writing or maintaining extensive documentation in code.

Command: docformatter your_code.py

Which one to choose?

Black: Best if you want a simple, consistent, and opinionated formatter.
autopep8: Best if you strictly follow PEP 8 and want more control.
YAPF: Best if you need a highly configurable formatter with custom style support.
isort: Best for managing and formatting imports specifically.
Docformatter: Best for cleaning up docstrings.

Many developers use Black in combination with isort for import sorting and sometimes docformatter for docstring consistency.

https://black.readthedocs.io/en/stable/guides/introducing_black_to_your_project.html

https://peps.python.org/pep-0008/#indentation

We decided to use black as a code formatter.
We also intend to add a GitHub action to check if the submitted code is different from the output of black.
This action should be required to pass for merging.
Since the actions and their settings will be changed in this issue we also intend to separate the build and drive action for a better structure.


Preserve orientation in EXIF data

Photos in portrait uploaded from iOS show up sideways.
Photos taken on iOS store the data in the native orientation of the sensor and add an EXIF tag to reflect how the final image should be rotated for display.

Yup. There's also some metadata bugs with Slack, so metadata may need to be stripped after rotation.

https://justmarkup.com/articles/2019-10-21-image-orientation/


refactor: better dataset geo_transform writing specs

documented changes in GDAL 3.4+ behaviour for GDALSetGeoTransform;
added correct == method (comparison by value) for GDAL::GeoTransform.

@tindron @turboladen
May I ask you to merge this one?
The only actual change is the added correct == method (comparison by value) for GDAL::GeoTransform. But I believe it will not break anything for existing users.


ModuleNotFoundError: No module named 'setuptools_rust'

Output of the ue4-docker info command:
ue4-docker version:         0.0.82 (latest available version is 0.0.82)
Operating system:           Linux (Ubuntu 20.04.1 LTS, 5.4.0-42-generic)
Docker daemon version:      20.10.6
NVIDIA Docker supported:    Yes
Maximum image size:         No limit detected
Available disk space:       393.7 GiB
Total system memory:        62.42 GiB physical, 2 GiB virtual
Number of processors:       24 physical, 48 logical

Additional details:

Are you accessing the network through a proxy server? No

(The rest of the issue description goes here. If you're reporting a problem with building container images, be sure to include the full output of the ue4-docker build command, including the initial output lines that display the command line parameters used to invoke the build. If you're making a feature request, you can remove the template contents entirely, since the ue4-docker info output and related information is only needed for helping diagnose and reproduce bugs.)
sudo ue4-docker build 4.26.2

[ue4-docker build] Building image "adamrehn/ue4-full:custom-opengl"...                                                                                [190/839]
Sending build context to Docker daemon  9.216kB
Step 1/35 : ARG NAMESPACE
Step 2/35 : ARG TAG
Step 3/35 : ARG PREREQS_TAG
Step 4/35 : ARG UE4CLI_VERSION="ue4cli>=0.0.45"
Step 5/35 : ARG CONAN_UE4CLI_VERSION="conan-ue4cli>=0.0.27"
Step 6/35 : FROM ${NAMESPACE}/ue4-source:${TAG}-${PREREQS_TAG} AS builder
 ---> 9e0b842eacb7
Step 7/35 : ARG UE4CLI_VERSION
 ---> Using cache
 ---> 1a21ec1aea24
Step 8/35 : ARG CONAN_UE4CLI_VERSION
 ---> Using cache
 ---> 933ec5d887aa
Step 9/35 : USER root
 ---> Using cache
 ---> 3b295e36e78f
Step 10/35 : RUN pip3 install setuptools wheel && echo '' && echo 'RUN directive complete. Docker will now commit the filesystem layer to disk.' && echo 'Note that for large
filesystem layers this can take quite some time.' && echo 'Performing filesystem layer commit...' && echo ''
 ---> Using cache
 ---> d96c0008ffd6
Step 11/35 : RUN pip3 install "$UE4CLI_VERSION" "$CONAN_UE4CLI_VERSION" && echo '' && echo 'RUN directive complete. Docker will now commit the filesystem layer to disk.' && e
cho 'Note that for large filesystem layers this can take quite some time.' && echo 'Performing filesystem layer commit...' && echo ''
 ---> Running in 6bf77b25e8ec

...

            =============================DEBUG ASSISTANCE==========================
            If you are seeing an error here please try the following to
            successfully install cryptography:

            Upgrade to the latest pip and try again. This will fix errors for most
            users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
            =============================DEBUG ASSISTANCE==========================

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-tj1edq5y/cryptography/setup.py", line 14, in <module>
        from setuptools_rust import RustExtension
    ModuleNotFoundError: No module named 'setuptools_rust'

This now seems to have been fixed upstream and I can build out the containers now :+1:

Actually hitting this issue again trying to create a custom container image

sudo ue4-docker build -repo https://github.com/xxx/UnrealEngine -branch test_branch -user domgreen custom

ue4-docker version:         0.0.77 (latest available version is 0.0.85)
Operating system:           Linux (Ubuntu 20.04.1 LTS, 5.4.0-42-generic)
Docker daemon version:      20.10.6
NVIDIA Docker supported:    Yes
Maximum image size:         No limit detected
Available disk space:       32.13 GiB
Total system memory:        62.42 GiB physical, 2 GiB virtual
Number of processors:       24 physical, 48 logical

Actually upgrading from 0.0.77 to 0.0.85 fixes this :sweat_smile:


[ota-requestor] Implement OTA Requestor Server cluster attributes

Problem
OTA Requestor Server cluster attributes are not implemented
Proposed Solution
Implement OTA Requestor Server cluster attributes as defined in Section <IP_ADDRESS>. of the Matter specification
The DefaultOTAProviders attribute must be set from the AnnounceOTAProvider content -- this contradicts the specification but given that no other source of the Provider location is currently available (chip-tool does not support this, Jan 4, 2022), there is no other choice.

The DefaultOTAProviders should be set externally on the command line via yaml. This issue will track implementing all OTA Requestor Server cluster attributes except DefaultOTAProviders.


capture characters enclosing a rest

From<EMAIL_ADDRESS>on March 14, 2013 18:15:03
make rest member of att.enclosingchars
Original issue: http://code.google.com/p/music-encoding/issues/detail?id=153

From<EMAIL_ADDRESS>on March 14, 2013 15:16:37
This issue was closed by revision r874 .
Status: Fixed


error: could not create home directory: '.....' The filename, directory name, or volume label syntax is incorrect. (os error 123)

Problem
set up rust with rustup init,
custom installation so path is not edited and i needs to set path when i do my dev.
so i copy the .cargo and .rustup to my local dev path.
and i tried to *Setup and use cargo.....oops.this erro came
Steps
1.set up rust with rustup init,(ps,win10,64bit)
2.custom installation so env var path is not edited
3..copy the .cargo and .rustup to a local dev path.
4.create a simple script to set the RUSTUP_HOME and CARGO_HOME add then cargo binary path into the $Path/%PATH%.
5.run it.
my full steps log>
cargo
'cargo' is not recognized as an internal or external command,
operable program or batch file.
(THIS STEP PROVE NO CARGO IN PATH)
D:>cd D:\Coding\rust\gnuwin
D:\Coding\rust\gnuwin>frust
D:\Coding\rust\gnuwin>set RUSTUP_HOME="D:\Coding\rust\gnuwin.rustup"
D:\Coding\rust\gnuwin>set CARGO_HOME="D:\Coding\rust\gnuwin.cargo"
D:\Coding\rust\gnuwin>set PATH="D:\Coding\rust\gnuwin.cargo"\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;(........lillong)
D:\Coding\rust\gnuwin>cargo new test
error: could not create home directory: 'D:\Coding\rust\gnuwin"D:\Coding\rust\gnuwin.rustup"': The filename, directory name, or volume label syntax is incorrect. (os error 123)
Possible Solution(s)
no idea.does the cargo do some weird path append of local path and RUSTUP_HOME?
should i just not set RUSTUP_HOME?
Notes
No response
Version
cargo version --verbose
error: could not create home directory: 'D:\Coding\rust\gnuwin\"D:\Coding\rust\gnuwin\.rustup"'

retried with different (") position also doesnt work.
'D:\Coding\rust\gnuwin"D:\Coding\rust\gnuwin".rustup':
doesnt seems to be win specific problem

Have you tried it without using quotes?

oh it worked.but i wonder why quotes caused that.It should support quotes perfectly right?It think its common to make the make sure the path can support spaces.like "/a/home/my special rust folder/"

for now it will close it.
Summary,cargo doesnot support the path with quotes

I think this is one case where quotes aren't needed even if there are spaces in the path. But you're right that quotes should be handled correctly anyway.


Integration not found

When I add the 3 files in the correct folder, and use tmy API and ID key, I get the following:
"Platform error media_player.smartthings_soundbar - Integration 'smartthings_soundbar' not found."

Have you restarted HA? Is there anything more in logs (right after restart of HA)?
You can add this repo as a custom repository in HACS, it will download everything for you https://hacs.xyz/docs/faq/custom_repositories

Hi, After adding the repo through Hacs, the errors were gone. No idea how that fixed it. (folder and files were the same)
(restarted dozens of time :P )
But still didn't see it appearing, so I made a new token, and that seemed to solve the problem.
All works good now. Thx for the quick reply. (still new to all this HA-stuff)


ACK controllers don't work on arm64 nodes

Describe the bug
We use arm64 GKE nodes
We tried to deploy ack ec2 and s3 using 9.0.0 version of ack-chart: https://github.com/aws-controllers-k8s/ack-chart
ACK podes show error:
exec ./bin/controller: exec format error
Steps to reproduce
Install chart https://github.com/aws-controllers-k8s/ack-chart with s3 or ec2 enabled on arm64 cluster
Expected outcome
S3 ACK pod starts
Environment

Kubernetes version: 1.30
Using EKS (yes/no), eks.8
AWS service targeted (S3, RDS, etc.) S3, EC2

Yes, it works now.
Thank you!

We're also fixing the releases page in ack-chart :)


PackageList validation - Check for redirects

We should add one more validation to the new PackageList validator, a check for a 301 or 302 status code on the repository.

Once we have verified that the URL ends with .git
Strip the .git and make a request for the URL
Fail validation if the status code is 3xx

Rather than failing the script, would it be terrible to detect the final URL, make sure that it's not already in the list and just replace it for the user?

That would work too. I did consider suggesting this but unlike sorting, or a missing .git extension this error is probably a little more unexpected/serious and might warrant more explicit flagging to the user.
Your suggestion is probably better though, as long as CI fails 👍

That's a point, with the new "auto fixes" I don't think we end with a fail code -- I'll fix that too.
Out at the moment but will get a MR raised later today 👍

I’m slight confused - should this be an issue in the PackageList repo or does this concern ingestion?

Ah never mind - it looks like there are no issues in PackageList. I’m less confused now 😅

Yep! I disabled issues there a while ago as I wanted just one list really and there shouldn't be many issues on that repo.


Site support request: pusher.com/sessions

[x] I've verified and I assure that I'm running youtube-dl 2017.04.17

Before submitting an issue make sure you have:

[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[x] Site support request (request for adding support for a new site)

If the purpose of this issue is a site support request please provide all kinds of example URLs support for which should be included (replace following example URLs by yours):

Single video: https://pusher.com/sessions/meetup/the-realtime-guild/golangs-realtime-garbage-collector
Single video: https://pusher.com/sessions/meetup/reactivate-london/from-css-preprocessors-to-styled-components

Note that youtube-dl does not support sites dedicated to copyright infringement. In order for site support request to be accepted all provided example URLs should not violate any copyrights.

Plus one for pusher.com videos. Those keynotes are very informative.

Generic Wistia embeds, however malformed HTML confuses youtube-dl
!=
<!doctype html>
<html lang="en">
<head>

I'm closing the issue because now I can download videos from pusher.com/sessions without any problems. Moreover, it looks like they're uploading their videos on YouTube https://www.youtube.com/user/pusherapp/videos


Status Bar Foreground Color with Vim

While using the vim plugin the status bar colors don't work very well with the night owl default text color (it's like a blueish gray).
I have control of the background colors(s) depending on the mode but most of the colors I chose don't look good with the current foreground color.
Is it possible to change the foreground color if the vim plugin is enabled to something more neutral like plain white? Or some way to just overwrite it in my settings?
Screenshot

@joshmedeski VSCodeVim allows you to set the foreground color of the status bar for each mode.

Thanks @ryzokuken, I had to use the array syntax on the vim-airline settings


$RTV_BROWSER not working

Hello
I´ve set the Environmet Variables in my /etc/environment and rebooted.
echo Environmet Variable works
Environmet Variable at the Prompt runs
rtv Editor works but BROWSER is still firefox although the Variable says w3m.
urlview is not working to if I press b nothing happens.
Thanks,

Hi,

What OS are you using?
How did you install RTV?
What version of RTV are you using? rtv --version

Kubuntu 16.04 LTS
pip install
1.17.1

Try setting $BROWSER instead of $RTV_BROWSER. The README documentation was recently updated and it looks like it doesn't match what's supported in v1.17.1

That changed nothing.

My failure add export $BROWSER="w3m" to /etc/environment and do a source /etc/environment it now works.
But as I understand it the $BROWSER Variable is central for all CLI Applications, and I want to use w3m only for rtv until now. so it were better if $RTV_BROWSER whould be working.
Thanks,

$RTV_BROWSER will now take priority over $BROWSER


Support gzip fastqs and specify tagstats output location.

I've  been meaning to do add gzip support. Great work.


invite @wencst to write his thought about opensource

@wencst is a java architect in Beijing. He is interested in OpenSource Projects.
In his mind:

Wechat is the most popular communication tool recently in China, so the chatbot is sure to become the necessary tool that is not supported by Tencent. Maybe we can develop some powerful functions by wechaty, such as sending messages regularly, more types of messages, custom message content.

He would like to share his thought about wechaty.
Looking forward for your blog!

Kindly ping @wencst
and Happy New Year 2021!

Kindly ping @wencst
and Happy New Year 2021!


Inconsistency between paper results & wandb runs

Hi @Confusezius,
First, I would like to thank you for the great job on structuring all the existing methods and results in metric learning. This repo is a really nice starting point for future research in this field.
I tried to reproduce your results and had no problem reproducing runs in your wandb project https://app.wandb.ai/confusezius/RevisitDML. However, I noticed that their final metrics are not fully consistent with those presented in your paper tables https://arxiv.org/abs/2002.08473 and usually are about 0.5% worse for any dataset/configuration/metric. Did I miss something?
Thanks!

Hi!
So if you can reproduce the W&B results, the metrics should be consistent with the paper results, since these were more or less extracted directly from W&B. You can check Result_Evaluation.py to see how these results were computed for the most part :). One key thing may be that you are just looking at the maximum of the mean as compared to the mean of each run maximum?

Yeah, got it. I was looking at the mean over seeds of a metric value on the last epoch, as presented in W&B. The Result_Evaluate.py, as far as I get, computes mean over seeds of the maximum over epochs of a test metric value. Am I right? Isn't the latter approach tend to overestimate the real metrics values by a bit of fitting to the test set?

Well, methods with higher amplitude of noise in metric values during training can theoretically get an unfair advantage relative to others in this setting. But that seems like splitting hairs.
Thanks again for quick response!


Ten simple rules for writing and sharing computational analyses in Jupyter Notebooks

This would be a  good document for us to reference some way in our introductory Jupyter Notebook content.

Moved content to #97