PowerBI Admin API's Required to Fetch Metadata

Is your feature request related to a problem? Please describe.
Current PowerBI connector requires a readonly admin user to fetch dashboard metadata via PowerBI Admin APi's. This type of user has global visibility of all PowerBI instances in case of shared tenants. The scope & object visibility of admin user is very wide and due to policies, security and information isolation, they are not provided or permited (my use case).
Describe the solution you'd like
Retrieve PowerBI metadata with provided user credentials, using non admistrative API's:

https://learn.microsoft.com/en-us/rest/api/power-bi/dashboards
https://learn.microsoft.com/en-us/rest/api/power-bi/datasets
https://learn.microsoft.com/en-us/rest/api/power-bi/datasets/get-datasources
...

A implementation aligned with other connectors, not requiring admin privileges (even readonly), and metadata retrieval based in provided regular user credentials.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Hi,
I would like to know if any work in progress about this Issue or will be or not considered in future releases. Thanks.

Hello team, any update on that? The use of Power Bi is massive.

hi @jromandv, @pauloventurab, we'll work on this for 1.0. Thanks

Hi @pmbrull, that's cool.

If you need some time from my side to check connector let me know. Thanks again¡


Move tink-cli from docker-compose to the actual host

I think it is confusing and that great to use the CLI as a docker container. We have everything we need to move tink-cli out from docker-compose to the host itself.
A brief description of how I think this issue can be resolved:

Remove the tink-cli service from docker-compose
Based on where we are (vagrant | terraform) we should install the tink-worker looking at the environment variable set here https://github.com/tinkerbell/sandbox/blob/master/current_versions.sh#L9 and we should do something like:

docker pull $IMAGE
docker cp $IMAGE /tink /usr/local/bin/tink

2a. If we are on Vagrant use vagrant/tinkerbell.sh
2b. On terraform use the exec-remote provider
2c. DO NOT USE setup.sh because it is not its responsibility to install programs

Update doc, readme, and things like that

What fo you think about publishing the tink cli architecture versions as artifacts on the tink github repo? You can then also use wget to download it wherever you want... Just like kubectl I think? (If I'm correct?)

We have this problem because right now we do not tag the various projects
but only sandbox. We do it because right now the projects are not stable
enough for their own independent release cycle.
We built binaries only when tagging a new version from the sandbox
repository. GitHub has a limit in terms of how much space you can use and I
think it will become a limitation too quickly.
Having to retrieve the binary from the container is weird and unusual but
it is hidden by sandbox itself and kind of temporary solution. Who wants to
get the actual binary can download it from sandbox release page with wget
or everything else.
Sander Tolsma do you want to take this task? :)
On Tue, 2 Feb 2021, 22:02 Sander Tolsma<EMAIL_ADDRESS>wrote:

What fo you think about publishing the tink cli architecture versions as
artifacts on the tink github repo? You can then also use wget to download
it wherever you want... Just like kubectl I think? (If I'm correct?)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tinkerbell/sandbox/issues/49#issuecomment-771983252,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMOAOYTGTEIBRP265IYF7DS5BR4ZANCNFSM4W7RS4XA
.

@gianarb I'l take a stab at it...😉 pull req will come tomorrow though, busy today. 😔

Yay! Thanks no problem at all take your time!
On Wed, 3 Feb 2021, 08:10 Sander Tolsma<EMAIL_ADDRESS>wrote:

@gianarb https://github.com/gianarb I'l take a stab at it...😉 pull req
will come tomorrow though, busy today. 😔
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tinkerbell/sandbox/issues/49#issuecomment-772288944,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMOAO4UKX6VGPMSWQGG5V3S5DZG3ANCNFSM4W7RS4XA
.

@tstromberg I'm just back from a long holiday,  will look into it tomorrow!

@tstromberg Sorry, forgot to come back here too after closing #52 .
The short answer is: nope, I'm not looking into this issue any more..

Tink CLI is deprecated.


Official  addons passwords

will it be possible eventually all official addons to have passwords and usernames setup hidden in secrets?
doesn't make sense passwords be set in addons config sense alot times people with problems tend to share computers with TeamV etc...
so having more privacy would be great
thanks

Yes, was just wondering why my samba password wasn't working but apparently it doesn't support secrets so the actual password I had to use was "!secret samba_password" :/

To answer the question (which @pvizeli already kinda did), we are moving to authentication against HA, which makes this obsolete.
Closing this issue.


[rhoai-2.10] sync rhoai-2.10 branch with master branch

[rhoai-2.10] sync rhoai-2.10 branch with master branch
Getting ready for code freeze

Merging to get everything ready


Hotcode deploy not working after update distillery.

Hotcode deploy gives error unknown upgrade command error.

its done.


Validation error does not indicate type

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
The test below fails with an error that is confusing as it is not giving an indication of the incorrect origin type, it contains just the class name without the fully qualifying class. My input is a "URL", so I consider "URL input should be a string or URL" imprecise.
Would it be possible to distinguish between internal and external types somehow, maybe only in case of a naming conflict?
E       pydantic_core._pydantic_core.ValidationError: 1 validation error for url['http','https']
E         URL input should be a string or URL [type=url_type, input_value=URL('http://localhost:3000'), input_type=URL]
E           For further information visit https://errors.pydantic.dev/2.4/v/url_type

Example Code
import httpx
from pydantic import TypeAdapter, AnyHttpUrl

def test_():
    assert TypeAdapter(AnyHttpUrl).validate_python(httpx.URL("http://localhost:3000"))

Python, Pydantic & OS Version
pydantic version: 2.4.2
        pydantic-core version: 2.10.1
          pydantic-core build: profile=release pgo=false
                 install path: /Users/cleancoder/Library/Caches/pypoetry/virtualenvs/xxx-3il_93qV-py3.9/lib/python3.9/site-packages/pydantic
               python version: 3.9.6 (default, May  7 2023, 23:32:44)  [Clang 14.0.3 (clang-14<IP_ADDRESS>.1)]
                     platform: macOS-13.4.1-arm64-arm-64bit
             related packages: email-validator-2.0.0.post2 pydantic-extra-types-2.1.0 typing_extensions-4.8.0 pydantic-settings-2.0.3 fastapi-0.103.2

Hi @chbndrhnns,
Thanks for reporting this. I think it's a reasonable ask, and I'd be happy to review a PR making things more clear. I think the validation error message could be a bit more specific as well.

Skimming through the code, I noticed this requires changes to pydantic-core. My Rust knowledge might not be good enough to tackle this kind of task. This might change though. :)


some dropdown menus open as dialogs

Currently some dropdowns open as a dialog e.g

the select asset dropdown while trying to create a wallet should take similar format as seen on the setup page when first launching the app, during the onboarding process

other page content should not show until an asset type has been selected

the language dropdown should be moved to the top right of the setup page
the back button arrow should be changed to the same style as used on the create wallet page, and should maintain the same consistency app wide

e.g
Language -> [Dropdown]
Asset Type -> [Dropdown]

Drop down menu click away bug.

While the language dropdown is open, clicking away doesn't close the dropdown, clicking away should close the dropdown

The language selection moved to the top right will overlap with the back button text on mobile screens, so I will remove the title for mobile screens.

The language selection moved to the top right will overlap with the back button text on mobile screens, so I will remove the title for mobile screens.

okay, np


NumberInput allows decimal

When entering a custom value in NumberInput, I can type in a decimal and then the decimal gets automatically removed when I enter in my next number. If we don't allow the decimal, should we even let the user type it in the first place?
https://grommet.github.io/hpe/docs/number-input
Your Environment

Browser Name and version: Firefox 48.0 and Chrome 53.0.2785.116

Fixed in grommet commit 74bba82a5a1d89338e89abe9ffcc9371d816e092 and grommet-docs commit e6acf311f83c3fe5995d6d33fd2a7306bc9f2a42.

I think we actually should support decimals. Or how can I put decimals?

It supports decimal. Eric's fix was to remove the parseInt function that was there before.

Hoo right it actually does, but does not allow it by typing (only by pressing the buttons + and -).
Neither is possible to use the up and down arrows to change the value :( .

Should I submit a bug? Think in the case I expect a value between 0 and 100 pounds. and I can have decimals, so I enable step=0.1. If the default value is 0 that means that I have to tap 1000 times to get to 100 pounds ..

I'm not sure I understand what you are asking. Can you create a codepen or something?
Check this codepen:
http://codepen.io/alansouzati/pen/KaqyQe?editors=0010
Step can be configured to be any interval you want, the configuration is in total control of the caller.

Dam it, haha yours is working fine, hum I am using it with  value={1} , and that do not let me edit it by typing (using the keyword) but yes by pressing + and - buttons.
http://codepen.io/MarcoMedrano/pen/KaqyBB?editors=0010
Well it is a very weird behavior is in it?
However I see that I should use 'defaultValue={1}' which let me edit using the buttons and by typing.

yeah. this is straight from react controlled and uncontrolled components. check this out:
https://facebook.github.io/react/docs/forms.html


Set container level securityContext for Affinity assistant

Feature request
Set container level securityContext for affinity assistant. Reuses feature flag set-security-context. This feature needs to take into account if the os is windows
Use case
This change is needed for the Affinity assistant to adhere to restriced pod security standards. This change is a prerequisite for implementing readOnlyRootFilesystem for all containers.

/assign


ERROR Could not pass event ChunkPopulateEvent to MagicLoot v2.1.0

We seem to be getting this issue alot in our console.
We are using Spigot 1.12.2

This is the rest of the version info.
https://pastebin.com/iPTgP80d is the full logs of the issue.

Lets get some more info on this please. I am having the same issue.


Suggestion: Configurable player list sort method

At the moment, the player list in the right side panel lists players based on their connection to the server, or if they changed dimensions. Would it be possible to sort this data after it is updated, so that it is optionally in alphabetical order?
For larger player count servers, this would make it a lot easier to find specific users online.

https://github.com/pl3xgaming/Pl3xMap/commit/e1fe1f30ffa4354778cb7163030992dd93363482


Cannot start with the ssland.py

I have execute the setup steps, but at last I find that the server doesnt start.
So I tried directly to execute the ssland.py
The error msg as following:
root@vultr:/opt/ssland# ./ssland.py
[2017-10-06 22:04:54] DEBUG: using event model: epoll
Traceback (most recent call last):
  File "./ssland.py", line 78, in <module>
    init_all_service()
  File "./ssland.py", line 59, in init_all_service
    service.start(accounts[name], event_loop=main_loop)
  File "/opt/ssland/service/Shadowsocks.py", line 101, in start
    _stat.add_to_loop()
  File "/opt/ssland/core/ssutil.py", line 85, in add_to_loop
    self.ctx.connect()
  File "/opt/ssland/core/ssutil.py", line 55, in connect
    socket.socket.connect(self, self.addr_remote)
  File "/usr/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 2] No such file or directory

And the django has no bug while runserver.
System Info:
Linux vultr.guest 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u2 (2017-06-26) x86_64 GNU/Linux
Python Version
 Python 2.7.13
and while writing this issue I also tried python3
Traceback (most recent call last):
  File "ssland.py", line 78, in <module>
    init_all_service()
  File "ssland.py", line 55, in init_all_service
    for name, service_config in config.MODULES.iteritems():
AttributeError: 'dict' object has no attribute 'iteritems'

Help, please.
Thanks

Please provide sslocal --version

I have changed my OS on VPS, and It works on Ubuntu. Thanks


Create a reverse proxy server

Create a reverse proxy server in Rust, similar to Web Packager Server as a wrapper around the sxg_rs library. This could be run as a typical server or as a service on Google Cloud Run (see docs).

Of the available libraries for implementing a reverse proxy, hyper-reverse-proxy seems like the most accurate (removing hop-by-hop headers including those in Connection, etc.). Optionally we could layer on warp routing for the non-proxied URLs (cert-chain+cbor and validity).
We should also set X-Forwarded-Host, Forwarded: host=, and Via in outgoing requests; not done by that lib.
We'll need some storage/sync mechanism for ACME & OCSP.
Alternatives considered:

warp-reverse-proxy
actix_proxy
possibly some others I already forgot after closing the tabs

@antiphoton @quangIO It appears hyper requires async fns to implement Send for multithreading (see details). SxgWorker fns do not implement Send for a variety of reasons.

js_sys doesn't implement Send.
dyn doesn't implement Send unless specified (dyn Foo + Send) -- which would break js_sys support.
Probably more reasons.

Options to solve this:

block_on() SxgWorker fns. Presumably this eliminates parallelism -- perhaps that's OK for computations that aren't I/O bound?
Remove dyn from the code base; use type parameters instead. Simplest conceptually, but adds line noise and brittleness -- whenever we add a new type parameter, we have to update all callers.
Change types like Runtime to traits with Send and non-Send impls. Least line noise, but a bit of duplication.

I'm leaning towards 3 where possible, falling back to 2 for less pervasive types. However, I'm not an expert in Rust. Would appreciate your opinions. It seems @quangIO was considering 2 in #278; what are the implications for WasmWorker?

Traits with async functions can't implement Send, hence Fetcher, Signer, and Storage do not implement Send, hence struct Runtime does not implement Send.
Box<dyn Fetcher>, Arc<dyn Fetcher> and Arc<F: Fetcher> can't implement Send as long as Fetcher does not implement `Send.
I would suggest constructing Runtime inside hyper's handler function, so that the Runtime is not sent between threads.

I would suggest constructing Runtime inside hyper's handler function, so that the Runtime no longer need to be sent between threads.

I'm already attempting to construct it inside the closure passed to service_fn, and that's resulting in the "Future is not Send" error [1]. I'm not positive, but I believe the multithreading runtime needs each individual task to implement Send because it reserves the right to reschedule it on a different thread; see Tokio docs.
[1] In particular, it's not the call to service_fn but to server::Builder::serve that triggers the error.

I'll give it another day of effort, but if that fails, I may just try spawn_blocking and test that it can handle concurrent requests. I note that warp calls the handler synchronously and warp probably knows what it's doing.
I found myself wanting for language features:

Constraint kinds so I didn't have to duplicate code between RuntimeSend and RuntimeNoSend impls.
Type-changing struct update since our tests use the struct update syntax quite heavily, but that won't work if we get rid of dyn.

In WebAssembly applications with JsValue, Runtime is !Send; in pure Rust applications, Runtime is Send.
We may use the conditional compilation in Rust (like pre-defined macro in C++), and declare Runtime, Fetcher, Signer as !Send only when the wasm feature is enabled in sxg-rs (like this).

Oh, really good idea.

TODO: Refactor this pattern from #314 into a macro in utils:
#[cfg_attr(feature = "wasm", async_trait(?Send))]
#[cfg_attr(not(feature = "wasm"), async_trait)]

Abandoning the attribute macro idea, as the maintenance overhead is not worth the benefit. It would require an additional proc-macro crate.


[Chrome/Safari] Input events are not getting to scenery in some cases when sim is in an iframe

This was found by ETS when doing some testing with embedded simulations.  To duplicate, follow these steps:

launch this embedded sim: http://www.colorado.edu/physics/phet/dev/html/beaker/1.0.0-together.6/beaker-table.html?ea
click and hold the mouse on one of the tweaker buttons (to the right and left of the sliders)
while still holding the mouse button down, move the mouse outside of the iframe in which the sim is embedded
release the mouse button

In this case, the button continues to behave as though it is pressed, and the value continues to go up until the mouse is clicked and released somewhere within the iframe.

I linked a screencast gif above.

I don't see a linked gif above?

it is phetsims/special-ops issue 10, here's a link:
https://github.com/phetsims/special-ops/issues/10

Known Chrome bug, see https://github.com/phetsims/joist/issues/285 (and tracked in Chromium at https://code.google.com/p/chromium/issues/detail?id=269917).
Nothing I can do until it's resolved on the browser side.

Also occurring in Safari, just tested.

No problem in Firefox.

The problem also occurs in IE11.

Experimenting with skipping preventDefault() to see if we can avoid the other negative effects (like potential panning/zooming/selecting of text/etc.)

Put up a testable version without the preventDefault on mouse events (see https://github.com/phetsims/tasks/issues/366). Keeping preventDefault on touch/wheel events, as recommended. Will wait for testing feedback (presumably will need to identify/resolve found issues).

@jbphet is able to reproduce failure. It tends to show a "unable to drop a dragged thing" icon in that case. Chrome on Win7.

Since this is blocking RC testing, I added "developer-meeting" label so that we can discuss status.

9/29/15 dev meeting:
• IE: waiting on testing feedback, see https://github.com/phetsims/tasks/issues/380.
• Chrome: issue still happens occasionally, can't find a way to totally fix it (looked at a lot of sources), best we can do for now.  Expected to be fixed in the browser at some point because there's a Chromium issue.
• Safari: seems to be totally fixed
• Firefox: was never a problem
• @jonathanolson and @ariel-phet are at a point where if IE tests pass, we'll go with this
• @jonathanolson will brief @kathy-phet on status

@jbphet tested on iPad2 and it works in iframe.

Issue still occurs consistently on http://www.colorado.edu/physics/phet/dev/olsonjb/friction_en-iframe.html
as before on Windows 7 IE 10.0.920017357

Understood, the latest version that needs testing are these links:

Testable version with improved IE support:
http://www.colorado.edu/physics/phet/dev/olsonjb/friction-iframe-test/friction_en.html
http://www.colorado.edu/physics/phet/dev/olsonjb/friction-iframe-test/friction_en-iframe.html

I'm not sure if it's possible to solve this issue in IE10. This issue has been discussed in https://code.google.com/p/chromium/issues/detail?id=269917 and https://github.com/mbostock/d3/issues/1099 (for Chrome/Google Maps and Concord sims), and I haven't been able to find evidence (besides the comment https://github.com/mbostock/d3/issues/1099#issuecomment-14271005) that it's possible.
Notable examples: D3 where it works on platforms besides IE10 (http://bl.ocks.org/stepheneb/5059484), an embedded Concord sim (http://www.markalber.com/ap-chemistry/chapter-9-liquids-and-solid-2/comparing-dipole-dipole.html), and an embedded maps example (https://developers.google.com/maps/documentation/embed/guide). IE10 prevents dragging outside of the iframe in all of these cases, while it works in Chrome for all.
One interesting thing to note with the Concord behavior, is that they seem to be able to detect the mouse moving outside the iframe, and they cut off interaction a short period after the mouse goes outside.
I've tried a number of potential fixes and workarounds (e.g. setPointerCapture is not available on IE10, even though it uses pointer events, and setCapture seems to cause buggy situations), and I think this is as good as we can get for now.
Comments in https://github.com/phetsims/tasks/issues/380 indicate that IE10 was the only discovered issue, and the test coverage looks pretty good (Win 8 looks like it was tested due to the comments, but is unchecked, essentially leaving only Chromebook testing).
@ariel-phet, my recommendation is to leave IE10 as "won't fix", and remove this as a blocking issue (and presumably close it). Thoughts?

@jonathanolson sounds good to me, thanks for your work on fixing!

Still a problem on OS X + Safari, see https://github.com/phetsims/hookes-law/issues/32.  Noticed in both Molarity 1.2.0-rc.2 and Hooke's Law 1.0.0-rc.2.


Created internet icon SVG set with 78 icons. These were ported from E…

…ntypo's Social Icon Extension. (Instagram and 500px icons not included due to difficulties in porting and change of logo, respectively)

This is great!
Would you please edit the README.MD file to add this symbols set (and your name as a collaborator) to the list of available packs?

Please before merging review the license tag of the icons in the metadata of this symbol set. According to Entypo this icons are CC BY-SA 4.0. Reference it in the README as well.

Thanks!

GREAT!
I'll update the info in the symbol metadata
:tada:


1.4.28 breaks ability to format properly DynamicFormGroup with Material

After upgrading to 1.4.28 and over, input fields can no longer be placed side by side in a DynamicFrom Group.
Prior to upgrade, using
    new DynamicFormGroupModel({
      id: 'identity-fg',
      group: [
        new DynamicSelectModel<string>(
          {
            id: 'quality',
            disabled: true,
            placeholder: 'Civilité',
            hint: 'choisir dans la liste',
            multiple: false,
            options: [
              {
                label: 'Madame',
                value: 'MADAM',
              },
              {
                label: 'Mademoiselle',
                value: 'MISS'
              },
              {
                label: 'Monsieur',
                value: 'MISTER'
              }
            ],
            validators: {
              required: null
            },
            errorMessages: {
              required: 'Champ obligatoire'
            }
          },
          {
            element: {
              control: 'col px-0',
              container: 'col-md-6 col-lg-4',
              errors: 'mat-input-error mat-select-error'
            }
          }
        ),

        new DynamicInputModel({
            id: 'firstName',
            disabled: true,
            placeholder: 'Prénom(s)',
            maxLength: 80,
            validators: {
              required: null
            },
            errorMessages: {
              required: 'Champ obligatoire'
            }
          },
          {
            element: {
              container: 'col-md-6 col-lg-3',
              control: 'col px-0'
            }
          }
        ),

        new DynamicInputModel({
            id: 'lastName',
            disabled: true,
            placeholder: 'Nom de famille',
            maxLength: 80,
            validators: {
              required: null
            },
            errorMessages: {
              required: 'Champ obligatoire'
            }
          },
          {
            element: {
              container: 'col-md-12 col-lg-5',
              control: 'col px-0'
            }
          }
        )
      ]
    },
    {
      element: {
        container: 'row',
        control: 'col px-0'
      }

    })

would result in the 3 fields being placed side by side on large screens
after upgrade the 3 fields are properly sized but rather than placed side by side, they are placed one per row.
New implementation of DynamicFormGroup template seems to cause the issue but I have not been able to figure out why.

@rernens Hi!

New implementation of DynamicFormGroup template seems to cause the issue but I have not been able to figure out why.

Actually, the markup barely changed.
The most significant update was the replacement of <fieldset> with <div> to provide flexbox support for form groups.
Please have a look at the all new Material sample form and the corresponding sample form model.
It demonstrates how to easily place fields of a DynamicFormGroupModel side by side.

@udos86
Thanks for your quick reply. I had noticed the replacement of fieldset by div in the ne implementation.
I have looked at your demo source code (BTW the demo fails to load) and, unless I am missing the point, it looks like it is maybe simpler but far less customisable that it was before.
In the previous implementation I could easily  make some fields in a group have different sizes depending on media size ( see above ).
We lost the ability to individually apply specific classes to fields as now it heavily relies on the dynamic-material-form-control tag for sizing and placing the control while not beeing able to address its formatting through the «cls» properties in the model.

@rernens

We lost the ability to individually apply specific classes to fields as now it heavily relies on the dynamic-material-form-control tag for sizing and placing the control while not beeing able to address its formatting through the «cls» properties in the model.

No, no, you're still completely free to do that. The demo just show the most simple approach of implementing a more complex form.
In fact, I did not take away any features whatsoever in 1.4.28.
But please not that you need to update to latest Material beta.10.

BTW the demo fails to load

Sorry for the inconvenience - it should be loading fine now.

@rernens BTW: Full grid classes support for Material will be provided in 1.4.30.

@udos86
Looking at the Material form component template, I found out how to achieve the same result.
Here below the implementation that provides the same result.
    new DynamicFormGroupModel({
      id: 'identity-fg',
      group: [
        new DynamicSelectModel<string>(
          {
            id: 'quality',
            placeholder: 'Civilité',
            hint: 'choisir dans la liste',
            multiple: false,
            options: [
              {
                label: 'Madame',
                value: 'MADAM',
              },
              {
                label: 'Mademoiselle',
                value: 'MISS'
              },
              {
                label: 'Monsieur',
                value: 'MISTER'
              }
            ],
            validators: {
              required: null
            },
            errorMessages: {
              required: 'Champ obligatoire'
            }
          },
          {
            element: {
              host: 'd-inline-flex col-sm-12 col-md-6 col-lg-4',
              container: 'col px-0',
              control: 'col px-0',
              errors: 'mat-input-error mat-select-error'
            }
          }
        ),

        new DynamicInputModel({
            id: 'firstName',
            placeholder: 'Prénom(s)',
            maxLength: 80,
            validators: {
              required: null
            },
            errorMessages: {
              required: 'Champ obligatoire'
            }
          },
          {
            element: {
              host: 'd-inline-flex col-sm-12 col-md-6 col-lg-3',
              container: 'col px-0',
              control: 'col px-0',
            }
          }
        ),

        new DynamicInputModel({
            id: 'lastName',
            placeholder: 'Nom de famille',
            maxLength: 80,
            validators: {
              required: null
            },
            errorMessages: {
              required: 'Champ obligatoire'
            }
          },
          {
            element: {
              host: 'd-inline-flex col-md-12 col-lg-5',
              container: 'col px-0',
              control: 'col px-0',
            }
          }
        )
      ]
    },
    {
      element: {
        container: 'row',
        control: 'col px-0'
      }

    }),

    new DynamicFormGroupModel({
      id: 'birth-fg',
      group: [
        new DynamicDatePickerModel(
          {
            id: 'birthDate',
            placeholder: 'né le',
            disabled: true,
            validators: {
              required: null
            },
            errorMessages: {
              required: 'Champ obligatoire'
            }
          },
          {
            element: {
              host: 'd-inline-flex col-sm-12 col-md-4',
              container: 'col px-0',
              control: 'col px-0',
              label: 'col px-0'
            }
          }),

        new DynamicInputModel({
            id: 'birthCity',
            disabled: true,
            placeholder: 'Lieu',
            maxLength: 80,
            validators: {
              required: null
            },
            errorMessages: {
              required: 'Champ obligatoire'
            }
          },
          {
            element: {
              host: 'd-inline-flex col-sm-12 col-md-8 col-lg-3',
              container: 'col px-0',
              control: 'col px-0'
            }
          }
        ),

        new DynamicSelectModel<string>({
            id: 'birthCountry',
            disabled: true,
            placeholder: 'Pays',
            multiple: false,
            options: [
              {
                label: 'France',
                value: 'FRANCE',
              },
              {
                label: 'Belgique',
                value: 'BELGIUM'
              },
              {
                label: 'Grand-Duché de Luxembourg',
                value: 'LUXEMBOURG'
              }
            ],
            validators: {
              required: null
            },
            errorMessages: {
              required: 'Champ obligatoire'
            }
          },
          {
            element: {
              host: 'd-inline-flex col-md-12 col-lg-5',
              container: 'col px-0',
              control: 'col px-0'
            }
          }
        )
      ]
    },
    {
      element: {
        container: 'row',
        control: 'col px-0'
      }

    })

Thanks for your help.


Upgrade to 3.3.0 - Performance issue

Is there an existing issue for this?

[X] I have searched the existing issues

Kong version ($ kong version)
3.3.0
Current Behavior
After upgrading from 3.2.2 to 3.3.0 and activating open telemetry with a 0.25 sampling rate this behaviour seams to happen with some recurrence

Expected Behavior
With a rollback to 3.2.2, the behaviour disappears,
Steps To Reproduce
only changing the version of kong. The config of open telemetry is the same for both versions but on 3.2.2 the OTEL does not work since there´s a but that not allow 0.25% of sampling

kong 3.3.0
DB-Less

prefix = /apps/loadbalancer-external-apigateway/current/
lua_package_path = /apps/loadbalancer-external-apigateway/current/conf/bin/?.lua;;
admin_access_log = off
admin_error_log = off
status_error_log = off
status_access_log = off
proxy_access_log = /apps/loadbalancer-external-apigateway/current/logs/access/access.log
proxy_error_log = /apps/loadbalancer-external-apigateway/current/logs/error/error.log
declarative_config = conf/kong.yml
log_level = error
anonymous_reports = off
proxy_listen = <IP_ADDRESS>:9101 ssl reuseport backlog=16384
port_maps = 443:9101
nginx_daemon = off
nginx_http_tcp_nodelay = on
nginx_http_keepalive_requests = 3000000
nginx_http_keepalive_timeout = 300
nginx_http_include = /apps/loadbalancer-external-apigateway/current/conf/nginx/monitoring.conf
nginx_http_ssl_protocols = TLSv1.2
nginx_http_ssl_prefer_server_ciphers = on
nginx_http_charset = UTF-8
ssl_cipher_suite = custom
ssl_ciphers = ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
ssl_cert = /apps/loadbalancer-external-apigateway/current/certs/wildcard_xxxx_net.crt
ssl_cert_key = /apps/loadbalancer-external-apigateway/current/certs/wildcard_xxxx_net.key
mem_cache_size = 4096m
db_cache_ttl = 0
database = off
plugins = prometheus, jwt, jwt-validation, jwt-claims-to-path-prefix, response-transformer, request-termination, opentelemetry
headers = off
error_default_type = application/json
dns_stale_ttl = 60
dns_cache_size = 15000
dns_order = LAST,A,CNAME,SRV
dns_valid_ttl = 300
ssl_session_cache_size = 10m
allow_debug_header = false
tracing_instrumentations = all
tracing_sampling_rate = 0.25
The release of upgrade was on 06/05
Anything else?
No response

@hanshuebner, do you have an idea why this might be happening? Is opentelemetry plugin also configured through kong.conf? I do not know this code too well.

yes OTEL is on kong.conf
tracing_instrumentations = all
tracing_sampling_rate = 0.25
and on kong.yml as a global plugin

After a deploy that disable the OTEL for all requests
tracing_instrumentations = off
tracing_sampling_rate = 0

Activated the OTEL again but this time with request instrumentation only?
tracing_instrumentations = request
tracing_sampling_rate = 0.25

@flowdopip You write "Performance issue" and "this behavior", but you don't describe what exactly the problem is, what your expectations are or how previous versions of Kong Gateway behaved.  Is your concern the large amount of memory that is consumed when you enable OpenTelemetry and a large number of telemetry records is being generated?

Hi,
Sorry for the low information about the issue.
Yes, the main problem is memory consumption, and because of that, we saw the nginx pids being released ( gracefully ), a low increase of CPU and an overall p99 latency increase.
This started with the new OTEL Plugin since we previously used Zipking Plugin.
After further iteration, we reduced the payload of tracing events from "all" to "request", and we saw a normalization of CPU and Memory.
Now we are working on the OTEL Plugin settings to understand the reason for the memory increase. https://docs.konghq.com/hub/kong-inc/opentelemetry/configuration/

@flowdopip since changing tracing_instrumentations from all to request produced a "normalization" of CPU and memory utilization, as a next step I would advise testing all the other configuration options listed in our docs, one by one, and monitor resources utilization to see which parameter is producing a spike. Depending on the entity of memory utilization increase, this could be expected. It would also help if you could provide more accurate measurements of the worker's memory utilization that you are considering too high, compared to what you are describing as normal.


Fixes for openhpc v2.1

Firstly remove the minor versions from the module names, as some have changed.
Secondly use mpirun instead of srun for the openmpi-based tasks, due to openhpc v2.1 not supporting pmix - see https://github.com/openhpc/ohpc/issues/1320.
The hpl-* tests don't need changing although they also use srun; they use intel MPI and set its I_MPI_PMI_LIBRARY environment variable to point to the pmi library. This still works on ohpc v2.1

@jovial can you rereview pls?

Now hits
TASK [stackhpc.slurm_openstack_tools.test : Install Intel packages] ***************************************************************************************************************************************************
failed: [protovm-login-0] (item={'key': 'impi', 'value': {'package': 'intel-mpi-2019.9-912', 'path': '/opt/intel/compilers_and_libraries_2020.4.304/linux/mpi/intel64/bin/'}}) => {
    "ansible_loop_var": "item",
    "changed": false,
    "item": {
        "key": "impi",
        "value": {
            "package": "intel-mpi-2019.9-912",
            "path": "/opt/intel/compilers_and_libraries_2020.4.304/linux/mpi/intel64/bin/"
        }
    },
    "rc": 1,
    "results": []
}

MSG:

Failed to download metadata for repo 'intel-mpi-repo': repomd.xml GPG signature verification error: Bad GPG signature

Don't think anything's changed on this?

Now hits
TASK [stackhpc.slurm_openstack_tools.test : Install Intel packages] ***************************************************************************************************************************************************
failed: [protovm-login-0] (item={'key': 'impi', 'value': {'package': 'intel-mpi-2019.9-912', 'path': '/opt/intel/compilers_and_libraries_2020.4.304/linux/mpi/intel64/bin/'}}) => {
    "ansible_loop_var": "item",
    "changed": false,
    "item": {
        "key": "impi",
        "value": {
            "package": "intel-mpi-2019.9-912",
            "path": "/opt/intel/compilers_and_libraries_2020.4.304/linux/mpi/intel64/bin/"
        }
    },
    "rc": 1,
    "results": []
}

MSG:

Failed to download metadata for repo 'intel-mpi-repo': repomd.xml GPG signature verification error: Bad GPG signature

Don't think anything's changed on this?

Yeah, failure looks unrelated to change. Possibly a broken repository that they will fix soon? Or maybe we will have to disable GPG? or import a new key?

Commented on intel forum: https://community.intel.com/t5/Registration-Download-Licensing/Intel-yum-repo-GPG-key-problem/m-p/1277934#M712


how to use it

How to use it? The documentation of usage is not enough

I would also like to know how to run the command on command line, the usage is perhaps not clear. Please let me know if anyone knows about this

The useage is completely explained in the documentation (https://github.com/wasserth/TotalSegmentator#usage). If you are not familiar with the usage of the command line I would recommend to do a tutorial on command line usage first and then the documentation of TotalSegmentator will make sense to you.

Otherwise you can simply try our online version: https://totalsegmentator.com/

The error that i get on command line is this: 'TotalSegmentator' is not recognized as an internal or external command,
operable program or batch file.
I have pip installed the package and yet i get this error on my anaconda prompt. That is the reason i wanted to know how it could be installed as cmd command. Please let me know.

@rajanish4 I had a successful run last evening. I will share the steps to be followed after some hours.

@kmordhwaj Ok let me know please

you have to use it in git bash and with CPU option (in majority cases we don't have good GPU in our laptop)
Follow these steps: (assuming you have windows)

Download and Install python
https://www.python.org/downloads/
(don't forgot to select path environment on installation)

Download and install git (it will add git bash command shell)
https://gitforwindows.org/

Download and install anaconda for windows
https://www.anaconda.com/products/distribution

Open Git Bash
run "conda init bash"

Reopen Git Bash and you should see (base) in the first line
run "ipython"

install pytorch with cpu option
run "conda install pytorch torchvision torchaudio cpuonly -c pytorch" in Git Bash
then run "pip install torch"

install totalsegmentator
run "pip install TotalSegmentator" in git bash (in folder path you wanna install) (e.g. c:/users/kmord/Desktop/totalseg)

then move a nifty file renamed as "ct.nii.gz" in the same folder totalseg
then with git bash run in same path (c://users/kmord/Desktop/totalseg)
"TotalSegmentator -i ct.nii.gz -o . --fast"
here -i is command for input
here -o is command for output
ct.nii.gz (file name is "ct" with extension ".nii.gz") should present in same folder (path) where the above command is going to run
-o . (here . is for "all", means we want to save our output 104 segments nifti files in the same folder)
--fast is a tag for fast processing (as we don't have gpu, and running pytorch with cpu)

Thanks.
It should work now.

if you already had installed pytorch with cuda then don't forget to uninstall it before installing with cpu option
conda uninstall pytorch
pip uninstall torch

Thanks a lot, i will give it a try :)

Hi @kmordhwaj I followed your bulltpoints but the error that I get when I do TotalSegmentator -i ct.nii.gz -o . —fast is “TotalSegmentator is not defined”. Do you know why?

Hlw @marco900000 ,
do check if the TotalSegmentator installed.
run pip list
A. If you are able to see TotalSegmentator in the list, then it's installed (may be globally or on current directory's virtual
environment).
then try again TotalSegmentator -i ct.nii.gz -o . —fast
If the error is same "TotalSegmentator is not defined" then obviously the TotalSegmentator is installed globally.
try to run it in virtual environment

Open any command prompt
Open any directory (let it's desktop) (c:/users/kmord/Desktop)

Make a new folder
c:/users/kmord/Desktop/mkdir test

Move inside that folder
c:/users/kmord/Desktop/cd test

Make a virtual environment using python (first check if python and pip available - run python --version and pip --version)
(also check it's python or python3 - run python if you are now able to perform code in terminal then it is python. Similarly you can check for run python3
c:/users/kmord/Desktop/test/python -m venv .  (we are making a virtual environment named test in test folder)

Now activate virtual environment
c:/users/kmord/Desktop/test/./Scripts/activate
now if the path is
(test) c:/users/kmord/test/
then your virtual env is activated (note- can run deactivate to come out of any virtual env)

Now install Total segmentator
(test) c:/users/kmord/test/pip install TotalSegmentator
(i). If it's installed then you are all set to run TotalSegmentator -i ct.nii.gz -o . —fast (if ct.nii.gz file is in test folder and you want to download all 104 segments on the test folder)
(test) c:/users/kmord/test/TotalSegmentator -i ct.nii.gz -o . —fast
(ii). If it's not installed then there may be possible error "SimpleITK==2.0.2" dependency issue
you need to downgrade python version

uninstall python from installed apps of the system
install python version 3.10.2  https://python.en.uptodown.com/windows/download/4271623
perform all above tasks

B. If the pip list doesn't contain TotalSegmentator then can try pip install TotalSegmentator and then run that above segmentation command.
Thankyou.
write back if you get stuck again.

Dear @kmordhwaj thank you for your help.
When I run pip list I see TotalSegmentator listed but when I run the TotalSegmentator I still get the error “TotalSegmentator is not recognized as an internal or external command”. I have created the virtual environment that you suggested and it goes smooth until point 6 of your list. It installs TotalSegmentator correctly (if I run pip list in the virtual environment I see it) but when I then run (test) c:/users/kmord/test/TotalSegmentator -i ct.nii.gz -o . —fast it tells me “TotalSegmentator is not recognized as an internal or external command.”. I have python 3.9.7 version installed.
Can you help me with this?
thank you so much

@marco900000
may be you have some more environment in your system and may be you are inside that environment where total segmentator is not installed. You should deactivated from that other virtual environments.
make sure while running that totalsegmentator command
`(base)
kmord@DESKTOP-460L01F MINGW64 ~/Desktop/inzint/gtf/segments
$ TotalSegmentator -i ct.nii.gz -o . --fast
Please cite the following paper when using nnUNet:
Isensee, F., Jaeger, P.F., Kohl, S.A.A. et al. "nnU-Net: a self-configuring method for deep learning-based biomedical image segmentation." Nat Methods (2020). https://doi.org/10.1038/s41592-020-01008-z
If you have questions or suggestions, feel free to open an issue at https://github.com/MIC-DKFZ/nnUNet
preprocessing C:\Users\kmord\AppData\Local\Temp\nnunet_tmp_7ej9lxvv\s01.nii.gz
using preprocessor GenericPreprocessor
before crop: (1, 61, 73, 61) after crop: (1, 61, 73, 61) spacing: [3. 3. 3.]
no resampling necessary
no resampling necessary
before: {'spacing': array([3., 3., 3.]), 'spacing_transposed': array([3., 3., 3.]), 'data.shape (data is transposed)': (1, 61, 73, 61)}
after:  {'spacing': array([3., 3., 3.]), 'data.shape (data is resampled)': (1, 61, 73, 61)}
(1, 61, 73, 61)
This worker has ended successfully, no errors to report
C:\Users\kmord\anaconda3\lib\site-packages\torch\cuda\amp\grad_scaler.py:118: UserWarning: torch.cuda.amp.GradScaler is enabled, but CUDA is not available.  Disabling.
warnings.warn("torch.cuda.amp.GradScaler is enabled, but CUDA is not available.  Disabling.")
C:\Users\kmord\anaconda3\lib\site-packages\torch\amp\autocast_mode.py:202: UserWarning: User provided device_type of 'cuda', but CUDA is not available. Disabling
warnings.warn('User provided device_type of 'cuda', but CUDA is not available. Disabling')
Please cite the following paper when using nnUNet:
Isensee, F., Jaeger, P.F., Kohl, S.A.A. et al. "nnU-Net: a self-configuring method for deep learning-based biomedical image segmentation." Nat Methods (2020). https://doi.org/10.1038/s41592-020-01008-z
If you have questions or suggestions, feel free to open an issue at https://github.com/MIC-DKFZ/nnUNet
force_separate_z: None interpolation order: 0
No GPU detected. Running on CPU. This can be very slow. The '--fast' option can help to some extend.
Using 'fast' option: resampling to lower resolution (3mm)
Resampling...
Resampled in 0.10s
Predicting...
Predicted in 12.43s
Resampling...
Saving segmentations...
100%|##########| 104/104 [00:07<00:00, 14.02it/s]
Saved in 8.34s
(base)
kmord@DESKTOP-460L01F MINGW64 ~/Desktop/inzint/gtf/segments
$
`

Hi @marco900000
Try this ->

Open git bash
Go to that test directory (in my case its c://users/kmord/Desktop/test2/store)
(base) c:/users/kmord/cd Desktop
(base) c:/users/kmord/Destop/cd test2
(base) c:/users/kmord/Desktop/test2/cd store
Run that command (make sure ct.nii.gz which is input is in test folder)
(base) c:/users/kmord/Desktop/test2/store/TotalSegmentator -i ct.nii.gz -o . --fast

its working for me

Dear @kmordhwaj I did that but the output is always the same: "TotalSegmentator is not recognized as an internal or external command". Can you @wasserth help in this? I followed your guide:

Installed Python 3.8.10  for all users adding it to PATH in installation
Installed CUDA 11.6 toolkit
Installed Pytorch with the command: "pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116"  and I have done all the verifications as described here: https://pytorch.org/get-started/locally/ and everything works
Added in PATH environmental variable "C:\Users\MarcoSolbiati\AppData\Roaming\Python\Python38\Scripts"
Opened terminal and installed TotalSegmentator with: pip install TotalSegmentator.
The output of "pip list" is as you can see in the image:

But when I run in a standard cmd the command "TotalSegmentator -i C:\Users\MarcoSolbiati\Desktop\total-segmentator-input.nii -o C:\Users\MarcoSolbiati\Desktop\total-segmentator-output.nii --fast" I always get this error: 'TotalSegmentator' is not recognized as an internal or external command,
operable program or batch file.
What can be the problem @wasserth ? Thank you for your help

@marco900000  can you show the results of pip list when running on path  C:\Users\MarcoSolbiati\Desktop`pip list` where you are running that processing code

Dear @kmordhwaj thank you again for the help. I have done "cd C:\Users\MarcoSolbiati\Desktop" and then "pip list" and this is the result:

Let me know your thoughts thanks

hi @marco900000 please give a try with git bash not command prompt. I also was not able to get results when running from command prompt and from vs code. But strangely it's working with Git Bash.

I did the same with Git Bash. The output of "pip list" is the same as with the command prompt while the error that I get when running TotalSegmentator is different: "bash:/c/Users/MarcoSolbiati/AppData/Roaming/Python/Python38/Scripts/TotalSegmentator: c:\program: bad interpreter: No such file or directory".

@kmordhwaj @wasserth can you help with this?

@marco900000 please see my code in bash and yours. You are not getting (base). As I can see you are running from c:/users/MarcoSolbiati so put a nifti file in your MarcoSolbiati folder and rename that nifti file to "ct.nii.gz" and then run TotalSegmentator -i ct.nii.gz -o . --fast

I ran into the same problem and  I tried the git bash and typed "where totalsegmentator" and got the result:
$ where totalsegmentator
D:\Users\omnisky\AppData\Local\slicer.org\Slicer 5.3.0-2023-04-09\lib\Python\Scripts\TotalSegmentator
C:\Users\omnisky\AppData\Roaming\Python\Python310\Scripts\TotalSegmentator
(base)
so I delete the former Path for Slicer-TotalSegmentator and came into the error below:
OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://www.intel.com/software/products/support/.
(base)
I finally delete the libiomp5md.dll under the folder "D:\ProgramData\anaconda3\Library\bin" and everything went well.
Thanks for sharing and hope this can help people who came into the same problem as me.


Gravatar strips the spaces in the name from default URL

It would seem that Gravatar strips any (encoded) spaces from the default URL (?d=DEFAULT_IMAGE_URL) breaking the expected image result.
Using the example from the README:
curl -I "https://www.gravatar.com/avatar/EMAIL_MD5?d=https%3A%2F%2Fui-avatars.com%2Fapi%2F/Lasse+Rafn/128"

HTTP/2 302
server: nginx
date: Thu, 04 Mar 2021 14:55:06 GMT
content-type: text/html; charset=utf-8
content-length: 0
location: https://i2.wp.com/ui-avatars.com/api//LasseRafn/128?ssl=1
last-modified: Wed, 11 Jan 1984 08:00:00 GMT
link: <https://www.gravatar.com/avatar/EMAIL_MD5?d=https%3A%2F%2Fui-avatars.com%2Fapi%2F/Lasse+Rafn/128>; rel="canonical"

Is there any way to encode first and last names separately in the URL path components so as not to loose the spaces?
(Awesome service BTW!)

Hi, thanks man!
As far as I remember, it works if you url encode the name (rather than using + so the ui-avatars url would actually be:
https%3A%2F%2Fui-avatars.com%2Fapi%2FLasse%2BRafn

And full url:
https://www.gravatar.com/avatar/EMAIL_MD5?d=https%3A%2F%2Fui-avatars.com%2Fapi%2FLasse%2BRafn

And the output is:

Let me know if this doesn't work 😄

Hey @LasseRafn
That did the trick, thanks!
I needed to first CGI escape the name, then URL encode the resulting URL. Here is the Ruby code for anyone who stumbles upon this issue in the future.
  def gravatar_url(user)
    email_md5 = Digest::MD5.hexdigest(user.email)
    full_name = CGI.escape(user.full_name)
    fallback_url = ERB::Util.url_encode("https://ui-avatars.com/api/#{full_name}")

    "https://www.gravatar.com/avatar/#{email_md5}?d=#{fallback_url}"
  end

Awesome! Glad you managed to solve it and thanks for sharing solution 🙌🏻


Docker container

It may be useful to have a docker container, including for those on platforms less well supported by Torch. This could help with issues like #26 .

The core of this was done by #40. Still outstanding is updating the documentation for using the containers.
We could also consider pushing an apptainer version of the container to ghcr.io under a different name(imageomics/pybioclip-siffor example).

Given that this would likely be used on a HPC quite commonly, having a Singularity/Apptainer image ready to pull might be quite handy (rather than requiring a user to bootstrap it themselves, which can take quite a while to complete the first time).

I created a docker container for version 1.0.0. Manually deploying the container to ghcr is rather complicated and I think building locally would require some manual effort to match the nice labeling done by the github actions. So I used the github actions to push the container.
Steps
I created a new branch from main(where the Dockerfile exists).
I made two changes to deploy-image.yml in the branch:

Change on method to push
https://github.com/Imageomics/pybioclip/blob/f63e2648851960a0ede7d9455b06367f1b27a27c/.github/workflows/deploy-image.yml#L3-L4
I added value=1.0.0 the desired version to the docker/metadata-action step:
https://github.com/Imageomics/pybioclip/blob/f63e2648851960a0ede7d9455b06367f1b27a27c/.github/workflows/deploy-image.yml#L33-L35
The PYBIOCLIP_VERSION environment variable is populated from the metadata-action output. This version number controls which source code the docker container builds.
I then pushed the branch which built the container image and pushed to ghcr.io.

Side note: If you do want to push to ghcr.io you need to create the "classic" token/PAT because the new tokens do not work with ghcr.io.

BTW re: the disk space issue for auto-building an Apptainer image, there's a GitHub action for that. I'm using it for example here.

Two notes about the container:

Build speed from PyPI: I checked, and using uv install pybioclip completes the build in 171s total. Would that be preferable to pulling from GitHub as a workaround for slow performance with pip install pybioclip?
Setup before first prediction: Each time the container starts, assets like open_clip_pytorch_model.bin, open_clip_config.json, txt_emb_species.npy, and txt_emb_species.json need to be retrieved. Not the end of the world, but it would improve the user's quality of life to download these during the container build process so they're already in place before the first prediction (though the container size would grow a bit).

I can add a PR if these changes sound good to others.

Each time the container starts, assets like open_clip_pytorch_model.bin, open_clip_config.json, txt_emb_species.npy, and txt_emb_species.json need to be retrieved.

Is that using Docker or using Singularity? In the latter, this should in theory not be the case (because Apptainer mounts your home directory into the container by default, and the cache directory should be in your home.
For Docker, one has to remember to do that, and that would probably be good to document.

It's as you specify, except I don't believe with .local for Apptainer; with Docker, these go into ~/.cache/huggingface/hub/models--imageomics--bioclip and  ~/.cache/huggingface/hub/spaces--imageomics--bioclip-demo`  within the container, and with Apptainer, it seems to work with the same location on the host.

For Docker, one has to remember to do that, ...

Do you mean mount the cache location to the container? That could also go into the Dockerfile unless it's considered invasive.
So I take it that it's preferable to have these cache items on the host rather than in the container image?

Ah yes, ~/.cache. Yes, mount the cache location into the container. Whether it's preferable to have the cache on the host or inside the container probably depends on the user (and use-case). But if it's not baked into the container, the user gets to decide. (This includes when they want the cache to be inside of the container; they would just need to save the container after items have been cached.)

Build speed from PyPI: I checked, and using uv install pybioclip completes the build in 171s total. Would that be preferable to pulling from GitHub as a workaround for slow performance with pip install pybioclip?

@thompsonmj This repo has CI code to push to PyPI. In the past on another project I attempted to build a container installing from PyPI immediately after pushing to PyPI. Unfortunately the python package is not immediately available from PyPI after you push. Perhaps they have a security scan or something, but I haven't found any documentation on this. This delay resulted in the docker container failing to build and requiring manual intervention.
https://github.com/Imageomics/pybioclip/blob/460313e29fc9df40ed5cbf993b9a0dd9e43be61c/Dockerfile#L8-L10

For Docker, one has to remember to do that, and that would probably be good to document.

We have this documented here:
https://github.com/Imageomics/pybioclip/wiki/Docker-Instructions#pybioclip-docker-container

The PR to add the container closed this issue. Feel free to re-open if there is anything remaining.


Add new RMQ versions to kolla_container_images

Sister PR to: https://github.com/stackhpc/stackhpc-kayobe-config/pull/1258


Python documentation tab refers to Javascript

The documentation around the cardinality field erroneously references Javascript when the python tab is selected.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: a109c38e-b241-c9a2-7ef8-2e828659191c
Version Independent ID: 69842b0f-607f-5cf5-6e1a-4d312c98100c
Content: Azure Event Hubs trigger for Azure Functions
Content Source: articles/azure-functions/functions-bindings-event-hubs-trigger.md
Service: azure-functions
GitHub Login: @craigshoemaker
Microsoft Alias: cshoe

@aaavang Thank you for your feedback! We will review and update as appropriate.

I updated the document to clarify the description. The cardinality property is appropriate for all non-C# languages as C# will auto-populate this value.
#please-close


Missing build dependencies

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:  1.83.0
OS Version: Ubuntu 20.04 docker container(I build VSCode package on old systems in purpose, for backwards compatibility)

To make build successfull I had to apt install libkrb5-dev and yarn add ternary-stream. I hope these dependencies should also be mentioned in the contributions manual.

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.81.1. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

libkrb5-dev is pointed out in our docs: https://github.com/microsoft/vscode/wiki/How-to-Contribute#prerequisites
Pretty sure the ternary-stream isn't necessary.


Add Ast as top level enum

One of the possible solution of #48

Thanks for working on this and sorry for my late reply. I've been busy with other work and haven't had time to think more about the problem.
I still think that I would favor the flat structure over the nested one because:

The nested structure requires two marker bits to distinguish the variants. One at the top level, and another for the sub-union.  That means, the enum is three bytes larger than a flat structure.
In my view, the most common access patterns are that we don't care about what the node is OR that we want to test if it is a few very specific nodes. The nested structure requires a nested match except for, in my view, the rare case where you want to match on all statements.
I think we can accommodate the "matching on all statements" by introducing the helpers is_stmt(), as_stmt() and stmt() on the flat structure.

Would you mind if I change the enum to a flat structure? I will also introduce a AstRef as part of that work because that's actually the enum that I need first.

I wish conversion between Ast and other types like Stmt and Expr doesn't require much cost. If we can achieve it with flat structure, that's also fine.

Because current Ast enum is the counter part of python side ast.AST(each rust enum matches to inheritance from Python), adding a new enum for flat structure seems better if you need one. Before adding the Ast type, the top level ast.AST was the only missing type from Rust side. On the other hand, adding is_stmt_if() to current Ast seems also reasonable if it fits your requirements. (probably not if you need to use match)

I'll add it on the Ruff side if you want to keep using the Ast node for CPython compatibility


TestConversion::test_cache randomly crashing on macOS

Both the Travis CI tests for libvips and my local mac running macOS 10.13.5 are randomly crashing when running the tests/test_conversion.py::TestConversion::test_cache under homebrew python@2 with libvips master.
Output from test run:
============================================================================================= test session starts ==============================================================================================
platform darwin -- Python 2.7.15, pytest-3.6.1, py-1.5.3, pluggy-0.6.0 --<EMAIL_ADDRESS>cachedir: pyvips-master/.pytest_cache
rootdir: /Users/felix/dev/misc/libvips/pyvips-master, inifile: tox.ini
plugins: flake8-1.0.1
collected 37 items

pyvips-master/tests/test_conversion.py::TestConversion::test_band_and PASSED                                                                                [  2%]
pyvips-master/tests/test_conversion.py::TestConversion::test_band_or PASSED                                                                                [  5%]
pyvips-master/tests/test_conversion.py::TestConversion::test_band_eor PASSED                                                                                [  8%]
pyvips-master/tests/test_conversion.py::TestConversion::test_bandjoin PASSED                                                                                [ 10%]
pyvips-master/tests/test_conversion.py::TestConversion::test_bandjoin_const PASSED                                                                                [ 13%]
pyvips-master/tests/test_conversion.py::TestConversion::test_bandmean PASSED                                                                                [ 16%]
pyvips-master/tests/test_conversion.py::TestConversion::test_bandrank PASSED                                                                                [ 18%]
pyvips-master/tests/test_conversion.py::TestConversion::test_cache [1]    18572 segmentation fault  DYLD_LIBRARY_PATH=$PWD/libvips/.libs python2 -m pytest -v

It's not clear to me right now wether the crash is caused by the pyvips bindings or libvips, so I'm reporting it here.
Here's a link to a backtrace pulled from a core dump:

https://gist.github.com/8ec6654d9a5e2654b211da32fd9af7bc

And a .crash file generated by macOS:

https://gist.github.com/7a50b26858b22f72c72a22304f86c622

All the crashes are listing sink_screen as the crashed thread during g_mutex_lock.
It looks like this is inside a libvips processing thread, so it's likely a libvips or glib problem and not a pyvips bug.
For reproducing I used the following script:
for i in `seq 1 1000`; do
  echo "Try $i ..."
  DYLD_LIBRARY_PATH=$PWD/libvips/.libs python2 -m pytest -v pyvips-master/tests/test_conversion.py::TestConversion::test_cache
done

The crash usually happened multiple times within the first 50 invocations.

I can't reproduce the crash in Docker on ubuntu:cosmic (18.10) with the same glib version (2.56.1) and libvips / pyvips master, so it appears to only affect macOS or maybe clang vs gcc.

I should be able to try some tests today.
I hope it's something simple. The cache operator is horribly complicated, and debugging a race in there would be a nightmare :(

I did a few tests, though none of them gave an interesting result.
Test program:
#!/bin/bash

test=$HOME/GIT/pyvips/tests/test_conversion.py::TestConversion::test_cache

for i in {1..200}; do
  echo "Try $i ..."
  if ! python3 -m pytest -q $test; then
    exit 1
  fi
done

git master libvips, ubuntu 18.04, gcc 7.3 ... no crash.
git master libvips, ubuntu 18.04, clang 6.0 ... no crash.

I'll have a go on macOS tonight.


Docs, Linux issues

This is just going to be a list of small issues that interrupt inital adoption as I find them.
Docs: go get command is incorrect, should not contain https:// portion
Build: GCC strict mode prevents compilation,
./imgui_wrap.cxx:2343:20: error: ISO C++ forbids casting to an array type ‘va_list {aka __va_list_tag [1]}’
   arg2 = (va_list)*argp2;
                    ^~~~~

this is repeated for every call.
Misc: patch.sh has msdos encoding, attempting to run this on a linux machine will give a false indication that /bin/sh is missing, it's of course trying to find /bin/sh\r

Shell script and command fixed.
As for the compile issue, do you have to use strict mode?


Why is this happening???

You most likely have a prior installation of Node.js. See https://github.com/coreybutler/nvm-windows#installation--upgrades and https://github.com/coreybutler/nvm-windows/wiki/Common-Issues#uninstall-existing-node-installation-before-installing-nvm4w.


Green Dead pixels in right corner of depth steam of D435 camera

Hi all,
System :

librealsense
2.38.1 RELEASE

OS
Linux

Name
Intel RealSense D435

Serial Number
013222073966

Firmware Version
<IP_ADDRESS>

Advanced Mode
YES

Camera Locked
YES

Usb Type Descriptor
3.2

Product Line
D400

Asic Serial Number
009223021035

Firmware Update Id
009223021035

I have getting strange 3D depth stream from D435 camera after connected with realsense viewer as shown below:

I searched for this issue and I found it might be mis-calibration because of physical shock or if  camera dropped. As mentioned in here
So, I did the intrinsic, extrinsic calibration from viwer as well as calibration from dynamic calibrator v<IP_ADDRESS> but still issue remained.
Please let me know what I need to do in this case.
Kind regards,
Ashutosh Badave

Hi @Ashutosh-Badave   There have been a couple of cases of this green corner effect before, though to a lesser extent than the prominent green area that you are experiencing.  The case that you linked to was one of them.  In the other case, a solution that corrected the problem was to install librealsense via the RSUSB backend method.
https://github.com/IntelRealSense/librealsense/issues/6845

Hi @MartyG-RealSense , Thank you for providing a quick response. I started building the code as mentioned above on my Linux system but the more interesting thing is the camera is working perfectly fine with JetsonTx2 board without any dead pixels and I didn't get the reason.

If you built librealsense on TX2 from packages (like in the link below) then I would speculate that this is what protects it against the problem, and that it is an issue related to the kernel when building from source (since the RSUSB installation method does not require patching).  That is theory though, not certainty.
https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md

Hi @MartyG-RealSense , Thanks for sharing the information, and yes for Tx2, I used the above method.
About my issue, I have downloaded, extracted, and built the librealsense-2.38.1. Now how should I launch realsense viewer so that these files will be used and not previously installed? and how should I use them in my application?

Hi @Ashutosh-Badave   If you use the command ** realsense-viewer** to launch the Viewer (or find it in a file search by searching for the name ** realsense-viewer**), does the Viewer have the title Intel RealSense Viewer v2.38.1 at the top of its window, please?

Yes. It is showing with same  error.

And your first installation (the one where you first encountered the green pixels) was built from source code using the patching-based installation method?
https://github.com/IntelRealSense/librealsense/blob/master/doc/installation.md

I have installed as per this https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md
I would like to point out that I am using realsense V2.35.2. I don't know this information is relevant or not.

I think what you are saying is that on the computer that you have the problem on, you installed with the package distribution method and you also installed from packages on TX2, so you do not know why the TX2 build works fine and the other has the problem with the green box.  Is that correct, please?

Yes. After doing the backend method then also it has the same issue.

A common factor in the other two cases of a green area in the corner are that the green appears in the bottom corner of the RGB image.  Does the green appear in the bottom corner of your RGB image too, please?

Hi @MartyG-RealSense,  it is resolved I have uninstalled the realsense2 package given as per this https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md.
As I already asked how should I launch the realsense after installing using backend method.
Before uninstall librealsense2 package, when I am launching realsense viewer directly from command line, it is using that package. But now to launch realsense viewer, I used below command,
librealsense-2.38.1/build$ ./tools/realsense-viewer/realsense-viewer
And the issue is resolved.
But it shows ´librealsense2-udev-rules´ are missing. and also my application could not find realsense cmake.

I'm very pleased to hear that you made progress.
If you have missing udev rules, please try inputting the command below:
sudo apt-get upgrade/install librealsense2-udev-rules

Thank you so much @MartyG-RealSense for your support. Everything is working correctly.

Great news - good luck with the camera!


Fix usage

Coverage remained the same at 89.587% when pulling 2b9c25291663792efe85ce4a15ed9993c1497f22 on igo:patch-1 into d91a1416f93f4a4903a466ada64ee52f4d966de3 on conbus:master.

Coverage remained the same at 89.587% when pulling 2b9c25291663792efe85ce4a15ed9993c1497f22 on igo:patch-1 into d91a1416f93f4a4903a466ada64ee52f4d966de3 on conbus:master.

Coverage remained the same at 89.587% when pulling 2b9c25291663792efe85ce4a15ed9993c1497f22 on igo:patch-1 into d91a1416f93f4a4903a466ada64ee52f4d966de3 on conbus:master.

Coverage remained the same at 89.587% when pulling 2b9c25291663792efe85ce4a15ed9993c1497f22 on igo:patch-1 into d91a1416f93f4a4903a466ada64ee52f4d966de3 on conbus:master.

Thanks!


Select doesn't bind to object

I want to bind objects instead of strings or numbers with sm-select, but it doesn't work.
I have already ask on StackOverflow: http://stackoverflow.com/questions/39697554/ngsemantic-select-doesnt-bind-to-object
But i can't use ngSemantic tag there. Anyone here can help me?

Like it is done now (a mere wrapper around sui), you can only use string values, like the select code shows :
set model(data: string|number) {
  if (data) {
    setTimeout(() => {
      jQuery(this.select.nativeElement).dropdown("set selected", data);
    }, 1);
  }
}

However, nothing refrain you to use the [model] binding and the (modelChange) or (onChange) event to achieve what you want to do.

Do you mean to add onChange to sm-select?

        <sm-select [(model)]="firstSelect" [control]="myForm.controls.category" placeholder="Search..." class="fluid search" (onChange)="myFunction(item)">
            <option *ngFor="let item of itemslist" [value]="item">{{item.name}}</option>
        </sm-select>

In this way sm-select doesn't know item so i get undefined.

Please refer to the official documentation on outputs.
When using an event emitter like this, you can retrieve the argument using the $event shortcut variable like this : (onChange)="myFunction($event)".
Use an id or somethinf unique for your options values, like [value]="item.id".
And in myFunction(itemValue) {...}, you can retrieve your original item by filtering your array using this id.
Is-it clear enough ? :)

When myFunction($event) is triggered it prints the event as a string!

    <sm-select [(model)]="firstSelect" [control]="myForm.controls.category" placeholder="Search..." class="fluid search" (onChange)="myFunction($event)">
        <option *ngFor="let item of itemslist" [value]="item">{{item.name}}</option>
    </sm-select>

myFunction(item: any): void {
    console.log(item);
}

First, don't use both ngModel and formControl attributes.
It does not makes sense and only confuse you.
Use ngModel for template driven forms, and controls for model driven forms, see http://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven/ .
As for your example : [value]="item" should be something with a string or a number value, ie. an id, unique field.


Add an XDR type for DiagnosticEvent<>

What
Add an XDR type DiagnosticEvents for DiagnosticEvent<>.
Why
Stellar-core returns a variable length array of diagnostic events from it's submission endpoint. It'd be convenient to be able to decode it on the command line with the CLI. We could add the ability to decode arbitrary arrays and other types to the CLI, but that's much more effort and adding a type definition for a type that stellar-core does output is easier and maybe the "right" way to do this anyway.

@MonsieurNicolas Does this need a protocol version? I don't think so. It's not used by anything explicitly, and implicitly the part of stellar-core that outputs this type (without using the type) is not part of the protocol anyway.


Sliding graph : year / 30d

@glandais Woow !!! Nice one !!! I will see this at home :)
Seems to be a killer feature ! Thanks for this work !

@glandais I retreived your pull request into the following branch of my repo: https://github.com/thomaschampagne/stravistix/tree/pull/190
I fixed an "undefined $activityUrl" error i got when testing your PR through the commit https://github.com/thomaschampagne/stravistix/commit/5c67a096b5c58174d3da3a67c6d676bd5f32ed35 on same "pull/190" branch of my repo.
I wasn't able to display your new feature on this branch into "My year progressions to current month/day"
Note: I only have 2 zwift virtual ride in 2016
Thanks for all again.
Thomas
(i could write this to you in french ;), but it's public, so english ;))

I'm struggling with git... I'll try again later :(

No problems ;) Tell me if you need any help with git.


Full MongoDB 4 compatibility

I've switched to github actions. Adding 4 to the matrix (https://github.com/yiisoft/yii2-mongodb/blob/master/.github/workflows/build.yml#L22) reveals some issues to be fixed.


[Suggestion] Make this multi-user-capable

I've been asked by my sons if I could set them up with an installation of this on our LAN.
I'll be taking the code for a spin (forked it a few mins ago) and see if I can make this multi-user-capable. The main issue here will be using proxyfication at some point though, seeing as niantic definitely drops the ban hammer. If I can get this working nicely and you want me to I can contribute a PR.

You're not the first person who's expressed interest in this - so please do take a look at making it happen. I haven't had an opportunity to work on it yet. Let me know what you come up with ;)


Windows Command promt closes when I try to install serverpod

Describe the bug
A clear and concise description of what the bug is.
When I type the command for installing serverpod on Windows command prompt and press enter, the whole window closes. And it haven't downloaded serverpod.
To Reproduce
Steps to reproduce the behavior:

Type in dart pub global activate serverpod_cli

Press enter

See the window close by itself

Expected behavior
A clear and concise description of what you expected to happen.
I expected that it would begin to download serverpod
Screenshots
If applicable, add screenshots to help explain your problem.
Serverpod versions

CLI Version: Run serverpod version to determine the version of installed tooling.
Library version: Check the pubspec.yaml file for the version of Serverpod you are using.

Platform information
On which platforms do you experience the issue. Please provide as much information here as you can. Where are you running the server, which front end device are you using?
HP Elitedesk 800 G2
Windows 10
Additional context
Add any other context about the problem here.

This sounds more like an issue with Dart/Flutter. Make sure that you have the latest version of Flutter installed and try running flutter doctor to see if there are any issues with your install.


Batch merging broken for this repo by use of PULL_NUMBER in scripts

Prow is churning away running batch test jobs that fail llke this:
https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/batch/pull-npd-e2e-kubernetes-gce-gci/1328288484888154112
+ bash -c './test/build.sh -p $(PULL_NUMBER) pr && source pr.env && /workspace/scenarios/kubernetes_e2e.py --cluster= --extract=ci/latest --provider=gce --gcp-node-image=gci --gcp-zone=us-west1-b --ginkgo-parallel=30 --test_args=--ginkgo.focus=NodeProblemDetector --timeout=60m'
bash: PULL_NUMBER: command not found

This is probably part of why PRs don't appear to be merging while many are being tested for merge.
OTOH, it seems like tide / prow should be falling back to serial merges ...
@kubernetes/test-infra-maintainers xref https://github.com/kubernetes/test-infra/issues/13551

Fixed in https://github.com/kubernetes/test-infra/pull/19963.
/close


DRAFT: Add wallet adapter for Strike

Implemented a wallet adapter for the soon-to-be-released Strike Protocols multisig program-based wallet.

Thanks! Please mark this as a draft until the wallet is actually released.

I can do that, sure. We are planning to launch with an invite-only beta, will that present any issues with getting this approved?
Thanks!

Yeah, we try not to merge or release anything in here until it's publicly testable and usable. But I can review it such that it's ready to merge when you go live.

Gotcha, thanks! I can certainly understand that. We are definitely going to be working to get dApps to support our wallet even during our invite launch, so would love to discuss the possibility of getting this merged even before our wallet is fully open to the public, as I suspect it will be a lot easier for the dApps. Happy to chat in a more interactive medium if that would be helpful.

Got it, makes sense. This is less of a policy than just uncharted territory. We'll figure something workable out! Just let me know when it's ready to beta test.

Got it, makes sense. This is less of a policy than just uncharted territory. We'll figure something workable out! Just let me know when it's ready to beta test.

Cool. I will, but if you want you can also sign up to our waitlist here: https://waitlist.strikeprotocols.com/

I've converted this PR to a draft until you let me know it's ready!

This PR is still marked as a draft and hasn't been updated for some time. Can you either close it, or update it, merge the latest master, and mark it ready for review?

We actually will be rolling out our prod site in the next week or two — we will merge the latest master and mark this ready for review then

We actually will be rolling out our prod site in the next week or two — we will merge the latest master and mark this ready for review then

Hi Jordan, we have updated this PR and marked it ready-for-review. You should be getting an invite code to be able to test against wallet.strikeprotocols.com early next week.

Sure, will do, makes sense.

@jordansexton Hi, we have updated to make this a loadable wallet adapter

Thanks for the review @jordansexton, I believe I've addressed all of your comments

Thank you! Excited to try this out

Thank you! Excited to try this out

Thanks @jordansexton !

Published:

<EMAIL_ADDRESS><EMAIL_ADDRESS>

Please test and let me know if it works!

Please test and let me know if it works!

I tested using a local hacked-up version of the react-ui-starter package, and was able to execute a dapp transaction successfully.


MSDKUI-2011: Create build task to generate the github documentation

Signed-off-by: Tadeusz Staszak<EMAIL_ADDRESS>

Codecov Report

Merging #137 into master will increase coverage by 1.57%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #137      +/-   ##
============================================
+ Coverage     73.08%   74.66%   +1.57%
+ Complexity     1644      998     -646
============================================
  Files           129       69      -60
  Lines          5674     3951    -1723
  Branches        874      440     -434
============================================
- Hits           4147     2950    -1197
+ Misses          859      750     -109
+ Partials        668      251     -417

Impacted Files
Coverage Δ
Complexity Δ

...e/msdkuiapp/routing/RoutingInstructionsFragment.kt

...java/com/here/msdkuiapp/common/PermissionsUtils.kt

.../com/here/msdkuiapp/routing/OptionPanelFragment.kt

...ere/msdkuiapp/routing/RouteManeuverListFragment.kt

.../here/msdkuiapp/routing/SubOptionPanelPresenter.kt

...m/here/msdkuiapp/routing/SubOptionPanelFragment.kt

...msdkuiapp/guidance/GuidanceNextManeuverFragment.kt

...com/here/msdkuiapp/routing/OptionPanelPresenter.kt

...m/here/msdkuiapp/position/AppPositioningManager.kt

...ain/java/com/here/msdkuiapp/about/AboutActivity.kt

... and 50 more

Continue to review full report at Codecov.

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


chore: add more logging to multi-osc

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

What is the current behavior? (You can also link to an open issue here)

What is the new behavior (if this is a feature change)?

Other information:

Codecov Report
Attention: 9 lines in your changes are missing coverage. Please review.

Comparison is base (8258e7d) 33.32% compared to head (9f6786b) 33.30%.

Files
Patch %
Lines

...-state-resolver/src/integrations/multiOsc/index.ts
0.00%
8 Missing and 1 partial :warning:

Additional details and impacted files
@@              Coverage Diff              @@
##           release49     #306      +/-   ##
=============================================
- Coverage      33.32%   33.30%   -0.03%
=============================================
  Files             83       83
  Lines           9505     9512       +7
  Branches        2350     2351       +1
=============================================
  Hits            3168     3168
- Misses          5777     5783       +6
- Partials         560      561       +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Added the flag to set timestr in the lockscreen

Hi dev, using your project as a daily driver, but find a thing that can be added with just a few line of codes.
Added the flag to set the time formating string --timestr
USAGE :
--timestr="%H:%M:%S"
              Sets the format used for generating  the  time  string.  See  strf‐
              time(3) for a full list of format specifiers.

Thanks for your contribution, I would close it as duplicate to #185 as it has some separate README.md changes not part of this changeset.


Manage this template repo as part of the CLI release process

This is one solution to the current problem that our devcontainers use different images and thus install different versions of SageMath.
But I think ultimately for 99% of users anything but the default container is useless given GitHub's current UI for Codespaces, so I think just having the Lite configuration and adding a button to PreTeXt-tools to install the extra stuff is the best solution anyway.

Sort of related - maybe this codespace should do nothing but provision the latest version of PreTeXt CLI, which already manages its own codespace configuration? Then the Codespace needs to be rebuilt, but at least we won't have things out of sync? Hmm...

I started working on this today and ran into two issues:

The README file that gets generated with a pretext new will not be helpful for someone coming to the template repository, and it doesn't make sense to have have the template instructions copied over to the forked repository.
Similarly, it would make sense to include a LICENSE on the template repository (current MIT) that is not an appropriate license for a book.

I think the README for this template repo should be the current instructions or similar. We can maintain what that looks like in https://github.com/PreTeXtBook/pretext-cli. What we can do is have our release action run pretext new, then copy over its README with the template repo README.

For this, I'd add a postCreateCommand that deletes the LICENSE file. It's unclear to me what we should be doing to add a LICENSE for authors. I'm tempted to toss CC 4.0 BY-SA by default, though we should warn folks that they should review whether that's appropriate for their project.

I agree with both those points, but I'm still not understanding how to manage this template and its LICENCE and README files with this workflow.  Let me try to describe that workflow here:

When we create a new release of the CLI, a GitHub action gets triggered that runs pretext new and commits those changes to this repository.  Except that it doesn't commit changes to the README (and keeps the LICENCE from this repository).
Thus this repository has the most recent book template files, the most recent .devcontainer/devcontainer.json (the same one that is created with pretext new).  It also has a README with info about how to use the template (not a template for a README for a new book) and a MIT LICENCE for the template itself.
When a user creates a new repository from this template, they get all those files.  If they then create a codespace from that repository, it is provisioned according to devcontainer.json just like it would be after a user does a pretext init --refresh or pretext new.

So what happens to the README and LICENCE from the template?  They are still there and need to be deleted/replaced/edited manually.
Or we maintain a separate postCreateCommand that does this.  But then it will delete the LICENCE and swap the README every time a codespace is created.
So it seems like maybe a better workflow would be to tell the user they need to create a new pretext project right after creating a repo/codespace from the template.  And make pretext new manage the LICENCE/README.

I've figured out how to create a github action that does what we want, but to commit to a different repository, we need to start a secret: the Personal Access Token assigned to this repo.  That will require coordination with an owner of the repo, I believe, or maybe the owner of the organization.

@rbeezer can you elevate Oscar and me in the PreTeXtBook organization to have sufficient permission for this?

I got this figured out!  Turns out I don't need an organization PAT, just mine, since I have push permissions I'm guessing (I made a "classic" token, not the per-repo token they are suggesting now.
So in the CLI repo, any time we run the deploy-stable action, it will trigger a second workflow (which you can also run manually) called deploy-codespace-template.  That checks out this repo, installs the latest pretext, deletes the project.ptx so it can run pretext new -d ., and then finally uses git to revert the previous readme (and commits and pushes, of course).
Thanks @StevenClontz and @bjones1 for your help figuring this out.


doesn't return correct values

displays this in the Serial Monitor
Latitude: 0.0000000
Longitude: 0.0000000
Accuracy: 40000

This happens when any error occurs while requesting position to Google. Did you get a Google Maps API key? You may enable DEBUG traces by uncommenting this line


Add static files to assets.precompile

This avoids errors when gem is used with sprockets-rails >= 3

We also add to add the images under: https://github.com/alphagov/govuk_template/tree/master/source/assets/stylesheets/images
e.g. govuk-crest-ie.png


Switch TravisCI to use containers

According to http://docs.travis-ci.com/user/migrating-from-legacy/ it looks like this is all that we need to do to use Travis' new container based infrastructure.
I have not actually tested this(don't know how to).

well let's see how this goes then.
I've been thinking of doing the same but clearly you finished first :wink:

Okay so it exits with 0 but the bundle cache isn't working atm.
I Googled the problem and it looks like every single build running on the new containers are experiencing the same problem so I vote to just merge this and fix the error later.
After all, it doesn't do anything (good or bad) at the moment so why not just leave it there?

Ugh. Why did you have to beat me to it @mxxcon? That's why I was wondering if we were using sudo. :P

His new name is @ninjacon

Ha. But I merged it so :P

Wait, don't we overwrite the install step?


Publish artifacts

Codecov Report

Merging #1237 (b8dd896) into master (c1bd64c) will decrease coverage by 5.04%.
The diff coverage is n/a.

:exclamation: Current head b8dd896 differs from pull request most recent head eab0537.  Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


fix(ui): fix GitHub credits overflowing on small screens

Description
This pull request re-arranges the "GitHub Contributors" section of the credits sequence to fit on smaller screen sizes. It does this by breaking it apart into multiple sections. I also further filled-in the contributor list with the latest names that I could find.
Contributors source (GitHub API):

https://api.github.com/repos/MovingBlocks/DestinationSol/contributors
https://api.github.com/repos/MovingBlocks/DestinationSol/contributors?page=2

Testing

Watch the credits until the end at the smallest natural resolution possible. None of the text should overflow off the screen.

Notes
The GitHub credits as of this pull request:

It's a known issue, I'm afraid. It should be fixed by MovingBlocks/TeraNUI#69.

There are no functional changes here, so it should be safe to merge.


Fixed Purim/Shushan Purim calculation once again

Due to a previous PR fixing the Israeli Purim holiday behaviour during leap years, a new bug was introduced.
This fixes the fix and corrects Purim/Shushan Purim calculations :)

[X] Tests with a significant number of years to be tested for your calendar.

failing because of flake8 and such. would you mind if I'm taking your work over and try to merge it a bit faster?

Fixed! sorry.
Go ahead in case of any more errors.

could you please squash your two commits into one?

squashed them

ok, so I'm going to rebase from your branch and add changelog items, it needs to have the "brunobord" touch here. thank you very much for your quick patch-on-patch. Have a nice day, I'll keep you informed when the next release is ready.

Is it possible to learn this power? :)
Thanks for a great library!

Is it possible to learn this power? :)

with great power comes great responsibility :o)

Released: https://pypi.org/project/workalendar/5.0.2/


feat: export UserOptions interface from the BaseService

Export this type to be used in the generated subclasses.

That's a good point. I actually don't see HeaderOptions defined in the code anywhere. Only in the Typedoc comments, where it definitely needs to be changed. We can also move the documentation of the learning opt out header to Watson, although we would need a way to represent that in the API definition.
I'll go ahead and remove that from the core for now. I'll also add comments for all of the interface fields 👍

@mkistler Comments addressed. I also re-ordered the properties of the interface


Update package index with latest published versions

Update package index with latest published versions

@azure-sdk ok

@Mint-6263


Meaning / correctness of timestamps of device.get_energy_data

I am currently testing the tapo module with my P110 smart plugs.  I can get the data from the devices with all of your API calls in the TAPO_p110.py example, which is great !
I am now specifically looking into the device.get_energy_data calls for hourly, daily and monthly data and am trying to understand the various output parameters. The code delivers values for start_timestamp and end_timestamp. To understand their meaning I convert them to a Python datetime object and print them.
For the hourly data I get results that make sense, but for daily and monthly data  the start and end values are equal. Is that something in the device output or in the post-treament in your module? I give example results below.
Energy data (hourly): {'data': [12, 12, 12, 12, 13, 12, 12, 12, 12, 12, 12, 12, 11, 12, 12, 12, 12, 4, 0, 0, 0, 0, 0, 0], 'end_timestamp':<PHONE_NUMBER>, 'interval': 60, 'local_time': '2024-05-22T17:20:07', 'start_timestamp':<PHONE_NUMBER>}
start date_time: 2024-05-22 02:00:00 start_ts:<PHONE_NUMBER>
  end date_time: 2024-05-23 01:59:59   end_ts:<PHONE_NUMBER>

Energy data (daily): {'data': [8254, 10030, 6695, 4636, 3577, 1448, 499, 632, 2044, 3888, 3002, 1391, 725, 284, 5862, 8314, 9891, 5180, 9461, 7752, 3727, 6723, 5831, 4619, 8553, 4575, 4301, 3228, 3523, 962, 289, 289, 716, 3948, 2240, 1047, 905, 3385, 2470, 711, 290, 290, 293, 292, 289, 287, 288, 288, 286, 286, 291, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'end_timestamp':<PHONE_NUMBER>, 'interval': 1440, 'local_time': '2024-05-22T17:20:07', 'start_timestamp':<PHONE_NUMBER>}
start date_time: 2024-04-01 02:00:00 start_ts:<PHONE_NUMBER>
  end date_time: 2024-04-01 02:00:00   end_ts:<PHONE_NUMBER>

Energy data (monthly): {'data': [238328, 327085, 236519, 139607, 19388, 0, 0, 0, 0, 0, 0, 0], 'end_timestamp':<PHONE_NUMBER>, 'interval': 43200, 'local_time': '2024-05-22T17:20:07', 'start_timestamp':<PHONE_NUMBER>}
start date_time: 2024-01-01 01:00:00 start_ts:<PHONE_NUMBER>
  end date_time: 2024-01-01 01:00:00   end_ts:<PHONE_NUMBER>

This is a quirk of the tapo API.
When requesting the data, an end timestamp is always required.
However, this end timestamp is not used for daily and monthly data. So rather than pointlessly asking the user for an end date or calculating it, I made it send an end timestamp equal to the start one.
Unfortunately, the response contains both timestamps as provided in the request, and I agree that this needs to be clarified.
I'm not sure how to address this. My current best guess is to remove the end_timestamp from the response.

From your answer I conclude that the start_timestamp should be meaningful.
Going to have a look on that...
Op do 23 mei 2024 10:26 schreef Mihai Dinculescu @.***>:

This is a quirk of the tapo API.
When requesting the data, an end timestamp is always required.
However, this end timestamp is not used for daily and monthly data. So
rather than pointlessly asking the user for an end date or calculating it,
I made it send an end timestamp equal to the start one.
Unfortunately, the response contains both timestamps as provided in the
request, and I agree that this needs to be clarified.
I'm not sure how to address this. My current best guess is to remove the
end_timestamp from the response.
—
Reply to this email directly, view it on GitHub
https://github.com/mihai-dinculescu/tapo/issues/221#issuecomment-2126523364,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGII3TQV5DGZUCBME4CAWO3ZDWR3JAVCNFSM6AAAAABID5G4COVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRWGUZDGMZWGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

I checked the timestamps and data against the graphs in the app. ALL start_timestamps are indeed meaningful and corresponding with the start of the data in a period. This is also true for the end_timestamp for the hourly data.
So, having start_timestamps is sufficient for connecting a datapoint to the specific time period. The reported local_time can be used recognize the last fully completed time period in a series.

For now, I have decided to keep the fields as they are but clarify their behaviour in the comments.
Thanks for bringing this up!


Tracking issue for stable_graph

Create feature stable_graph gates StableGraph, a graph that does not shift graph indices when nodes or edges are removed.
I haven't used this type since it was written, so it lacks the feedback on if it's a good thing to have or not.

Stable in 0.3.0


The robot travel a distance after pick up a tag

Hi all,
I observed that a robot picks up a tag and continues to travel a short distance. Then, it turns the angle and returns back to the nest. The robot should turns its angle and returns back to the nest immediately after finding a tag. You can launch an experiment and it is easy to be discovered.

Please test to see if this still happens with destination noise turned off.


ADT for extended infos instead of generating functions

The extended information of a state transition - i.e. the information added as a courtesy to the user - is generated as text right inside the state transition functions.
Instead, they should put their data into ADT values, and the interpreter should be able to decide how to handle the information contained.

Done in c89c6bdc91643f3f1d2e4649b54cc84df0dcf64f


Correct download.md's SBOM section

This patch fixes the SBOM documentation section.

replace reference to "SBOM" with "SPDX", as the former is not a format
add a link to the SPDX specifications
correct the "awk" command to reference registry.k8s.io

Can confirm the instructions on the site result in no output and the proposed changes will be accurate.

/easycla

I could not retrieve the list of images using the solution proposed here. This issue has been fixed (and merged) in #40982. The working solution is:
curl -Ls "https://sbom.k8s.io/$(curl -Ls https://dl.k8s.io/release/stable.txt)/release" | grep "SPDXID: SPDXRef-Package-registry.k8s.io" |  grep -v sha256 | cut -d- -f3- | sed 's/-/\//' | sed 's/-v1/:v1/'
FYI: @AevaOnline, @justaugustus, @chris-short @sftim