WIP: Named slots / Nested slots

I still need to add tests and maybe some more example test cases to make sure it covers all the edge cases correctly.
But before I do that, just wanted to make sure the API seems OK.
Changes

Adds support for multiple slots
Adds support for named slots.
Fixes issues with nested slots

Originally I had simpler fix for the nested slots issue (basically make node_slot as stack and then pop off of the top), but to support multiple and named slots, need a bigger change which also ended up covering the nested slot case

Issues

Closes https://github.com/google/mesop/issues/810
Closes https://github.com/google/mesop/issues/929

Overall, I'm liking the direction of this. Thanks for working on this!
My main two suggestions are:

I don't think we should support multiple unnamed slots. It seems: a) no real benefit compared to multiple named slots, b) harder to read the callsites (e.g. what's the difference between the first slot and second slot) and c) deviates from HTML slots: https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots - based on my reading, in HTML, you can only have one unnamed slot, which acts like a default slot, and it takes in all the content implicitly as the slot (i.e. what our content_component currently does). I think keeping this similar to web API isn't totally necessary, but it's a good sanity check in terms of our API design. Interestingly, Angular itself models their concept (content projection) after the HTML standard, but with some differences to "angularize" it: https://angular.dev/guide/components/content-projection/

This isn't 100% necessary for the feature, but ideally I'd like to have some form of stricter typing. For example, an ideal API for this would look something like this:

@me.content_component(named_slots=["header", "body"])
def comp():
  ...

def page():
  with comp() as c:
     with c.header():
       me.text("...")
     with c.body():
       me.text("...")

I'm not totally sure how to write this type annotation / implement this (maybe Gemini can help :), but I think this would provide a much nicer API for consumers for named slot content components because then you can get IDE support (e.g. autocomplete, type-checking)

I think it's definitely doable to get this syntax, but does not seem like we'd be able to get the dynamic annotations/type hints in IDE in a nicer way.
def page():
  with comp() as c:
     with c.header():
       me.text("...")
     with c.body():
       me.text("...")

There is one option which is to use namedtuple
@me.content_component(named_slots=namedtuple('SomeName', ["header", "body"]))
def comp():

I think this would work, but I think doesn't feel like a good trade off. Since we'd need to create a different namedtuple for each set of named slots. Also wouldn't work if someone did: namedtuple('SomeName', slot_names_from_var)
Another option is for users to implement a dataclass and pass that into the named slots. But seems unnecessarily verbose and probably don't want to expose DetachedNodeTreeStateContext
@dataclass
class HeaderBodySlots:
  header: DetachedNodeTreeStateContext
  body: DetachedNodeTreeStateContext

Hmm, one more idea that could work is to let the user pass in a Literal for the named slots like Literal['header', 'body']
@me.content_component(named_slots=Literal['header', 'body']))
def comp():

Drawback is that this would lead to an api like this:
def page():
  with comp() as c:
     with c.slot('header'):
       me.text("...")
     with c.slot('body'):
       me.text("...")

So not as a nice c.header, c.body

EDIT: Actually NVM, don't think that would work.
Hmm, one more idea that could work is to let the user pass in a Literal for the named slots like Literal['header', 'body']

@me.content_component(named_slots=Literal['header', 'body']))

def comp():

Drawback is that this would lead to an api like this:

def page():

  with comp() as c:

     with c.slot('header'):

       me.text("...")

     with c.slot('body'):

       me.text("...")

So not as a nice c.header, c.body

I think the named slots w/ literals is a good idea. Not quite as ergonomic, but still readable and easy both for the content component producer and consumer.

I think the named slots w/ literals is a good idea. Not quite as ergonomic, but still readable and easy both for the content component producer and consumer.

Unfortunately, I spoke too soon about using Literals. Don't think it will work. Was hoping something like this could work. But get `(Unknown) -> Any). Passing in a dynamic literal does work when not wrapped in the Callable. But unfortunately not too useful that way. So I'll just go ahead and implement the c.header(), c.footer()
from typing import Literal, Callable, NamedTuple, Any

def make_tuple(typeX):
  return NamedTuple("TestT", [("slot", Callable[[typeX], Any])])

TestT = make_tuple(Literal["header", "footer"])

t = TestT(slot=lambda a: a)
t.slot()

I'd avoid namedtuple because it's not great API-wise for long-term maintenance compared to dataclass, see: https://snarky.ca/dont-use-named-tuples-in-new-apis/
Similar to how we do state class, what if we did this?
@me.slotclass
class ScaffoldSlots:
  header: me.NamedSlot
  body: me.NamedSlot
  footer: me.NamedSlot

@me.content_component(named_slots=ScaffoldSlots)
def ...

Essentially slotclass is an alias for dataclass, but we could do things like enforce [kw_only](https://docs.python.org/3/library/dataclasses.html#:~:text=in version 3.10.-,kw_only,-%3A If true (the).
me.NamedSlot is basically an alias to something like DetachedNodeTreeStateContext
Even though this is a bit more verbose than namedtuple, this should be pretty familiar to Mesop developers since it's quite similar to the stateclass syntax and it avoids the downsides of namedtuples (e.g. indexing).


Query Key isnt set in React Query

Describe the bug
I can set the Query Hash for a query in the options, but not the key itself
To Reproduce
  const { data, isFetched } = useExercisesQuery(client,{ isPrivate },{ queryKey: "private", queryHash: '["Exercises", "private"]'
    }

In this example the Hash is set, the query key isnt

Hi @TkinterinShanghai ,
Thank you for reporting this. We have a very strict policy regarding issues reporting. In this issue, we have a missing version of codegen, plugins, version of react-query, a reproduction of that issue, and the expected output.
I'm closing, feel free to ping me when the missing details are available and we would love to take a look.

I have actually found out why that is
This is the code thats generated by Graphql Code Generator. As seen Graphql Code Generator creates a key that cannot be modified unless variables are passed to the request. So it would be nice if additional values can be passed to the key, because that would be possible with plain React Query
export const useExercisesQuery = <
      TData = ExercisesQuery,
      TError = unknown
    >(
      client: GraphQLClient,
      variables: ExercisesQueryVariables,
      options?: UseQueryOptions<ExercisesQuery, TError, TData>
    ) =>
    useQuery<ExercisesQuery, TError, TData>(
      ['Exercises', variables],
      fetcher<ExercisesQuery, ExercisesQueryVariables>(client, ExercisesDocument, variables),
      options
    );

The key is defined by the GraphQL operation name you are using. Why not change that? What's the use case for allowing this to be modified externally?

I have lots of queries. Some are private, only accessible if the user is logged in and some are public. Instead of checking all the queries on whether they are private or public, I'd like to just assign them an extra value in their key so that I just have to invalidate all the queries including the keyword "private" in their name. With vanilla react-query that would be possible and I think it's a useful feature. It's nice that you take care of adding the variables to the key but additional fields would be useful, too


Cognito - multi-tenanted support

Cognito needs to be updated to support multi-tenanted access. An group ID should be recorded against user attributes for a particular account.
May be best to implement this in the cognito post confirmation lambda.

Completed with https://github.com/platelet-app/platelet/pull/26


Support for newer Debian-based distributions and their hardcore take on external package managers

Describe the solution you'd like
Thank you very much for writing this integration. I'm very excited to use it. I'm primarily a Debian user and as of version 12 they (along with newer Ubuntu and likely other Debian-based distros) issue this warning when you try to use pip:
pip install -U pip
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.

    See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

It would be great if there was either venv instructions or a .deb package or something. I'm not super well versed in Python and its environment-hacks so I don't feel super comfortable venturing into venv just for one application. Thanks!
Additional context
No response

I don't think there is a need to install LNXlink as a virtual environment. It will only make installation more complicated.
As for your error message you could use this command to install PIP:
sudo pip install --break-system-packages -U pip

This won't create any issue with your system, it will just get the latest PIP version.
The rest of the commands should work without any issue.

Not sure if I've set myself up for failure but I just encountered this and went the other route:
sudo apt install pipx
pipx install lnxlink

Lets see how it goes.

Lets see how it goes.

Was running into a few issues, (trouble getting the DISPLAY=:0, so backed out and went with the --break-system-packages route listed above.
However I encountered the same issues with the global pip install.
I would be hesitant to deviate too much from Debian's warnings here. Things like this can get funky quickly. I may jump back to the pipx method shortly. I'll report back if I do and things work ok.

In order to install LNXlink as a virtual environment you will have to follow these instructions:
sudo pip install virtualenv  # This has to be installed globally
python3 -m venv /home/user/lnxlink_venv
source /home/user/lnxlink_venv/bin/activate
pip install -e .

Edit the file /home/user/.config/systemd/user/lnxlink.service and do this change:
# Replace this line
ExecStart=/home/user/.local/bin/lnxlink -c /home/user/lnxlink/config.yaml`
# With this line
ExecStart=/home/user/lnxlink_venv/bin/lnxlink -c /home/user/lnxlink/config.yaml

Then you'll have to reload the service:
systemctl --user daemon-reload
systemctl --user restart lnxlink.service

I've added these instructions on the documentation, so this issue should be resolved.

For others that land here in the future after searching the issues for venv or virtualenv, the following is what finally worked for me:
sudo apt install pipx
pipx install lnxlink

I couldn't find the mentioned instructions in the documentation.
The situation I was recovering from was broken links in ~/.local/ which pointed to old python versions, broken during a release upgrade from 22.04.x to 24.04.x. HTH.


OpenId connect authorization_code

This is more of a question than an issue:
Is it possible to complete an openid connect authorization_code flow? I tried it but getting 404 in /signin-oidc.

Hi @nearlyheadlessarvie,
If you want to execute authentication flows, I think you will need to create your own Authentication middleware replicating ASPNET Cores one, but using the Azure Functions middleware interface. All ASP.NET interfaces you see in ASPNET middleware should be already registered in your services when you called AddAuthentication(...).AddOpenIdConnect(...) so it should be pretty straight forward.

Also, something to consider is that in the Isolated model, there are 2 processes, Host and your functions. The host process relays request to your functions process using GRPC.
If the function URL does not exist on the host it will never make it to your functions process.
You will have to fake the remote authentication URLs as http triggered functions, even when they will never be hit as the authentication middleware is the one handling those requests.

@nearlyheadlessarvie, here is a quick implementation for remote authentication using a middleware.
I'm looking into dynamically adding support for remote authentication callbacks based on the options and add the related functions apps

At the moment there's no real need to hook on any events so it's very basic

Btw, its like the moment you read my question there's this idea you had and executed it real quick... and it worked!
You just forgot the await
                var handler = handlers.GetHandlerAsync(httpContext, scheme.Name) as IAuthenticationRequestHandler;


PR Title for PR-1062

This is a pull request for PR-1062.

Generating PR code suggestions
Work in progress ...

Preparing review...

PR Reviewer Guide 🔍

⏱ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🏅 Score: 92
🧪 PR contains tests
🔒 No security concerns identified
🔀 No multiple PR themes

⚡ Key issues to review
Security EnhancementAdded secret redacting logic to avoid logging sensitive information.

Generation Model with RAG True
qwen2.5-1.5b-ins-bf16

Preparing review...

PR Reviewer Guide 🔍

⏱ Estimated effort to review: 3 🔵🔵🔵⚪⚪
🏅 Score: 90
🧪 No relevant tests
🔒 Security concerns
Sensitive information exposure: The PR introduces a logging of secret values, which could potentially expose sensitive information. Specifically, the logging includes the 'aws.aws_secret_access_key' and 'github.webhook_secret' keys, which are sensitive.
🔀 No multiple PR themes

⚡ Key issues to review
Possible BugThe PR introduces a logging of secret values, which could potentially expose sensitive information.

Generation Model with RAG False
qwen2.5-1.5b-ins-bf16

Generating PR code suggestions
Work in progress ...

Generating PR code suggestions
Work in progress ...

Generating PR code suggestions
Work in progress ...

Generating PR code suggestions
Work in progress ...

Generating PR code suggestions
Work in progress ...

Generating PR code suggestions
Work in progress ...

Generating PR code suggestions
Work in progress ...

Generating PR code suggestions
Work in progress ...

Generating PR code suggestions
Work in progress ...

Generating PR code suggestions
Work in progress ...

Generating PR code suggestions
Work in progress ...

Generating PR code suggestions
Work in progress ...

Generating PR code suggestions
Work in progress ...


enhancement - update within the app

Like the EDMC or EDDN, provide a facility to update the app from within the app.

Yep, good idea this one.

Looks like edmc uses winsparkle to do the update.. https://github.com/EDCD/EDMarketConnector/blob/main/update.py

Going to add a version check that highlights new versions with a link that takes you to the latest page on github as a starter.


Commit 'tests: kernel: mem_protect: tests for userspace mode' breaks scripts/sanitycheck

Now get this error:
E: /home/ulf/zephyr/tests/kernel/mem_protect/mem_protect/testcase.yaml: can't load (skipping):
sequence item 0: expected str instance, bytes found

tests/kernel/mem_protect/mem_protect/testcase.yaml seems to be causing it.
CC @AdithyaBaglody

This is also reported in #7198

@galak
Alright, closing then.


Chat with Vanessa re Online Biz License Application

Vanessa is the TID point person here.
Would be great to know how we can combine login info so the user doesn't have to fill it out twice. This feel different from the Rhythm project.

Ask her if we can add a checkbox to the online and paper application and a form field:

(checkbox) I have a Bizport Account
Email address used for the BizPort Account
This way we can link the accounts and track if that biz license was renewed in a year

After the conversation with Brett and Heidi yesterday morning, sounds like this might not be a ripe opportunity. Backlogging for now.


Resources no longer being rendered correctly from vscode 1.29.1

The resources section is not displaying correctly since VSCode updated to 1.29.1.

The shortening of the label name goes wrong. If your resource name is not like
"[parameters('resourcename')]" or "[variables('resourcename')]" it shows the value of the name element correct.

+1 please fix this, very frustrating with larger templates.

Link to the previous version of VSCode for anyone wanting to downgrade in the meantime- - https://vscode-update.azurewebsites.net/1.28.2/win32-x64-user/stable

@marcvaneijk - not sure if you have time to look at this...

Sorry for the slow response, been really busy.

Good news...  It's been fixed in vs insiders
1.29.1:

1.30.0-insider:

In the meantime, anyone that would rather not install vscode insiders or an older version of vscode can try out this private build that changes the <>

@DigiBanks99, @surfboomerang, @liambarnett, @bmoore-msft Never mind the private build.  This is actually fixed in vscode 1.30.0 (non-insiders), so please update if you haven't.  Thanks.


Comment brakes @font-face rule syntax highlighting

Description
When adding a comment and the end of the "@font-face" rule the src property highlights red. The src property works correctly when page is ran, but the syntax is wrong.
This was found on "Brackets: Release 1.10 build 1.10.0-17483"
Steps to Reproduce

Create a @font-face rule
Add a src property
Add a comment after "@font-face"

Versions
OS: Windows 7 Professional

Attached patch should solve this.


Don't work with composer global instalation of php-cs-fixer

Description
Nothing happens.
Expected Results
The code obviously should be beautified.
<?php

if(true){
die();
          }

Steps to Reproduce

Install php-cs-fixer on Windows with Composer: composer global install friendsofphp/php-cs-fixer
Add code to Atom editor
Run command Atom Beautify: Beautify Editor
This  code was not beautified.

Debug
Here is a link to the debug.md Gist: https://gist.github.com/anonymous/0849b1590ac7a38cd7d604941ac36135
Checklist

[x] I have tried uninstalling and reinstalling Atom Beautify to ensure it installed properly
[x] I have reloaded (or restarted) Atom to ensure it is not a caching issue
[x] Searched for existing Atom Beautify Issues at https://github.com/Glavin001/atom-beautify/issues
so I know this is not a duplicate issue
[ ] Generated debugging information and added link for debug.md Gist to this issue

+1

The same for me, here is my debug.md : https://gist.github.com/anonymous/5c6919e11d2290bd87fa605c4e23a2be#results
It's quite problematic since it don't allow to beautifier at all for PHP, I still use the command line and it work well.

Looking at the debug logs provided:
2016-09-16T17:37:31.328Z - debug: [beautifiers\beautifier.coffee] spawn C:\xampp\php\php.EXE 0=C:\Users\H2K\AppData\Roaming\Composer\vendor\bin\php-cs-fixer.BAT, 1=fix, 2=C:\Users\H2K\AppData\Local\Temp\temp116816-6468-j1efk4.znz40u23xr
2016-09-16T17:37:31.386Z - debug: [beautifiers\beautifier.coffee] spawn done 0  @ECHO OFF
setlocal DISABLEDELAYEDEXPANSION
SET BIN_TARGET=%~dp0/../friendsofphp/php-cs-fixer/php-cs-fixer
php "%BIN_TARGET%" %*

It is executing the command:
C:\xampp\php\php.EXE C:\Users\H2K\AppData\Roaming\Composer\vendor\bin\php-cs-fixer.BAT fix FILE

The C:\Users\H2K\AppData\Roaming\Composer\vendor\bin\php-cs-fixer.BAT part is incorrect. It should be a .php file not a .BAT file.
You can see that PHP-CS-Fixer Path (key cs_fixer_path) is not set: https://gist.github.com/anonymous/0849b1590ac7a38cd7d604941ac36135#final-options
I recommend finding the .php executable for PHP-CS-Fixer and setting the cs_fixer_path config setting.

Looking at the debug logs provided:
2016-09-16T17:37:31.328Z - debug: [beautifiers\beautifier.coffee] spawn C:\xampp\php\php.EXE 0=C:\Users\H2K\AppData\Roaming\Composer\vendor\bin\php-cs-fixer.BAT, 1=fix, 2=C:\Users\H2K\AppData\Local\Temp\temp116816-6468-j1efk4.znz40u23xr
2016-09-16T17:37:31.386Z - debug: [beautifiers\beautifier.coffee] spawn done 0  @ECHO OFF
setlocal DISABLEDELAYEDEXPANSION
SET BIN_TARGET=%~dp0/../friendsofphp/php-cs-fixer/php-cs-fixer
php "%BIN_TARGET%" %*

It is executing the command:
C:\xampp\php\php.EXE C:\Users\H2K\AppData\Roaming\Composer\vendor\bin\php-cs-fixer.BAT fix FILE

The C:\Users\H2K\AppData\Roaming\Composer\vendor\bin\php-cs-fixer.BAT part is incorrect. It should be a .php file not a .BAT file.
You can see that PHP-CS-Fixer Path (key cs_fixer_path) is not set: https://gist.github.com/anonymous/0849b1590ac7a38cd7d604941ac36135#final-options
I recommend finding the .php executable for PHP-CS-Fixer and setting the cs_fixer_path config setting.

So why running the global path php-cs-fixer works?
The only way I could make this work in Atom was adding a path to C:\php\php-cs-fixer.phar.

So why running the global path php-cs-fixer in CLI works?

I would suppose it is the php being the executable with php-cs-fixer's path as the second argument: https://github.com/Glavin001/atom-beautify/blob/master/src/beautifiers/php-cs-fixer.coffee#L37-L38
Thus resulting in:

C:\xampp\php\php.EXE 0=C:\Users\H2K\AppData\Roaming\Composer\vendor\bin\php-cs-fixer.BAT, 1=fix, 2=C:\Users\H2K\AppData\Local\Temp\temp116816-6468-j1efk4.znz40u23xr

I think there was a reason why the contributor(s) chose to implement it in this way. However, I do not use Windows or PHP so I am not familiar with these issues.
I recommend submitting a Pull Request changing the implementation of PHP-CS-Fixer beautifier for Windows case: https://github.com/Glavin001/atom-beautify/blob/master/src/beautifiers/php-cs-fixer.coffee#L37-L38
My suggestion would be something like this:
isBatFile = phpCSFixerPath.toLowerCase().endsWith(".bat")
if isBatFile
  @run(phpCSFixerPath, ...
else
  @run("php", [
            phpCSFixerPath,
            ...

In this way if it is the .php or phar file it will work as before and with the .bat extension it will now work.

I could not get it to work. :(
I'm shity with coffee, so I can't understand what is happening.

I think https://github.com/Glavin001/atom-beautify/pull/1510 may resolve this issue 😃 .


Adapt more responsive design

Description
Safari and some 3rd-party Chromium browsers on Android are able to install Refined GitHub on mobile devices. There are also use cases for portrait mode or split screens, as mentioned in #4836.
This meta issue tracks responsive design issues encountered during the making. It won't be a first priority but let's tackle some obvious ones.

#5398 (not sure if that counts)
#5404
#5405
#4836

Screenshot
No response
Example URL
N/A

This isn't very actionable. It might be best to open specific issues when found. It could also be part of #5222 for anyone looking for small wins


Drop node 8

Remove Node 8 from the test matrix because rollup-plugin-ts doesn't support it. I tried patching it but there are downstream dependencies that also do not support Node 8 either. :shrug:

@wessberg is updating his packages to support node 8. closing

Newer version was in #426 . Related to #424


Check every use of a histogram (_bucket) is inside a histgram_quantile(rate(...))

See comment on #91. This doesn't seem like a rule that we can readily enforce.


Atom3D for a reaction dataset

I was wondering if it is possible to use atom3D package to predict the properties of a reaction, where the input data could be the structure of the reactant and the product molecules, and the output is a property of the reaction itself.

Yes, this should be possible. You can have a look at the LEP and MSP datasets and corresponding models for inspiration. In the dataset, you can create two atom dataframes - one for the reactants and one for the product. Then you can adapt one of the siamese-twin architecture models (or implement your very own ideas).


Admin Console not yet supported on Azure

Azure storge is not supported on Admin Console yet. Functionality needs to be implemented.
As of now the understanding is this will need

Work on the node server side: implementing the storage abstraction module already developed for nVSK and glueing it in into v3.7 app server side
Work on the NiFi processing side: development already completed, unit tests pending

@devu1454 , @Inchara98, @chetandg123 - Please confirm everything else (except Admin Console) works with Azure storage and the number of pending Azure test cases/scenarios (test cases yet to be executed).
@htvenkatesh , @krishnakr6 , @asifbasha61 , @padmanabha1234 , @JalajaTR - FYI

@devu1454 Please test the Azure flow test cases and raise the defects for the development team to work on.
@htvenkatesh - FYI

This issue is not covered in v5.0 and needs to be analysed.

@htvenkatesh @ChakshuGautam - request you to mention your inputs here.

Tracked in #753


BUILD: -Wall causing fits for GCC 8.3.0-6

error: ‘char* strncpy(char*, const char*, size_t)’ output may be truncated copying 15 bytes from a string of length 15 [-Werror=stringop-truncation]    strncpy(szReport, szTemp, 15);
Any way to get the default build to negotiate this one?

Which OIIO version are you concerned with?

That’s from master. The -Werror triggers compilation failure with that error.

Can you try an experiment for me?
In SHA1.cpp, put this at the top, right before the first #include?
#define _CRT_SECURE_NO_WARNINGS 1

@sobotka Were you able to try that one line fix to see if it helps?

I’ll test this weekend. Sorry for the delay.

Just tested now. Doesn't appear to have an impact. Still fails with:
oiio/src/libutil/SHA1.cpp:286:10: error: ‘char* strncpy(char*, const char*, size_t)’ output may be truncated copying 15 bytes from a string of length 15 [-Werror=stringop-truncation]
   strncpy(szReport, szTemp, 15);

How about the proposed fix of #2341 ?

Sadly a clean cmake still trips the warning as error with the patches.

Alternate approach in #2342.  Not just a couple line change this time.

Sorry for the delay.
Tested the lg-oiio branch with gcc (Debian 8.3.0-6) 8.3.0 and the warning still triggers an error.

Troy, can you try #2342 which is a different approach where I replace all of the SHA1 code with an more recent version that I hope fixes that section of the code?

I did a clone of your lgritz:lg-sha1 branch. Seemed to still generate the same warning which trips the all warnings as errors compiler flag. Perhaps it’s not worth bothering with given how much of a struggle it appears to be to silence this warning with GCC.

Confirming that brute force carpet bombing approach in #2342 solves the issue.
PS: Discovered https://github.com/lgritz/oiio/tree/lg-prefilter. Did the prefilter end up working?

So just to verify -- you tried #2341 (not accidentally master) and that definitely doesn't work?
I'm good with 2342 for master, but I feel strange about backporting it. I was hoping that we could just splice into release branch the direct disabling of the warning, if that worked, rather than changing to new (to us) code.
prefilter -- I don't even remember, it was in some half-implemented state and I got distracted. I'm sure it's not done.

The two one line patches did not appear to work.
The updated SHA1 appeared to silence the warning.

Do you need a fix in a release branch, or is master all you're after?

I can manually toggle the warnings. Fine here. Just thought I would mention that gcc trips on the warnings. If you intend to update the SHA library anyways, master is more than fine.

OK, I'll merge the big one into master.


Async pysher

Can you provide an example on how to use this library asynchronously.?

Using asyncio ? Unfortunately no - but perhaps someone else is willing to contribute such an example. Should I find the time for this, I'll add an example in the coming days.

Yes using asyncio. Okay thanks.

Commit 428a93a93aabe02579dbadbcd192ce253c906da9 added a crude first draft for asyncio support.
Have a loot at it anyway.

Why don't you merge the commit to the main repo?

Is it possible to make it Async? Why the commit is not on the official version?

Because it's not production ready. It was a draft to see if I could get it working. Unfortunately I did not and Still do not have time to properly implement it.


Godot 4 Render Cities on TileMap

One concern visually:

The extra space between the 1 and the star is present in base Godot 4 (as a regression from Godot 3.5), so it isn't a concern here.  But the vertical spacing issues aren't present in base Godot 4.x.
Base Godot 4:

Godot 3:

One concern visually:

The extra space between the 1 and the star is present in base Godot 4 (as a regression from Godot 3.5), so it isn't a concern here. But the vertical spacing issues aren't present in base Godot 4.x.
Base Godot 4:

Godot 3:

I just ran the head of this branch on my laptop and I can't reproduce this:

Maybe using pixel offsets isn't the right way to format text

and mine seems to be somewhere in between:

could this be a function of screen resolution, or system UI scaling?


Bit Manipulate

Checklist

[x] I've looked at the contribution guidelines.
[x] This pull request is complete and ready for review.

Description
Bit manipulate problem

@kelvinlauKL Sorry, I tried to rebase. But just made some mistakes and wiped your changes.  Sorry for the long wait for a response.
We've updated our guidelines to focus submissions to the Swift Algorithm Club on general purpose algorithms & data structures. Unfortunately, this PR is an interview-style submission, and so we are closing it as it does not fall under the general category.


chore: switch benches to hzkg/bn254

Fixes #278

!gpu-benchmark

Note to self: investigating #281

!benchmark --features cuda,asm

Now that I have the data for a branch that does not have any calls to the MSM in the IPA (which shows no change), I'm comfortable merging this.


Few updates

Use jwt/v4 everywhere and use fork of markbates/goth that uses jwt/v4
Use the same webauthnCredential definition in the migration
Adjust the comments to make them no longer a direct copy and add exists/name checks + further highlight we need to handle the errors properly.

Please rebase.

link https://github.com/go-gitea/gitea/pull/17957

OK i've fixed the ci and I've fixed a few more bugs with suburl and users.

Let's move on.

Somehow all of the commits to this branch did not make it across. This is weird.

I'm just gonna push these up directly to lunny/webauthn


refactor: Remove service sector

🛠 Changelog

Removes all traces of service sector (and derivatives) from the tilavarauspalvelu-ui codebase.
Once service sector is removed from the back end, we need to do run codegen to remove the references in the auto-generated gql files.

🧪 Test plan

Do a search for any reference to "serviceSector" in the codebase, and note that all results are from generated files (tilavaraus.graphql and various gql-types.ts)

🎫 Tickets

TILA-3389
TILA-3390

Merged https://github.com/City-of-Helsinki/tilavarauspalvelu-ui/pull/1226  into this.


Hide scrollbars in Table grids

Jira ticket: https://jira.mesosphere.com/browse/DCOS-39675
Screenshots:
Before (in Chrome):

After (in Chrome):

Description
I chose to do this by hiding the scrollbar with vendor-specific CSS on both grids
Pros:
- User can scroll when cursor is in either of the right grids
- Vendor-specific CSS will be ignored by browsers who don't support these rules, so no surprise bugs
Cons:
- Only works for IE/Edge and webkit browsers
I also looked at using overflow: hidden on top-left grid, browser-specific for bottom-left. This would still let the top-left grid scroll, but it would never show a scrollbar, so only the bottom scrollbar would appear in browsers that don't give you a way to style/hide it's scrollbars.
Pros:
- Firefox and other browsers that are incompatible with the vendor-specific styles will only show the bottom-right grid (table content) scrollbar
Cons:
- User cannot scroll if cursor is in the top-right grid (header cells)

If the design team isn't happy with scrollbars showing in Firefox and other browsers that are incompatible with the vendor-specific styles, I know a somewhat hack-y way we can handle this that will work in all browsers. I'd advocate against this because it's not a great idea to fight browser-native scrollbar behavior.
I didn't add any tests because the existing snapshot tests should be sufficient for these changes

@GeorgiSTodorov - should we add it to our .gitignore?

Can confirm looks good.
@Poltergeist Are we using the angular commit conventions in this repo or are they unenforced?

 Also I will update the snapshot tests.

Hi @mperrotti, I just pushed changes to this PR:

I rebased to master
I updated snapshot tests
I changed the commit message to be valid to conventional commits
I squashed the commits into the first commit
I removed the changes from the package-lock.json file.

Thanks for the feedback, everyone. I set up my git hooks, and I'll be sure to follow our commit message convention going forward.
Is there anything else I need to do before this can be approved and merged?

@juliangieseke - that was an out-of-date screenshot. Just updated it in the description

I rebased to master and resolved conflicts.

:tada: This PR is included in version 1.8.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[GodotPhysics] Generic6DOFJoint angular motor doesn't work

Godot version
3.4 stable official
System information
Windows 10, GLES 3 NVIDIA GeForce RTX 2060
Issue description
Generic 6DOF joints angular motors work fine with Bullet, but not with Godot Physics.
With Godot Physics, the joints keep rigid bodies attached, but doesn't make them spin.
Steps to reproduce

Attach 2 ridig bodies with Generic 6DOF joints.
Set the joints ANGULAR MOTORS to ENABLED and set a TARGET VELOCITY.
Play the game with Bullet and with Godot Physics.

Minimal reproduction project
[6DOF_Minimal.zip](https://github.com/godotengine/godot/files/7497605/6DOF_Minimal.zip
https://user-images.githubusercontent.com/22160489/140757946-8bf48a18-f00f-4f19-a702-50a0716459c3.mp4
)

Have the same problem with angular spring. Everything works fine with Bullet, but not with GodotPhysics

cc @pouleyKetchoupp

I've just tested this same minimal project on Godot 4.0 Alpha 1, and the result was the same: the angular motor does not work.

still not work with master, and linear motor also no work.
version 3.5 is work fine.

still not work with master, and linear motor also no work. version 3.5 is work fine.

Did you managed to make angular and linear motor do work on 3.5?
I've just tested the minimal project from this issue on 3.5 beta 1, and with Godot Physics, it's not working.

Well, I made a mistake. I only test under bullet engine. It not work under godot physic engine.

I'm using Godot 3.4.3 (because I'm lazy), and I had similar issues.
I've been playing around with the vehicle setup by @Saitodepaula, and when I tried changing the physics to GodotPhysics, as soon as the wheels touched the ground it started spamming errors (so many the frame rates dropped to a crawl).
I removed all the scripts and everything else from my vehicle, so that I was just left with the nodes on their own, and the errors stopped. Then I changed only the linear limit``and linear spring` settings on the joints, just so I could see some bounciness, and it started spamming the errors again.
It seems to be only these two errors, but spammed constantly:
E 0:00:02.249   set_axis_angle: The axis Vector3 must be normalized.
  <C++ Error>   Condition "!p_axis.is_normalized()" is true.
  <C++ Source>  core/math/basis.cpp:956 @ set_axis_angle()

E 0:00:02.370   instance_set_transform: Condition "Math::is_nan(v.x)" is true.
  <C++ Source>  servers/visual/visual_server_scene.cpp:692 @ instance_set_transform()

Can a warning be put in the editor? Something like "Angular motor of 6DOF not implemented"? I just spent 2 days trying to figure out, why doesn't my motor spin, I did not expect an engine issue

We could mark it as experimental for example

Tested in 4.1.1. Linear motor, linear spring, angular motor, and angular spring all do not function, only the limits. I think this should be a priority to fix.

I'm also experiencing similar issues with the joint's motor
when starting the scene with the engine enabled it will spin as long as it is completely free floating without resistance
but when it reaches a complete stop it will never spin again no matter the parameters applied
I have not tested with the bullet engine

Update:
after further investigation
while looking at the remote properties of the running project i have noticed that when the RigidBody3D's angular velocity
goes below a certain range the sleeping property would toggle on
and from that point any attempt to get the motor spinning again failed
turning off the can sleep property solves this issue and all angular motor functionality seems to be in order
I assume the RigidBody3D does not check whether a motor is attempting to apply forces to it and thus
it stays in sleep
if anyone here is experiences the issue could you verify if this is the case for you or is there another cause

Turning off can_sleep on all bodies did not solve the issue for me, 4.1.1

Turning off can_sleep on all bodies did not solve the issue for me, 4.1.1

Were you using it on the ground / touching the other rigidbody or floating. Like my edit mentions the joints are not able to exert any significant force


DisableFilters enables when writting in GlobalFilter input

Describe the bug (required)
I found a bug with GlobalFilter implementation. When you type something in GlobalFilter input and e.g. FirstName column has disabled property: {disableFilters: true} the property 'canFilter' is set to true, when GlobalFilter input is empty this property becomes on false.
Provide an example via Codesandbox! (required)
Your link to reproduce is not working so I paste mine
https://codesandbox.io/s/bitter-fog-s59i4
Steps To Reproduce (required)
Steps to reproduce the behavior:

Go to https://codesandbox.io/s/bitter-fog-s59i4
Click on GlobalFilter "Search: 10000 records"
Type something
See that FirstName filter input is being shown (It shouldn't be)
Clear GlobalFilter input
See that FirstName input is now not visible

Expected behavior (Recommended)
When I want to disable filter on some columns It must be hidden. I found that canFilter property evaluates to true when you type something in GlobalFilter, maybe that will help you.
Desktop (please complete the following information):

OS: MacOS Catalina 10.15.3
Browser: Google Chrome
Version: 86.0.4240.111

Hey @freestyle09,
I've faced the same error. And you're right, it's because canFilter is set to true for every columns with disableGlobalFilter to false(default to false). To be accurate, everything happens at this line: https://github.com/tannerlinsley/react-table/blob/master/src/plugin-hooks/useGlobalFilter.js#L116. canFilter is set in every columns to know to which columns to apply the global filter.
I don't know if this is intended and if the canFilter is used somewhere else after that code.
I see several solutions:

Use another variable for that, like canGlobalFilter

If this canFilter value is needed somewhere else, make the change immutable by creating a new array in a map.

If not, move the condition inside the filter to get filterableColumns here: https://github.com/tannerlinsley/react-table/blob/master/src/plugin-hooks/useGlobalFilter.js#L123. Something like this:

 const filterableColumns = allColumns.filter(column =>
      getFirstDefined(
          column.disableGlobalFilter === true ? false : undefined,
          disableGlobalFilter === true ? false : undefined,
          true
        )
    )

What do think about the suggestions? I'm happy to make a PR, I just don't how this impact the rest of the code or why this has been done like this.

Yeah actually there's no such a big problem I am just writting in issues that anyone else can save time to solve this problem :)
I have fixed that using another flag and it works perfect.
return !column.disableFilters ?
{column.render('Filter')}
 : null;
Thanks for an answer ! :)

Of course, thanks for opening it, I just faced the error this morning so it was a good timing. And thanks for the workaround, it works well apart than I'm not sure we are supposed to use this value (not in the typescript definition of the ColumnInstance) but this will do the trick for now 😃
Awaiting for an answer form the tanner or another maintainer to guide me more if we can put a fix for that.

This issue is either:

Outdated
Stale
Fixed in v8
Unable to be fixed in v7 without breaking changes and is slated for v8

If you feel this is incorrect, please reopen a new issue with a codesandbox reproduction or more info regarding the issue.


[WIP] Add Elixir docs

I heard you like docs, so I added some docs to your docs.
Todo:

[ ] Add content to the "overview" page.

Please fix what's wrong, and try to stick to acknowledging that NIF's could be a bad idea but not in this case, and focus on customer benefits (battle tested among all customer).

Improved the NIF explanation.

I've updated the Ruby overview page to give a small intro to the different subjects of the Ruby documentation.
https://github.com/appsignal/appsignal-docs/compare/55e755179a022988e0b56afecdbd16e2394e3d48...602ce463f208ca623c125cee3736d8813be1488f
Maybe we can do the same for Elixir?

We do need to add content to the elixir/index page, but I'm not sure what.

I added a big ol' update. Split up pages and imported some more documentation from the hexdocs. Restructured it to match the Ruby docs.
@jeffkreeftmeijer Could you add an example to the Elixir decorator instrumentation in elixir/instrumentation/index.html.md? (I don't know how that works 🙊 )
That's the only thing missing now, I think.


Installation Error

how to compile TRIPS with other compiler like
main⚡ » gcc --version
gcc (conda-forge gcc 12.3.0-5) 12.3.0

Hi @pknmax
I'm not one of the authors but I had gcc 11 and g++ 11 installed on my machine when I did the installation and I changed all references to gcc-9 and g++-9 to gcc-11 and g++-11 and it worked fine for me! For example:
export CC=gcc-11
export CXX=g++-11
export CUDAHOSTCXX=g++-11
unset CUDA_HOME

Maybe you can try that?

Thanks for testing @hadillivvy!
As far as I know, gcc-11 should work fine. I think gcc-12 is not supported by CUDA 11.8.


Replace Atoi with ParseUint where appropriate

I came across an interesting problem where uint field parsing can exhibit some odd behavior when parsing out of bound input. This updates the various functions in scan_rr that parse unsigned integers to use strconv.ParseUint instead of strconv.Atoi, which returns more appropriate errors.
Below is an example highlighting some of the parsing oddities
package main

import (
	"fmt"

	"github.com/miekg/dns"
)

func main() {
	input := []string{
		"example.com. 3600 IN MX -1 mail.example.com.",
		"example.com. 3600 IN MX 65536 mail.example.com.",
	}

	for _, inp := range input {
		rr, _ := dns.NewRR(inp)
		fmt.Println(rr.String())
	}
}

Which is accepted and yields the following output, instead of an error:
example.com.	3600	IN	MX	65535 mail.example.com.
example.com.	3600	IN	MX	0 mail.example.com.

The things you trip over :) Merged.


Sidecar redirect UDP egress traffic back to localhost on different port

I have a use case that requires Istio sidecar to intercept UDP 514 syslog on localhost to localhost 10514 as a workaround on non-root pod permission.
Is there any way to achieve this with Istio CRD or envoyfilter with UDP listener?

No, Istio does not support UDP.


NPM install still fails in Windows 11

Windows - 11
Node.js - v18.13.0
Terminal - Git Bash

I'm also experiencing this issue, it seems that the tar.gz file does not contain a tarball inside, and it's just a gz archive, so yeah, npm will fail to extract it.
By the way, I like the fact that CLI itself is not a huge mess of node packages.
upd: oh, it's in Rust. wow


Mentioned API version does not exist

Getting Invalid 'api-version' requested with the currently mentioned version from 2018.

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

ID: aaf35ebc-b14e-167f-9f73-c7df4d2b60b5
Version Independent ID: 32e1d780-ca81-a67c-1af0-b7f0bfc8149c
Content: Use managed identities on a virtual machine to acquire access token - Microsoft Entra
Content Source: articles/active-directory/managed-identities-azure-resources/how-to-use-vm-token.md
Service: active-directory
Sub-service: msi
GitHub Login: @barclayn
Microsoft Alias: barclayn

@romanlutz
Thanks for your feedback! We will investigate and update as appropriate.

@romanlutz
I'm going to assign this to the document author so they can take a look at it accordingly
@barclayn
Can you please check and add your comments on this doc update request as applicable.

@romanlutz Thank you for reaching out. I still can successfully get a token with the mentioned version. If you are experiencing a problem please contact support for assistance.  #please-close


add a cvxpy_shape type (fix #2026)

Description
Add a new type cvxpy_shape ~ Tuple[int, ...] and use it acress the code base + fix #2026 by changing the signature of reshape.
Type of change

[X] Bug fix

Contribution checklist

[ ] Check that your code adheres to our coding style.
[x] Run the unittests and check that they’re passing.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.GFJ138 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Revert "update argo rollout manager (#813)"

This reverts commit ccad01fe765236f028538354d663d3b3421b2de1.
What type of PR is this?

Uncomment only one  /kind line, and delete the rest.
For example, > /kind bug would simply become: /kind bug

/kind bug
/kind cleanup
/kind failing-test
/kind enhancement
/kind documentation
/kind code-refactoring

What does this PR do / why we need it:
Have you updated the necessary documentation?

[ ] Documentation update is required by this PR.
[ ] Documentation has been updated.

Which issue(s) this PR fixes:
Fixes #?
Test acceptance criteria:

[ ] Unit Test
[ ] E2E Test

How to test changes / Special notes to the reviewer:

/retest-required

/retest

/retest


Setting exposure fails with D405

Required Info

Camera Model
D405

Firmware Version
<IP_ADDRESS>

Operating System & Version
Ubuntu20.04

Kernel Version (Linux Only)
5.15.0-76-generic

Platform
PC

SDK Version
latest built from code<IP_ADDRESS>

Language
{C++ }

Segment
{Robot}

Issue Description
I have code developed for the D435i, where control of exposure is important to improve the performance of the Machine Learning Vision Pipeline.
First Problem Auto exposure fails:
auto colorSensor = profile.get_device().query_sensors()[1];
colorSensor.set_option(RS2_OPTION_ENABLE_AUTO_EXPOSURE, 1);

Throws a exception at    VALIDATE_OPTION(options, option); inside rs2_set_option
Second Problem, Manual exposure is ignored:
int exposureValue = 450;
auto depthSensor = profile.get_device().query_sensors()[0];
depthSensor.set_option(RS2_OPTION_ENABLE_AUTO_EXPOSURE, 0);
auto colorSensor = profile.get_device().query_sensors()[1];
colorSensor.set_option(RS2_OPTION_ENABLE_AUTO_EXPOSURE, 0);
colorSensor.set_option(RS2_OPTION_EXPOSURE, exposureValue);

It doesn't matter what value I give the exposure, the color image is too dark, even at maximum 10000, and also sometimes throws the same exception as above.
Thanks for the help!

Hi @DaveBGld  As mentioned in your other question at https://github.com/IntelRealSense/librealsense/issues/11982 the D405 does not have an RGB sensor component and obtains RGB from the depth sensor.  There is therefore no exposure control for an RGB sensor.  The RGB exposure is set by changing the depth sensor exposure.  The depth sensor index is '0' instead of '1'.
Increasing the exposure value (which has a default value of '33000') brightens the RGB image and reducing the value darkens the RGB.


Missing copy protocol

Hi, first I have to congratulate you for this so conveinient library !
I tried the following:
copy.deepcopy(glm.vec3(1))
copy.copy(glm.vec3(1))
in both cases, I get the following error:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.7/copy.py", line 96, in copy
    rv = reductor(4)
TypeError: can't pickle glm.vec3 objects

I think that for wrapped objects it's done using the __reduce__ or the __deepcopy__ method.
I use these vectors and matrices in classes to represent points of primitives, I need to copy these Primitive objects.
Can you please implement the copy protocol for the glm objects ?

Hi there jimy,
I've looked into the copy module and found that it's incompatible to PyGLM, as it tries to convert it into a byte string directly from memory, where in some cases there may be a pointer, of which the contents wouldn't be copied. There is a way to turn a PyGLM type into a byte-string though, as it supports the buffer protocol (vec3_as_bytes = bytes(glm.vec3(1,2,3))).
However, if what you're trying to accomplish is getting a non-reference copy of a vec3, there is a much simpler way of doing that.
b = glm.vec3(a)
This is what's known as a copy-constructor.
If you don't know whether it's a vec3 or ivec4 or mat3 or whatever, you can simply use
b = type(a)(a) or b = a.__class__(a).
Cheers,
--Zuzu_Typ--

it tries to convert it into a byte string directly from memory, where in some cases there may be a pointer, of which the contents wouldn't be copied.

I see, but I wonder if the method deepcopy couldn't be implemented for PyGLM types, deepcopy is called whenever the object is in a complex object tree and juste have to return an object like him, in the case of PyGLM it would only need to call the copy constructor.
I think it's important to implement the copy protocol, because that allows to copy a complex data structure without the need to copy each of its elements individually by knowing if each object comes from PyGLM or from an other module.

Okay, I'll look into it when I have the time.
Until then, please try using this workaround:
class copyvec3(glm.vec3):
	def __copy__(self):
		return copyvec3(self)
	def __deepcopy__(self, memo):
		copy = copyvec3(self)
		memo[id(self)] = copy
		return copy

Alternatively you could also try using generator functions or your own implementation of the deepcopy method.
Thank you for the suggestion.
Cheers,
--Zuzu_Typ--

Should've been fixed by c10a030a1e15912944d650cd0d5b548022589ca8.


[documentation] Intro OAuth config defaults are incorrect

[x] I was not able to find an open or closed issue matching what I'm seeing.
[x] This is not a question. (Questions should be asked on slack (Signup for Slack here) or our forums.)

Error received when relying on config installation default locations for oauth key files.
What the documentation says it defaults to:
    'private_key'    => __DIR__ . '/../data/oauth/private.key',
    'public_key'     => __DIR__ . '/../data/oauth/public.key',
    'encryption_key' => require __DIR__ . '/../data/oauth/encryption.key',

What it actually defaults to:
    'private_key'    => __DIR__ . '/../data/private.key',
    'public_key'     => __DIR__ . '/../data/public.key',

See:
Documentation
Code

@neobyteUK Have you seen bottom of the file?
Check this out:
https://github.com/zendframework/zend-expressive-authentication-oauth2/blob/702545aae17d3ed7394369814ea2e48e1bd759d5/config/oauth2.php#L40-L44


Requested change to musig_intro_1.jpg

Musig to MuSig for consistency

Thanks Mike. This has been updated in #99.


Adds associated functions for handling of indentation

Associated to issue #1888
This should give us the methods we need to handle indentation in the new formatter.
This also adds a utils folder that will house the associated functions for organizational purposes.

this looks good to me, i.e I think we have everything we need for unblocking the implementation of the logic for say enums here.
So I think this will give us a strong base (if not the whole thing) for indentation handling.  I will defer to @mitchmindtree or @JoshuaBatty for the final approval.

Does this close #1888 ?


Some improvements

Hi @justinliang1020 ,
First of all, I really like your project. Makes me wonder, why no company has adopted this kind of tracking already.
I wanted to improve some of the functionality, to fit my goals, so here are the changes I made so far:

automatic build on push (artifact is kept on github for 7 days)

automatic release on tag (does not include the driver files yet)

refactored and split code into 4 files

added option to select a webcam

removed rotation of the image, but kept the mirroring

the reasoning is, that my laptops camera is oriented this way, and Iriun Webcam can be configured

I did not test it running it in VR, so I can't be 100% sure that I didn't break anything.
My short term goal is to optionally combine the data from several camera sources (2-3 max, not sure how intensive the processing is) and eliminate most of the limb jittering.

Hi @justinliang1020 ,
First of all, I really like your project. Makes me wonder, why no company has adopted this kind of tracking already.
I wanted to improve some of the functionality, to fit my goals, so here are the changes I made so far:

automatic build on push (artifact is kept on github for 7 days)

automatic release on tag (does not include the driver files yet)

refactored and split code into 4 files

added option to select a webcam

removed rotation of the image, but kept the mirroring

the reasoning is, that my laptops camera is oriented this way, and Iriun Webcam can be configured

I did not test it running it in VR, so I can't be 100% sure that I didn't break anything.
My short term goal is to optionally combine the data from several camera sources (2-3 max, not sure how intensive the processing is) and eliminate most of the limb jittering.

"Combine data from 2-3 camera sources" This could really be the update to make Airpose an amazing product for cheap but precise full body tracking, using 2 or more cameras for depth perception will be a game changer and i'm looking forward to your updates!


example contribution

This shouldn't actually be merged because I broke some of the conventions. But maybe this gives an idea of what I have in mind. Thoughts:

how do contributors make up new uids? maybe we should have a convention of using YYYYMMDDHHMM or similar as a placeholder? or maybe we need "new" folders, which are merged with a tool into the rest of the repo once accepted?

I think filenames should be uids for consistency, and we should always use uids as foreign keys, not stubs. Especially in the infancy of a new topic, the popular name may change, but a uid could stay constant.

We may want to have real reference handling: I'm already seeing some annoying duplication. This could be an internal bibliography, or an outside API. Maybe something from https://www.doi.org/tools.html would help here?

I used some custom extended Markdown for linking, e.g. [link text][doi:xxx/xxx] for DOIs, [link text][P:######] for properties. It's based on reference-style linking in vanilla Markdown: https://daringfireball.net/projects/markdown/syntax#link

Unless we're inferring things from the file structure, perhaps traits needn't be embedded in the space folders.

Talagrand's Example is from a paper without a DOI I can find, a downside to using DOIs as foreign keys to papers. However, as I did in this example, we could simply require all references to have DOIs; anything still relevant to researchers will have been defined in a paper/book with a DOI somewhere, I think.

Ah, interesting. I was thinking that users would submit new spaces without any id, and we'd (automatically) assign an id at merge time. But this does demonstrate the need for some sort of temporary identifier so that users can submit a property with its associated theorems all at once. In general, it should be straightforward to allow users to submit anything in terms of slug / name, and have the system rewrite it to include (or replace with) the standardized identifier.


Accordion component funtionality

https://github.com/Capgemini/dcx-react-library/issues/209
Example and documentation with live demo to follow

Codecov Report
All modified lines are covered by tests :white_check_mark:

Comparison is base (07dcf65) 100.00% compared to head (b5a0959) 100.00%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@               Coverage Diff               @@
##           release/1.0.0      #544   +/-   ##
===============================================
  Coverage         100.00%   100.00%
===============================================
  Files                 67        68    +1
  Lines               1240      1252   +12
  Branches             458       462    +4
===============================================
+ Hits                1240      1252   +12

Files
Coverage Δ

src/accordion/Accordion.tsx
100.00% <100.00%> (ø)

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


How to use login with Web Service?

I need to create a WS that returns the user data, in Yii2-basic this is done with the AuthController and calling $user = \app\models\User::findByUsername($username); and then if ($user->validatePassword($password)) {
How can i make this happen with this library

Please note, that the GitHub Issue Tracker is for bug reports and feature requests only.
We are happy to help you on the support forum. Please use it to discuss the problem.
If the result of the discussion turns out that there really is a bug in the extension, feel free to
come back and provide information on how to reproduce the issue. This issue will be closed for now.


require 'money/rails' doesn't work in Rails 2.3.8

It gives the error:
"no such file to load -- money/rails"
Instead, I used:
config.gem "money", lib => "money/rails"
in my environment .rb file

Hi there! We're doing some open source maintenance work and closing old issues. If this issue is still applicable or you would still like it to be addressed, please re-open the issue by April 17, 2017. Thanks!


Hover effect on search button and camera

Description 📜

A hover effect on search bar and camera would be a better UI design

Domain of Contribution 📊

[ ] Navbar design
[ ] Footer
[x] Single page website design
[ ] Animation design
[ ] parallax effect design
[ ] Others

Any tutorials or Documentation are you going to add
No

Please assign me this issue under Hacktoberfest label


Different Panic Error

When trying to run it, the following error message pops up:
_panic: runtime error: index out of range [-1]
goroutine 1 [running]:
main.query_chatgpt({0xc000487e9a, 0x3}, {0x13ceae0, 0xc000072580}, 0x8?, {{0x12e54507c, {0x0, 0x0}, 0x0, {0x0, ...}, ...}, ...})
/github/workspace/main.go:190 +0x9d1
main.main()
/github/workspace/main.go:115 +0xebe_
Does anyone have a Idea of how to fix it?
Thanks in advance!

I am getting the same error too

Same thing here

I've just released a new version that should solve this issue. Please update (by downloading the binary again), and let me know if the issue still persists.


Add check for new version availability

Is your feature request related to a problem? Please describe.
When the program first starts, check to see if anew version is available and let the user know.

This would require that the program access some URL on GitHub or BrainSim.org to determine the most recent version. And of course this should be based on either a build date or a version number.

It might be as simple as checking the date on the installer .exe file. Not sure.

You can do that, but that would still have to be the most recent installer file on the web, and you would not want to download it before you actually determine it is a newer version. So, we could do the following:

Aside from the installer, also publish its MD5 checksum.
(this is handy to determine whether the download is not tampered with as well).
Have the installer calculate the same checksum for itself on installation
On startup read the checksum stored by the installer as an indication of the version.
If the read version and the installed version don't match, we can update.

How about a webpage currentversion.html which contains the text of the current version. Program reads the html file, compares with current version, offers to update if html is greater.
It would be up to the release process to update currentversion.html.

That would be the simplest version, but leave the downloading and installing to the user....

It turns out that the AssemblyVersion is not externally accessible but the AssemblyFileVersion IS. The problem is that AssemblyVersion will put on the build-time but the AssemblyFileVersion must be updated manually only. I have updated the buildAndSign batch file but not the buld_installer.cmd file to automatically post the assemblyFileVersion to the website. This means that the version must be manually bumped for every upload to the website  AND the help about should probably be modified to default to showing AssemblyFileVersion instead so it will match.

Then maybe using the MD5 hash is as good an approach, because that can automatically be computed

I wrote a 3-line console app which can look at any .exe or .dll and get the version info if it exists and included the app in the installer build file. So when posting a new version to the download page, the version will also be written into a file "LatestBrainSimVersion.txt". This file can be read and compared to the running version. This is done in MainWindowExtension.cs and GetUpdateDialog.xaml. I included a "Don't check again" checkbox and property.
This framework could be extended to create and check the hash.

Seems to be an adequate solution for now.


(FACT-2595) Refactored some tests to use the beaker which method

Refactored some acceptance tests to use the beaker which method that works when running tests on localhost.

@Filipovici-Andrei Is this dependent on recent beaker changes? If yes, we should bump in gemspec the minimum beaker version that contains the changes.

Yes, this is dependant on the beaker changes. I'll do the bump and run the ad-hoc.

Jenkins please test this

Jenkins please test this

@Filipovici-Andrei Jenkins please test this defaults to redhat 7 and ubuntu 16.04. I see the changes also affect windows, so you should add some windows platforms to that command. Eg. windows10ent-64a,windows2012r2-64a,windows2016-64a,windows2019-64a


Type inference does not work when in return position

TypeScript Version:  3.7-beta

Search Terms: inference, generic functions
Code
export function foo<T, K>(props: {
    seed: T;

    producer: (x: T) => K;

    consumer: (data: K) => void;
}) {
    //
}

foo({
    seed: "foo",

    producer: (seed) => {
        // type of `seed` is string
        return seed;
    },

    consumer: (data) => {
        // type of `data` is unknown
    }
})

Expected behavior: TypeScript infers K to a string, so the type of data is string.
Actual behavior: data variable is unknown.

I believe this is also because TS cannot perform inference on the same object multiple times?
https://github.com/microsoft/TypeScript/issues/34865
It is why I use the builder pattern.
The builder pattern lets me break apart inference on one giant object into multiple inferences on multiple smaller objects/values
https://github.com/microsoft/TypeScript/issues/34907

@AnyhowStep is took me 2 months exactly to understand what you mean :))
I'm able to reproduce this behaviour by swapping from f({ a, b }) to f(a, b). The non-object version works correctly. However, I'm trying to type a TSX component which always receives an object.
I think I'm out of luck :(
Thank you though! I learned something


WebGL does not wait for bitmap to load

When rendering an image that has been assigned as bitmap, WebGL needs some time before it recognizes the existence of the bitmap, take this example:
var stage = new createjs.SpriteStage('canvas_id', false, false);
var image = new createjs.Bitmap("img/sprite.png");
stage.addChild(image);
createjs.Ticker.addEventListener("tick", handleTick);
Here, it won't load the image and it will give this error:
WebGL: INVALID_VALUE: texImage2D: invalid image
.WebGLRenderingContext]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete'
However, if I assign the bitmap one second earlier width:
var image = new createjs.Bitmap("img/sprite.png");
and run the code again, it works just fine.
Am I supposed to ensure that the image is loaded when running the code? Makes sense if I would have to do that, but why give such an error? It should just render the blank image (that didn't have time to load) instead or throwing errors that there is no image.
Assigning the bitmap with a valid path should make it clear that there is an image there, loaded or unloaded.
I already tried loading the image ahead with preloadjs, but it doesn't matter, it only works if I assign it as bitmap and wait for it to load as bitmap. Am I missing something? Is this normal behavior?

I took a look at this and you are correct, at present, SpriteStage expects images to be fully loaded prior to being added to the display list. This is because it attempts to create the texture at the moment the Bitmap or Sprite is added to the stage.
I've put together a quick fix that I think will work, but it can definitely use some testing. You can check it out in this branch:
https://github.com/CreateJS/EaselJS/tree/WebGLBitmapLoadHandling
In the interim, preloading your images using PreloadJS will resolve this issue. See the Runners.html example if you need any help with that.
https://github.com/CreateJS/EaselJS/blob/WebGLBitmapLoadHandling/examples/WebGL/Runners.html

Just for further clarification, here is the delta for the fix: https://github.com/CreateJS/EaselJS/commit/cec2828d8e5955aebf2dc1bfff1132ece04cfecd

Tested in most browsers, works like a charm! I'm gonna make this available through a repo, but I'm hoping it will be available in the latest version of EaselJS also. Thanks for the support!

I just pushed another update to the branch that simplifies logic, and resolves potential issues with textures being displayed improperly on the first frame after they load. Please test, and I will merge this back into master if everything looks good.
https://github.com/CreateJS/EaselJS/tree/WebGLBitmapLoadHandling

Fantastic, I will return with feedback asap.

I've tested in most browsers + ran all of my samples with it, works like a charm!

Merged and pushed.


[Feature Request] AAD B2C  generate user principal．

When I am using AAD B2C, I hope to be able to obtain the related claims of the access token through UserPrincipal. I think we should add a class similar to UserPrincipal to store the related claims carried by the access token. The implementation of this function should be similar to that implemented in AAD, so that consistency can be maintained.
Among them, we should be able to get the following:

tokenValue
headers
authorities
attributes

The PR (#20008) corresponding to this issue. Regarding the progress of this Feature, we will see more here.

@ZhuXiaoBing-cn I'm re-opening this issue, for we need some test cases for the PR.

Closing this issue now https://github.com/Azure/azure-sdk-for-java/pull/20189.


Add bootnode for Zinken

PR Description
Adds the Teku bootnode to Zinken network definition.
Fixed Issue(s)
#2872
Documentation

[x] I thought about documentation and added the documentation label to this PR if updates are required.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


CABI format output

Exported CABI image data is different from the original program's output, for the same image. Expected the same bytes output.
Also, no masked image data is exported.

Expected the same bytes output.

Is the output invalid or less efficient at all?

No masked image data is exported

I was under the impression that hardly anyone used the mask data, so I left it out,
If people actually use it then I can add it in fairly easily.

I can confirm current output is broken.
e.g.
const uint8_t PROGMEM Cabi0[] = {
    (8-1), (8-1),  // 8x8 px image
    // Frame 0 - Hero jumping
    0xF3, 0xC9, 0x4E, 0xB9, 0xD4, 0xA7, 0x5C, 0xEA, 0x92, 0x6B // CABI official
    0x82, 0x81, 0xE0, 0x30, 0xD4, 0xA1, 0x0E, 0x0E, 0x83, 0x81, 0x02, // Pharap
};

Did you render the output to check if the resulting image is different?
Either way, I'll look into it tomorrow. It's not top of my priority list purely because it's so rare to find anyone actually using the drawCompressed function.

It does not render correctly.

Seems fixed in current version. Thanks 👍


is it broken?

after clicking the avatar, it became like this.

@RedemptionC are you facing the same issue as #14 ?


record_parse_save.py -> parse_camera.py: Cannot parse image from demo recording file

We appreciate you go through Apollo documentations and search previous issues before creating an new one. If neither of the sources helped you with your issues, please report the issue using the following form. Please note missing info can delay the response time.
System information

OS Platform and Distribution (e.g., Linux Ubuntu 18.04): Ubuntu 20.04
Apollo installed from (source or binary): source
Apollo version (3.5, 5.0, 5.5, 6.0): master
Output of apollo.sh config if on master branch:

Steps to reproduce the issue:

The recording file channel information:

Modify parser_params.yaml to parse camera data

Modify parse_camera.py: changing msg_camera = CompressedImage() to msg_camera = Image()

Encountering error: File "/apollo/modules/tools/record_parse_save/parse_camera.py", line 43, in parse_data   msg_camera.ParseFromString(str(msg)) TypeError: a bytes-like object is required, not 'str'

Supporting materials (screenshots, command lines, code/script snippets):

There is a bug! change msg_camera.ParseFromString(str(msg)) to msg_camera.ParseFromString(msg)
by the way

CompressedImage. You can get the image
Image. The data is a matrix, so you need to do some transform


fix: cannot find 'kAudioFormatAPAC' in scope

Summary
fix https://github.com/numandev1/react-native-compressor/issues/322 https://github.com/numandev1/react-native-compressor/issues/323

Changelog
[CATEGORY] [TYPE] - Message
Test Plan

@numandev1 i tried but not working

@phuocnguyenncc can we have a live session for debugging it as it is not reproducible on my side

https://www.linkedin.com/in/numandev/ here you can connect with me https://www.linkedin.com/in/numandev/

@numandev1 oki. thank you

@phuocnguyenncc can you try https://github.com/numandev1/react-native-compressor/releases/tag/v1.10.3


Python 3.5 EOL 2020-09-13

Python 3.5 reaches its end of life on 2020-09-13.
pypy's testing would also need to be upgraded to a new version.  "pypy3" is an alias for "Python 3.6.1,  PyPy 7.1.1-beta0".
Removing support from Python 3.5 would allow f-strings to be used in the code.
Python 3.8's current version is not tested.  Python 3.9 gets its first release on 2020-10-05.
Should probably move off of Xenial as the distro.

done with release v0.1.2


Not Properly Rendering on GHPages

Hey, I love your theme. There's just one issue. I forked it, edited the config, about, and posts to get a barebones site running for myself. It builds fine locally, but on git it renders without any of the styling. It doesn't throw a build error it just looks like a plain HTML site with the background and logo images.
Currently my repo's name is myMoon. I'm aware its supposed to be username.github.io I've just been trouble shooting and kept the original files in a separate repo. I'd appreciate it if you've ran into this or knew some fix. I suspect its an issue in my config file but I'm pretty new to all of this.
Thank you for your time and your theme.

Hey, I'm facing the same issue. How did you come about it?


[Feature] Add citations flag in query and chat functions of App to return context along with the answer

Description
This PR allows devs to provide citations flag in query and chat to receive context data along with the answer.
Fixes # (issue)
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Refactor (does not change functionality, e.g. code style improvements, linting)
[x] Documentation update

How Has This Been Tested?
I have tested this using unit test and by running my own test script, which is provided below.

[x] Unit Test
[x] Test Script

import os

from embedchain.apps.app import App

os.environ["OPENAI_API_KEY"] = "sk-xxx"

app = App()

question = "What is Elon Musk's networth?"
response = app.query(question)
# response (without citations): As of September 2021, Elon Musk's net worth is estimated to be around $250 billion, making him one of the wealthiest individuals in the world. However, please note that net worth can fluctuate over time due to various factors such as stock market changes and business ventures.

app.add("https://en.wikipedia.org/wiki/Elon_Musk")
app.add("https://www.forbes.com/profile/elon-musk")

response, citations = app.query(question, citations=True)
# response: Elon Musk's net worth is $221.9 billion.
# citations: [('Elon Musk PROFILEElon MuskCEO, Tesla$221.9B$1.1B (0.50%)Real Time Net Worthas of 10/27/23Reflects change since 5 pm ET of prior trading day. 1 in the world todayPhoto by Martin Schoeller for ForbesAbout Elon MuskElon Musk cofounded six companies, including electric car maker Tesla, rocket producer SpaceX and tunneling startup Boring Company.He owns about 21% of Tesla between stock and options, but has pledged more than half his shares as collateral for personal loans of up to $3.5', 'https://www.forbes.com/profile/elon-musk', 'doc_id_xxx')]

Checklist:

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

Maintainer Checklist

[ ] closes #xxxx (Replace xxxx with the GitHub issue number)
[ ] Made sure Checks passed

@deshraj Lets test this extensively before merging.


Rationalize the different cline traceback options

If the user has specified the c_line_in_traceback=False option
to the Cython compiler, then set CYTHON_CLINE_IN_TRACEBACK=0 to
avoid generating all the code to print clines out.
If the user has defined the C flag CYTHON_CLINE_IN_TRACEBACK=0 then
skip recording the C line on an exception (since we know this
is expensive in terms of code size, and we'll never actually
use what we've recorded)

PR also includes commits from #6035 so merge that first.
This should probably be 3.1 only.

Here's a proposal that reduces the whole thing to checking CYTHON_CLINE_IN_TRACEBACK and generating different macros for both cases. I find it also simpler to read the different parts of the generated macro this way.
        code.putln("#ifndef CYTHON_CLINE_IN_TRACEBACK")
        code.putln(f"#define CYTHON_CLINE_IN_TRACEBACK {'1' if options.c_line_in_traceback else '0'}")
        code.putln("#endif")

        # Using "(void)cname" to prevent "unused" warnings.
        mark_errpos_code = (
            "#define __PYX_MARK_ERR_POS(f_index, lineno)  {"
            f" {Naming.filename_cname} = {Naming.filetable_cname}[f_index];"
            f" (void) {Naming.filename_cname};"
            f" {Naming.lineno_cname} = lineno;"
            f" (void) {Naming.lineno_cname};"
            "%s"  # for C line info
            "}"
        )
        cline_info = (
            f" {Naming.clineno_cname} = {Naming.line_c_macro};"
            f" (void) {Naming.clineno_cname}; "
        )

        code.putln("#if CYTHON_CLINE_IN_TRACEBACK")
        code.putln(mark_errpos_code % cline_info)
        code.putln("#else")
        code.putln(mark_errpos_code % "")
        code.putln("#endif")

Argh, right. I forgot about the runtime configuration part. It's incredible in retrospect how much work we put into this feature. It certainly is a helpful debugging feature, but it should rather remain at that and not get in the way too much.
Second try:
        # Error handling and position macros.
        # Using "(void)cname" to prevent "unused" warnings.
        mark_errpos_code = (
            "#define __PYX_MARK_ERR_POS(f_index, lineno)  {"
            f" {Naming.filename_cname} = {Naming.filetable_cname}[f_index];"
            f" (void) {Naming.filename_cname};"
            f" {Naming.lineno_cname} = lineno;"
            f" (void) {Naming.lineno_cname};"
            "%s"  # for C line info
            "}"
        )
        cline_info = (
            f" {Naming.clineno_cname} = {Naming.line_c_macro};"
            f" (void) {Naming.clineno_cname}; "
        )

        if not options.c_line_in_traceback:
            code.putln("#ifndef CYTHON_CLINE_IN_TRACEBACK")
            code.putln(f"#define CYTHON_CLINE_IN_TRACEBACK  0")
            code.putln("#endif")
        code.putln("#if !defined(CYTHON_CLINE_IN_TRACEBACK) || CYTHON_CLINE_IN_TRACEBACK")
        code.putln(mark_errpos_code % cline_info)
        code.putln("#else")
        code.putln(mark_errpos_code % "")
        code.putln("#endif")

        code.putln("#define __PYX_ERR(f_index, lineno, Ln_error) \\")
        code.putln("    { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }")

That looks good with one small change: f" (void) {Naming.clineno_cname}; " should always be present since it avoids unused warnings.
I'll try that

Right. That gives us this then:
        # Error handling and position macros.
        # Using "(void)cname" to prevent "unused" warnings.
        mark_errpos_code = (
            "#define __PYX_MARK_ERR_POS(f_index, lineno)  {"
            f" {Naming.filename_cname} = {Naming.filetable_cname}[f_index];"
            f" (void) {Naming.filename_cname};"
            f" {Naming.lineno_cname} = lineno;"
            f" (void) {Naming.lineno_cname};"
            "%s"  # for setting C line info
            f" (void) {Naming.clineno_cname}; "
            "}"
        )
        set_cline_info = (
            f" {Naming.clineno_cname} = {Naming.line_c_macro};"
        )

        if not options.c_line_in_traceback:
            code.putln("#ifndef CYTHON_CLINE_IN_TRACEBACK")
            code.putln(f"#define CYTHON_CLINE_IN_TRACEBACK  0")
            code.putln("#endif")
        code.putln("#if !defined(CYTHON_CLINE_IN_TRACEBACK) || CYTHON_CLINE_IN_TRACEBACK")
        code.putln(mark_errpos_code % set_cline_info)
        code.putln("#else")
        code.putln(mark_errpos_code % "")
        code.putln("#endif")

How about we change to CYTHON_CLINE_IN_TRACEBACK being:

0 for disabled
1 for enabled
-1 for runtime

(Defaulting to either 0 or -1 - I don't really mind). That means it can be controlled completely by the C define, and we can deprecate the options flag as you propose)

0 for disabled
1 for enabled
-1 for runtime

My first thought was -1, too, but I think 2 is better. It's like 1 (i.e. on) but more. :)
I also think that an explicit value is better than letting users figure out how to undefine it.

mention versions

We should still make it clear that the macro also works in older versions than 3.1. Users should generally migrate away from the options, not just for new Cython versions.

My last comment in this PR and it is just personal opinion. Please keep in mind that recently I have very limited free time so I did not went in deep so maybe I misunderstood something.
If I understand correctly default behavior (if you provide no macro and no runtime time option) is to have ~5% overhead present. In my humble opinion is that this is not what users want because:

C lines in traceback was not very known (I was not aware about it) since it was not documented how to show the C lines (nor option, nor runtime switch, nor cython CLI argument), hence I suppose it is not core feature of Cython
I saw huge care of users in compile times and binary size mainly in heavy users of Cython (see https://github.com/scikit-learn/scikit-learn/issues/27767)
Having it documented in Compilation userguide is great but the users needs to go down there and read it.

Having said all above, I think that we should generate binary without overhead and allow the users to add it only if they needs it. Hence the default behaviour should be equal to setting macro CYTHON_CLINE_IN_TRACEBACK=0.

default behaviour should be equal to setting macro CYTHON_CLINE_IN_TRACEBACK=0.

I agree with this. Let's see if we can find a way to make it easy for users to use the same setup in Cython 3.0 (and earlier?) and 3.1.

I don't really like it because it's two defines when it should be one. But I can't think of another way to achieve this.

I agree with @da-woods . It depends what is less evil - current default overhead caused by C lines or 2 macros. I vote for having 2 macros. @scoder @da-woods what is your oppinion?
Maybe we can do following:

CYTHON_CLINE_IN_TRACEBACK == 1 - always reports the c line in the traceback
CYTHON_CLINE_IN_TRACEBACK == 0 or undefined - never reports the c line in the traceback
CYTHON_CLINE_IN_TRACEBACK == 2 - reports the c line only if cython_runtime.cline_in_traceback is set at runtime (and thus needs to have the information available. Document that this is only for Cython 3.1 and later
CYTHON_CLINE_IN_TRACEBACK_RUNTIME alias to CYTHON_CLINE_IN_TRACEBACK==2 with note that this is only for backward compatibility and use CYTHON_CLINE_IN_TRACEBACK == 2 whenever possible + it will be removed in future Cython versions.

It is more cumbersome but it enables us to clean it up in future releases...

I've proposed such a 2-macros implementation, making some handwavy assumptions.

Most users do not need C lines in tracebacks for their user facing production releases and prefer smaller modules.
If users want the feature, they'll probably prefer quickly and easily turning it on statically (e.g. for local debugging) over runtime checking, which involves multiple steps to set up.
If users want the feature configurable at runtime, they can probably afford putting a bit of effort into it.

Thus, we should optimise for the "feature disabled" case, make it easy to enable the feature, and provide a way to configure it at runtime.
I think two separate macros model this quite ok.

It's more of a mess than I'm going it credit for (in Cython 3.0.x too).
It isn't something you can set to set in Cython.Compiler.Options despite kind of looking like it. It has to come from a command-line argument to cythonize.py, or possibly the no_c_in_traceback attribute on an extension.
I'm trying to write some tests and I can't actually work out how to set it from setup.py right now


EAP correction into COMPASS workflow

This PR integrates elevation antenna pattern correction (EAP correction) into COMPASS workflow. As discussed, the functionality will only be added into s1_geocode_slc.py
Also the EAP correction will take whenever is necessary i.e. No user control by the flag in runconfig.
The field eap_correction_by_opera in the metadata will indicate if the EAP correction is applied by the SAS.

I tested the code on a S1A SAFE file needing EAP and the code runs successfully. Unfortunately, at this round, I do not have much time to check the InSAR phase and whether the correction has been correctly applied. I would recommend to submit an issue where we remind ourselves that we have to perform some sort of validation of the EAP with historical Sentinel data. Can you do it for me?
As I had a look at the code, for me, it makes sense to move the EAP check before here https://github.com/seongsujeong/COMPASS/blob/87b48a810e478fd7eddbc401acef13fdd802017b/src/compass/s1_geocode_slc.py#L85. In this way, we can generate the temporary corrected burst before applying the split-spectrum (no need to include the correction inside the split-spectrum code) and if the split-spectrum is not required we can directly load the temporary corrected EAP burst into an isce3.io.Raster object. What do you think? Any opinion @LiangJYu ?

Thanks @vbrancat for taking a time to review this PR. I've addressed your comments, and left a question here regarding the metadata.
I've just submitted an issue to remind us with the validation test (for EAP).

As I had a look at the code, for me, it makes sense to move the EAP check before here https://github.com/seongsujeong/COMPASS/blob/87b48a810e478fd7eddbc401acef13fdd802017b/src/compass/s1_geocode_slc.py#L85. In this way, we can generate the temporary corrected burst before applying the split-spectrum (no need to include the correction inside the split-spectrum code) and if the split-spectrum is not required we can directly load the temporary corrected EAP burst into an isce3.io.Raster object. What do you think?

I think that's a good idea. If that's the case, the function range_split_spectrum() will need to take in the corrected burst, but I don't think the change would be tricky.

Thanks @vbrancat for taking a time to review this PR. I've addressed your comments, and left a question here regarding the metadata.
I've just submitted an issue to remind us with the validation test (for EAP).

As I had a look at the code, for me, it makes sense to move the EAP check before here https://github.com/seongsujeong/COMPASS/blob/87b48a810e478fd7eddbc401acef13fdd802017b/src/compass/s1_geocode_slc.py#L85. In this way, we can generate the temporary corrected burst before applying the split-spectrum (no need to include the correction inside the split-spectrum code) and if the split-spectrum is not required we can directly load the temporary corrected EAP burst into an isce3.io.Raster object. What do you think?

I think that's a good idea. If that's the case, the function range_split_spectrum() will need to take in the corrected burst, but I don't think the change would be tricky.

Once you have solved the issue of giving to the split-spectrum the corrected EAP burst directly, this PR should be good to go :). Thanks for the quick PR :D

@vbrancat Thanks for the feedback. Do you have some preference about the metadata issue in the comment here?
https://github.com/opera-adt/COMPASS/pull/64#discussion_r1030635096

What do you think about using the field name antenna_patter_correction, and putting the string ESA or OPERA?

@LiangJYu can take care of it. He can make sure to have a field in the metadata to cover when the antenna pattern correction. I would not hold this PR for the metadata. From my side is good to go (we will make sure to do some testing after Beta delivery). @LiangJYu it would be good if you can also look at it and make sure to integrate a metadata field for the antenna pattern correction

Thanks @seongsujeong for this PR. As we discussed, let's do a test on real data to make sure things work properly before merging the PR. We need to make an interferogram between SLCs processed with IPF 2.36 and an IPF above and see the impact of the EAP correction. The expected results should look like figure 2 in this document .

Merging the PR to COMPASS. Thank you for your help @vbrancat @LiangJYu !

Thanks @seongsujeong for this PR. As we discussed, let's do a test on real data to make sure things work properly before merging the PR. We need to make an interferogram between SLCs processed with IPF 2.36 and an IPF above and see the impact of the EAP correction. The expected results should look like figure 2 in this document .

Thanks @hfattahi for the suggestion. Here is the screenshot of the mosaicked interferograms from geoburst SLCs. The first screenshot is the result with EAP correction turned off, and the second data is when the correction turned on.

Below are more information about the processed data:
reference SLC: S1A_IW_SLC__1SSV_20150207T014953_20150207T015023_004511_005899_9C44, IPF = 2.36 (EAP was NOT applied)
secondary SLC: S1A_IW_SLC__1SDV_20150327T014954_20150327T015021_005211_00694B_4E66, IPF = 2.43 (EAP was  applied)

Just to note, I'm pushing couple of fixes here that make the CSLC workflow works as expected

After the PR here, Sentinel1BurstSlc.burst_id is not a str but a class  I've edited few lines on COMPASS to handle this change.

We were using the EPSG of DEM. I've changed it to take the number from burst DB (to be precisely, geogrid generated from the burst DB)


fix(swb-ref): update integ tests impacted by zod

Description of changes:

Input validation changes broke tests that had spaces in resource names; those tests have been updated to remove spaces

Checklist:

[x] Have you successfully deployed to an AWS account with your changes?
[x] Have you written new tests for your core changes, as applicable?

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/4debe38e-5796-47b6-96ec-881a87e0df21@a07a5c2). Click here to learn what that means.
 Consider uploading reports for the commit 159f671 to get more accurate results

Additional details and impacted files
@@                               Coverage Diff                               @@
##             release/4debe38e-5796-47b6-96ec-881a87e0df21    #1053   +/-   ##
===============================================================================
  Coverage                                                ?   91.36%
===============================================================================
  Files                                                   ?      200
  Lines                                                   ?     6244
  Branches                                                ?     1137
===============================================================================
  Hits                                                    ?     5705
  Misses                                                  ?      539
  Partials                                                ?        0

Flag
Coverage Δ

root
91.36% <0.00%> (?)

swb-app
81.98% <0.00%> (?)

swb-reference
94.26% <0.00%> (?)

workbench-core-accounts
93.47% <0.00%> (?)

workbench-core-accounts-ui
∅ <0.00%> (?)

workbench-core-audit
95.00% <0.00%> (?)

workbench-core-authentication
100.00% <0.00%> (?)

workbench-core-authorization
99.52% <0.00%> (?)

workbench-core-base
81.04% <0.00%> (?)

workbench-core-datasets
95.65% <0.00%> (?)

workbench-core-datasets-ui
∅ <0.00%> (?)

workbench-core-environments
83.98% <0.00%> (?)

workbench-core-environments-ui
∅ <0.00%> (?)

workbench-core-infrastructure
99.35% <0.00%> (?)

workbench-core-logging
100.00% <0.00%> (?)

workbench-core-swb-common-ui
∅ <0.00%> (?)

workbench-core-user-management
100.00% <0.00%> (?)

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

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


GetPlotPixelPosition and GetCurrentPlotPixelPosition gone in v5.0.37

The methods GetPlotPixelPosition and GetCurrentPlotPixelPosition were present in WpfPlotBase.cs in v5.0.36 and earlier. They are no longer in WpfPlotBase.cs starting in v5.0.37. Are there alternate methods to use?

This seems like an oversight.
It looks like it was removed here
https://github.com/ScottPlot/ScottPlot/commit/f47668bbcc1a2758bb4011cb336171a8511b7d15#diff-7d0522b99f78c748cf1983f09f7862bf7bcd3e3d50f5a7f1e36584c928144d15

Thanks @wellsw! Merging #4458 now and this will be in the next release 👍


netchecker: Error occurred while checking the agents. Details: unknown (get agents.network-checker.ext netchecker-agent-xxxxx)

While using the Kubespray tool to deploy netchecker I experience the above error, here is the issue for it over in the Kubespray repo - please see it for the details.
TL;DR:
curl http://localhost:31081/api/v1/connectivity_check produces the following error:
Error occurred while checking the agents. Details: unknown (get agents.network-checker.ext netchecker-agent-xxxxx)

The netchecker-server log has this repeating:
E0910 17:15:25.308402       1 storer_k8s.go:110] unknown (get agents.network-checker.ext netchecker-agent-hostnet-2b4hm)
I0910 17:15:25.310800       1 storer_k8s.go:129] Updated agent netchecker-agent-hostnet-2b4hm unknown (put agents.network-checker.ext netchecker-agent-hostnet-2b4hm)
E0910 17:15:25.310846       1 storer_k8s.go:133] unknown (put agents.network-checker.ext netchecker-agent-hostnet-2b4hm)
[negroni] 2018-09-10T17:15:25Z | 0 | 	 5.088171ms | netchecker-service:8081 | POST /api/v1/agents/netchecker-agent-hostnet-2b4hm
[negroni] 2018-09-10T17:15:25Z | 0 | 	 20.881µs | netchecker-service:8081 | GET /api/v1/ping

Have the same issue.
Noted that related to both type of pings - as internal as hostnet pods
# kubectl logs netchecker-server-69c9f498d8-5q85b
negroni | netchecker-service:8081 | GET /api/v1/ping
negroni | netchecker-service:8081 | POST /api/v1/agents/netchecker-agent-hostnet-l94lk
E0918   | unknown (get agents.network-checker.ext netchecker-agent-hostnet-l94lk)
I0918   | Updated agent netchecker-agent-hostnet-l94lk unknown (put agents.network-checker.ext netchecker-agent-hostnet-l94lk)
E0918   | unknown (put agents.network-checker.ext netchecker-agent-hostnet-l94lk)

negroni | netchecker-service:8081 | GET /api/v1/ping
negroni | netchecker-service:8081 | POST /api/v1/agents/netchecker-agent-6872t
E0918   | unknown (get agents.network-checker.ext netchecker-agent-6872t)
I0918   | Updated agent netchecker-agent-6872t unknown (put agents.network-checker.ext netchecker-agent-6872t)
E0918   | unknown (put agents.network-checker.ext netchecker-agent-6872t)

Same time everything is clear in pod's logs
# kubectl logs netchecker-agent-xxx
I0918  Send payload via URL: http://netchecker-service:8081/api/v1/agents/netchecker-agent-6872t
I0918  Response status code: 200
I0918  Sleep for 15 second(s)
I0918  HTTP Probe (http://netchecker-service:8081/api/v1/ping):
       HTTPCode: 200;
       Total:<PHONE_NUMBER>854 ms;
       ContentTransfer:<PHONE_NUMBER>854 ms;
       Connect: 1 ms; DNSLookup: 1 ms;
       ServerProcessing: 1 ms;
       TCPConnection: 0 ms;

# kubectl logs netchecker-agent-hostnet-xxx
I0918  Send payload via URL: http://netchecker-service:8081/api/v1/agents/netchecker-agent-hostnet-l94lk
I0918  Response status code: 200
I0918  Sleep for 15 second(s)
I0918  HTTP Probe (http://netchecker-service:8081/api/v1/ping):
       HTTPCode: 200;
       Total:<PHONE_NUMBER>854 ms;
       ContentTransfer:<PHONE_NUMBER>854 ms;
       Connect: 1 ms; DNSLookup: 0 ms;
       ServerProcessing: 0 ms;
       TCPConnection: 0 ms;

Sample exchange with k8s-api server:

I0508 15:05:58.209270       1 round_trippers.go:405] GET https://<IP_ADDRESS>:443/apis/network-checker.ext/v1/namespaces/default/agents/netchecker-agent-hostnet-khfjn 403 Forbidden in 1 milliseconds
I0508 15:05:58.209334       1 round_trippers.go:411] Response Headers:
I0508 15:05:58.209358       1 round_trippers.go:414]     Content-Type: application/json
I0508 15:05:58.209406       1 round_trippers.go:414]     X-Content-Type-Options: nosniff
I0508 15:05:58.209434       1 round_trippers.go:414]     Content-Length: 441
I0508 15:05:58.209459       1 round_trippers.go:414]     Date: Wed, 08 May 2019 15:05:59 GMT
I0508 15:05:58.209515       1 request.go:991] Response Body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"agents.network-checker.ext "netchecker-agent-hostnet-khfjn" is forbidden: User "system:serviceaccount:default:netchecker-server" cannot get resource "agents" in API group "network-checker.ext" in the namespace "default"","reason":"Forbidden","details":{"name":"netchecker-agent-hostnet-khfjn","group":"network-checker.ext","kind":"agents"},"code":403}
E0508 15:05:58.209583       1 storer_k8s.go:110] unknown (get agents.network-checker.ext netchecker-agent-hostnet-khfjn)

So, netchecker-server user does not have rights to access created resources.


CoordinateystemSetting

What coordinate system should be used to create the model before converting to 3dtiles? If matrix translation is used, registration cannot be achieved when the model span is long

I assume that you are talking about createTilesetJson (otherwise, it may be necessary to clarify that).
This command will take an input model, usually a glTF model, and just create a matching tileset.json file. It does not ake into account any coordinate transforms or systems. So in order to eventually place the tileset at a certain position on the globe, you'll have to set the tileset.modelMatrix after it was loaded (for example, in CesiumJS).
There is an open issue at https://github.com/CesiumGS/3d-tiles-tools/issues/130 with some ideas about how that could be generalized. Feel free to add your ideas there.