OAuth2 - oauth_user_info not worked

Hi.
We set up oauth2 authorization, it work fine on master branche checkouted 4 months ago. But after update on current version method for getting user information is no longer called.
How to reproduce the bug
superset_config.py
from flask_appbuilder.security.manager import AUTH_OAUTH

AUTH_TYPE = AUTH_OAUTH
OAUTH_PROVIDERS = [
    {   'name':'semnext',
        'token_key':'access_token', # Name of the token in the response of access_token_url
        'icon':'fa-address-card',   # Icon for the provider
        'remote_app': {
            'client_id':'semnext-superset',  # Client Id (Identify Superset application)
            'client_secret':'OUR-SECRET', # Secret for this Client Id (Identify Superset application)
            'client_kwargs':{
                'scope': 'read'               # Scope for the Authorization
            },
            'access_token_method':'POST',    # HTTP Method to call access_token_url
            'access_token_params':{        # Additional parameters for calls to access_token_url
                'client_id':'semnext-superset'
            },
            'access_token_headers':{    # Additional headers for calls to access_token_url
                'Authorization': 'Basic Base64EncodedClientIdAndSecret'
            },
            'api_base_url':'http://<IP_ADDRESS>/sem-restservices/oauth2/',
            'access_token_url':'http://<IP_ADDRESS>/sem-restservices/oauth2/token',
            'authorize_url':'http://<IP_ADDRESS>/sem-restservices/oauth2/authorize'
        }
    }
]

AUTH_USER_REGISTRATION = True
AUTH_USER_REGISTRATION_ROLE_JMESPATH = "username == 'root' && 'Admin' || 'Gamma'"

from custom_sso_security_manager import CustomSsoSecurityManager
CUSTOM_SECURITY_MANAGER = CustomSsoSecurityManager

custom_sso_security_manager.py
import logging
from superset.security import SupersetSecurityManager

class CustomSsoSecurityManager(SupersetSecurityManager):

    def oauth_user_info(self, provider, response=None):
        logging.debug("Oauth2 provider: {0}.".format(provider))
        if provider == 'semnext':
            me = self.appbuilder.sm.oauth_remotes[provider].get('userinfo')
            logging.info("'userinfo: {0}".format(me))
            data = me.json()
            logging.info("me.json() %s", data)
            return { 'name' : data['user_name'], 'email' : data['email'], 'id' : data['user_name'], 'username' : data['user_name'], 'first_name': data['first_name'], 'last_name': data['last_name']}

But method GET http://<IP_ADDRESS>/sem-restservices/oauth2/userinfo not invoked.
In logs we have exception:
superset_app            | 2022-03-29 14:54:06,569:DEBUG:urllib3.connectionpool:http://<IP_ADDRESS>:8080 "POST /sem-restservices/oauth2/token HTTP/1.1" 200 246
superset_app            | 2022-03-29 14:54:06,571:DEBUG:root:Oauth2 provider: semnext.
superset_app            | 2022-03-29 14:54:06,571:ERROR:flask_appbuilder.security.views:Error returning OAuth user info: missing_token:

Method POST /sem-restservices/oauth2/token correctly return access_token. In old version of superset its work fine. But the current version probably doesn't want to use the received token.

Can you check if you updated your authlib version got updated too ? I think there is some issue with Authlib 1.0.0

in log:
...
Downloading Authlib-1.0.0-py2.py3-none-any.whl (214 kB)

We don't set Authlib version manually, we add it to file with requirements:
echo "Authlib" > ./docker/requirements-local.txt
and then pip installs it

Yup, try using authlib==0.15.5
You might have to edit the line you added in docker/requirements-local.txt from Authlib to authlib==0.15.5

Now it works well, thanks!


Getting multiple clinvar tbis

When running multiple times, multiple clinvar vcf tbis are generated
clinvar.vcf.gz.tbi  clinvar.vcf.gz.tbi.1  clinvar.vcf.gz.tbi.2

Fixed this issue, now the clinvar tabix file renamed so it matches the clinvar file.


Execution slowness

Hello,
Thanks for this great work. I tried it on Visual studio 2013, it does the job, but it takes a lot of time to format the source code.
For example, when I click on the save button, I have to wait for 3 seconds or more to see the code being formatted.
Is it possible to take look at this problem ?
Best regards

I was confused about the "lag after save" too (VS 2015), the formatting is performed like 2-3 s after the save. It would be nice to fix this.


fix(key-auth) return unauthorized on empty header

Fix #4405

Merged with minor tweaks and a test case for empty key as querystring.


build: add all archs to ios configuration

Signed-off-by: Mike Schore<EMAIL_ADDRESS>

I don't think you want this all the time since it will 4x builds where you pass --config=ios which is why @rebello95 was adding a new config for it https://github.com/lyft/envoy-mobile/pull/155

Was just thinking that it simplified dev and paralleled Android.

Didn't see @rebello95 's PR before - I still kinda think it's simpler to just build the archs up front by default. Bazel will still cache most artifacts right?

It will cache them yea, but if you change something build related that causes an envoy rebuild it will be 4 times longer than before

Yeah, true. I guess my line of thinking is: this project is building something for distribution and so it's useful for the default to be the most supportive/permissive configuration possible.
One less thing for someone to miss when they go and try to use the project. No terribly strong feelings about it though.

(I do still think a release configuration makes sense regardless of where we land on this.)

Yeah, true. I guess my line of thinking is: this project is building something for distribution and so it's useful for the default to be the most supportive/permissive configuration possible.

I agree that this is generally true, but I am a bit concerned about the hit to the local development workflow for us and other contributors when changes are made that trigger rebuilds as @keith mentioned.
What are your thoughts on adding another build configuration that includes these architectures which can be used in release and optionally appended for local builds? Something like --config=devices?

Updated. So, e.g., you can do:
--config:ios --config:device
--config:android --config:fat

One difference is if you don't specify an arch target, Android will default to only emulator now (which will also mean faster builds).


implement account unlock

Hey Mark,
have a look at https://github.com/russjancewicz/python-kadmin/issues/43. I think this supersedes your implementation. So this pull request could be closed.
Unlock away! :)
Michael

#42 is a more complete version of this PR and has been merged. Closing without merge.


please help with this CondaHTTPError HTTP 401 UNAUTHORIZED

CondaHTTPError: HTTP 401 UNAUTHORIZED for url https://conda.anaconda.org/anaconda-fusion/win-64/repodata.json
Elapsed: 00:00.223877
CF-RAY: 3655ad560bed471c-EWR
The remote server has indicated you are using invalid credentials for this channel.
If the remote site is anaconda.org or follows the Anaconda Server API, you
will need to
(a) login to the site with anaconda login, or
(b) provide conda with a valid token directly.
Further configuration help can be found at https://conda.io/docs/config.html.

This is a conda issue not a ulmo issue. I think this is a relevant link you can look at for some solutions: https://github.com/conda/conda/issues/3399

thank you so much.
On Sat, May 27, 2017 at 12:16 AM, Dharhas Pothina<EMAIL_ADDRESS>wrote:

This is a conda issue not a ulmo issue. I think this is a relevant link
you can look at for some solutions: conda/conda#3399
https://github.com/conda/conda/issues/3399
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/conda-forge/ulmo-feedstock/issues/8#issuecomment-304426204,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AbQBfgCF9sKAIfOT2WNjhPUnBjfFYGdHks5r96OIgaJpZM4NoNkW
.


Recognize French accents

Hi @mzhaoshuai , Can your model recognize French accents such as " café" , "réveillait", I tried it but it doesn't seem to detect it . Is there any way to detect it ? Hope you respond soon ! Thanks

@hung2003oke
No.
The full recognizable charset is at https://github.com/VamosC/CLIP4STR/blob/d18f2f4b98b7e3dc1a59a845a6940997a4e9c09c/configs/charset/94_full.yaml#L3
If you want to add support for other languages,check https://github.com/VamosC/CLIP4STR/issues/1

Thanks @mzhaoshuai , i'll close this issue


Fix SummernoteInplaceWidget full screen not work bug.

Call recalcHeight function in iframe only.Otherwise recalcHeight function will reset wysiwyg editor height after  wysiwyg editor been full screen in SummernoteInplaceWidget.

Coverage remained the same at 98.578% when pulling 390545e23bdde615bcb2d38626cdc893fa716a6d on yinkanghong:master into ce629d69d8c7abe0e5f1184d87d6439c059810f9 on summernote:master.

Coverage remained the same at 98.578% when pulling 390545e23bdde615bcb2d38626cdc893fa716a6d on yinkanghong:master into ce629d69d8c7abe0e5f1184d87d6439c059810f9 on summernote:master.

Hello,
I tried to rebuild your PR, but it failed because your PR does not implement the proper testcase.
Please, send us PR including testcase. Thank you.

Coverage decreased (-3.5%) to 95.111% when pulling 7699898a85c6957823736578b2f8504cd599a92e on yinkanghong:master into ce629d69d8c7abe0e5f1184d87d6439c059810f9 on summernote:master.

Rebuild PR is done,two feature is added,first is fix the full screen is not work bug.second is add summer_note_fields to control which fields in admin is summernote.

Thank you @pincoin. Please review and merge it when problems are gone.


Cannot run containers when Clocker is running in the same AWS region as DockerHost

Clocker cannot provision containers when both Clocker and the target DockerHost are running in the same AWS region. I believe that either the AWS security group configuration is incorrect or jclouds should use the host's public IP address rather than hostname.
Clocker configures a security group for the host to allow access to port 2376 from Clocker's public IP address.
When the host is running in the same region Clocker cannot provision containers:
Error invoking start at DockerContainerImpl{id=XRko6lFz}:
java.lang.IllegalStateException: Unable to access cloud JcloudsLocation[docker:https://ec2-52-90-188-72.compute-1.amazonaws.com:2376:/tmp/NU6GolnO-cert.pem/docker:https://ec2-52-90-188-72.compute-1.amazonaws.com:2376@yi4BGSLy] to resolve PortableTemplateBuilder[ports=[9200, 22], imageId=df78b0304a9528cb40e39262602d9217771c0ea2a4cdd489b15c73c9b31085fd, hardwareId=small, imageChooserFunction=org.apache.brooklyn.location.jclouds.BrooklynImageChooser$ImageChooserFromOrdering@6ec08f07]:
org.jclouds.http.HttpResponseException: Connection timed out connecting to GET https://ec2-52-90-188-72.compute-1.amazonaws.com:2376/v1.16/images/json HTTP/1.1

Running a few tests from Clocker to such a host:

curl dockerHost-hostname:2376 (ec2-..amazonaws.com) times out
curl dockerHost-publicIp:2376 succeeds
curl dockerHost-privateIp:2376 times out.
curl dockerHost-privateIp:2376 succeeds when I change the security group entry to allow 2376 from privateIp/32.

Within AWS hostnames resolve to private IP addresses. At a guess the GET ec2-52-90-188-72.compute-1.amazonaws.com is forbidden because port 2376 is only exposed to Clocker's public IP address.

This is a duplicate of #134

@sjcorbett did you try the fix I suggested in the previous issue?

Yes. Prioritising a fix would be helpful so that others don't have to waste their time working this out again. I appreciate I should have read through the existing issues.


ToolTip implementation

ToolTipBox is a composable that shows a tooltip box with a title and a text. It could also show custom content. It is used to show a tooltip box on a control.
Validations
Added UI Test Cases
Screenshots
Bottom Align ToolTip:

Top Align ToolTip

Custom content ToolTip:

Pull request checklist
This PR has considered:

[x] Light and Dark appearances
[x] Automated Tests
[x] Documentation and demo app examples
[x] VoiceOver and Keyboard Accessibility
[ ] Internationalization and RTL layouts
[ ] Size classes and window sizes (notched devices, multitasking, different window sizes, etc)

If you want to get rid of the line between the tip and the body, you can consider using a Shape for the background, instead of adding the tip as a vector drawable. This is what we did in our own implementation of Tooltip, and it offers a few other advantages, for example proper shadow or border rendering.

Haven't run the demo, my comment is based solely on the render presented in this PR. Feel free to reach out on Teams if this is interesting to you.

Fantastic addition, btw! If this were released just two weeks earlier, we would have been the first to use it.


king.dll not working

Describe the bug
Hello, today I wanted to use this wonderful amx resource, I did everything that readme told, I downloaded king.dll added it to mtaserver.conf gave all permissions needed for amx, but when I try to start amx it outputs error
amx\server\amx.lua:30: The amx module (king.dll/so) isn't loaded. It is required for amx to function.
I read few issues it said I need add sqlite3.dll too, but it didn't help. modules folder wasn't created automaticly I tried creating and putting both .dll to it, it didn't work I tried to /deathmatch same, someone in discord told I should put it to x64, but I don't have such folder
To reproduce
Install amx with clean MTA server
and it won't find king.dll

At the moment AMX works only with 32-bit server. (It depends on compile and with AMX machine).


Fix style conflict caused by reactions-avatars on other pages

Fix #4630
Test URLs

Discussions: https://github.com/github/feedback/discussions/4291
Releases: https://github.com/sindresorhus/refined-github/releases/tag/21.8.1

Screenshot

Why not use a more specific selector instead? If GitHub adds reactions to more places we have to add more exceptions. Is there a comments class that doesn't appear on other pages?

Another solution for most of those selectors would be to add a custom class to reaction avatars so they can be referenced directly instead of relying on them being the only span inside the reaction button.

Good idea, we can add a class on the button and then target the contents via span and img

Merging because it’s a fix but hoping for a better fix later. Tagging it as such 👇

I kinda forgot about this PR. IMO it's specific enough because it seems the discussion and release reactions uses the same "newer" markup and I'd expect any (potential) future additional will be the same.

Discussions tracked here: https://github.com/sindresorhus/refined-github/issues/3978#issuecomment-835082262

I'm see this on every page now


Downstream tests for ci-mgmt

Perhaps one provider should be enough, just to get rid of easy mistakes like https://github.com/pulumi/ci-mgmt/pull/837

Fixed in #855


[DOC] Fix the link of the Code of conduct

I think the problem is already on the main branch, because I only changed the readme.


tilt: 0.33.1 -> 0.33.3

Description of changes

Workaround for backwards-compatibility breaking changes in Go 1.20.6
Fixes Docker ImageBuild timeouts

Release notes: https://github.com/tilt-dev/tilt/releases/tag/v0.33.3
Compare changes: https://github.com/tilt-dev/tilt/compare/v0.33.1...v0.33.3
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build tilt


Test session using GPU runs using Python 3.7

Using the action namiyousef/action-kaggle-gpu-test in this .yml file, runs tests using Python 3.7 even if in the .yml file the python version listed is 3.9. It can be seen from this workflow's line. This causes several tests errors.

Hi @gcroci2, that's a good point, thanks for this. I'll have a look into it.

Hi, I have fixed this on your project and created a merge request (https://github.com/DeepRank/deeprank-core/pull/208).
There is also another method of doing this that I am considering. This can be found on the develop branch (https://github.com/namiyousef/action-kaggle-gpu-test/blob/develop/action.yml). It takes a python version that needs to be specified from within action calling it. For an example, see here:


Icehouse to Juno upgrade

We are using Icehouse in out staging environment with CentOS 6.5. (One Controller, One Network, One Storage and couple of Compute nodes)
Now we are planning to upgrade out staging environment  to Juno.
Is it possible to do the upgrade without upgrading Operating System ( CentOS 6 to 7) using puppetlabs-openstack modules ?
I found below link but I'm not sure the right procedure for the upgrade since we were using puppet modules.
http://docs.openstack.org/openstack-ops/content/upgrade-icehouse-juno.html

No. Even without using the puppet modules, RDO only has packaged RPMs for Juno for 7+, and this module depends on them, ie:
https://repos.fedorapeople.org/repos/openstack/openstack-icehouse/
vs
https://repos.fedorapeople.org/repos/openstack/openstack-juno/
(this also delayed our upgrade to Juno - wish they had made centos 6 RPMs, but there are very nice KVM improvments in 7+, so it will be for the best...)

Thanks @benh57.
This module depends on the distro packages, so it isn't possible to upgrade using this module.
We removed RedHat 6 from the metadata.json in #190 to clarify that. Thanks.


SitePrism::ElementVisibilityTimeoutError on a Chrome headless mode

I updated the chromedriver to be the same as the Google Chrome browser: version 80.
The same code works perfectly on a :selenium_chrome mode, but it fails on a :selenium_chrome_headless.
It always returns SitePrism::ElementVisibilityTimeoutError, even passing a amount of seconds to wait for it.
Environment

Windows 10 Enterprise
site_prism (3.4.2) & capybara (3.31.0)
Cucumber
ChromeDriver 80.0.3987.16 (320f6526c1632ad4f205ebce69b99a062ed78647-refs/branch-heads/3987@{#185})

Expected Behavior
The element is found between the set time.
Actual Behavior
It fails with SitePrism::ElementVisibilityTimeoutError.
Steps to reproduce
Piece of the code:
within_window(@topics_window) do
    @topics_page.wait_until_sorter_view_visible(wait: 10)
    @topics_page.sorter_view.click
    puts "\t#{'=' * 27} \n| Tópico Mais Visualizado |\n #{'=' * 27}"
    puts "\t#{@topics_page.topics.first.find('.title').text}"
end

This isn't enough information to reproduce.
We would need all the information. See www.sscce.org

ping @lflucasferreira Will close in 1 week if nothing heard.


Regression tests

Description
Evaluations stored in https://github.com/awslabs/gluon-ts/tree/master/evaluations are generated manually. This causes several issue: 1. manual mistakes can happen 2. it can take a long time before we detect an issue impacting accuracy. Such evaluations could be done at a regular basis to make it easier to check when accuracy regression happens.

Closing in favour of #379


Replace Black with Ruff formatter

This PR follows on from #20442 to replace Black with Ruff as the Python code formatter.
Some manual code changes were applied to minimize automated changes or hopefully better represent the logic.
With this transition, examples is not excluded, as there was only a minor change to files in this directory.
Shell scripts (in shell/) are modified to remove the e flag, and shell/lint.sh is modified to run and accumulate error codes while running the whole script (i.e. 0=good, 1=one failure, 2=two failures).

Codecov Report
Attention: Patch coverage is 0% with 1 line in your changes missing coverage. Please review.

Project coverage is 59.87%. Comparing base (192b7b2) to head (e2de9e0).
Report is 1 commits behind head on master.

Files with missing lines
Patch %
Lines

keras/src/datasets/reuters.py
0.00%
1 Missing :warning:

:exclamation:  There is a different number of reports uploaded between BASE (192b7b2) and HEAD (e2de9e0). Click for more details.
HEAD has 6 uploads less than BASE

Flag
BASE (192b7b2)
HEAD (e2de9e0)

keras
4
1

keras-torch
1
0

keras-tensorflow
1
0

keras-jax
1
0

Additional details and impacted files
@@             Coverage Diff             @@
##           master   #20445       +/-   ##
===========================================
- Coverage   82.01%   59.87%   -22.15%
===========================================
  Files         514      514
  Lines       47192    47194        +2
  Branches     7408     7408
===========================================
- Hits        38706    28256    -10450
- Misses       6696    17197    +10501
+ Partials     1790     1741       -49

Flag
Coverage Δ

keras
59.87% <0.00%> (-22.01%)
:arrow_down:

keras-jax
?

keras-numpy
59.87% <0.00%> (-0.01%)
:arrow_down:

keras-tensorflow
?

keras-torch
?

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

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


Typo in submodules, Access Rights etc ...

Hi Gil,
thanks for your great post at:
https://gil0mendes.io/blog/an-efi-app-a-bit-rusty/
I had a really hard time to get in contact with you. Couldn't find any way to drop you an email or chat ...
The command to download the submodules has a typo and should read:
git submodule update --init
(it's in plural in the README.md file). But when downloading the submodules, access is not granted:
Cloning into '/home/schmidtm/prj/Initium/3rd-party/uefi-rs'...
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'git@github.com:gil0mendes/uefi-rs.git' into submodule path '/home/schmidtm/prj/Initium/3rd-party/uefi-rs' failed

If i clone this submodule sucessfully from it's original location by hand:
git clone https://github.com/rust-osdev/uefi-rs.git
and try to build the load using:
./build.py build
I am running into another issue with dropped features:
`   Compiling x86_64 v0.13.6
error[E0557]: feature has been removed
--> /home/schmidtm/.cargo/registry/src/github.com-1ecc6299db9ec823/x86_64-0.13.6/src/lib.rs:5:43
|
5 | #![cfg_attr(feature = "const_fn", feature(const_fn))] // Needed for generic access to associated consts
|                                           ^^^^^^^^ feature has been removed
|
= note: split into finer-grained feature gates
For more information about this error, try rustc --explain E0557.
e`
I really wann use your loader, but running out of options ...
cheers,
Matthias Schmidt

Sorry, for the really really really late reply on this 🤦 Actually I didn't notice the issue here, and since I didn't have the opportunity to work on the project for so long I completely missed it.
I just got rid of the git submodule and also replaced the Python script with a build system completely written in Rust. So that solves the typo.
Also, upgraded some dependencies to support a more recent Rust's nightly build.


ffuf includes comment lines in wordlists

If I have a wordlist that contains comments (preceded by #), ffuf also treats it as part of the wordlist. I wonder if it'd be better to ignore instead?
I'm using v0.12.
Thanks, great tool and happy new year!

Some use cases still need the comments to be passed to input as any other character. That said, this feature is already in works in PR #115

Oh, I seem to have missed that PR. Great, thanks!

Hey @joohoi @pirxthepilot, I added PR #138 which fixes this issue.


Explore cQube multi-tenant architecture option

Currently cQube is designed to be deployed for each State/adopter.
It is not a multi-tenant system. So, data isolation is already in place.
Update
What is the expectation? Should we explore multi-tenant architecture for cQube?

@ananya-jain1 , Please review this issue

To be considered as part of the cQube roadmap.

This is commented already. Need to discuss on this

Added in the Backlog item


My index.html is all blank

Hi,
I'm facing a problem with the plugin, i have 2 pages (index.html and map_page.html)
I only use the map on the map_page! The index.html is all blank when i say blank the Map Plugin add this lines to the code:
html, body, .gmaps_cdv {   background-image: url() !important;   background: rgba(0,0,0,0) url() !important;   background-color: rgba(0,0,0,0) !important;}.gmaps_cdv .nav-decor {   background-color: rgba(0,0,0,0) !important;   background: rgba(0,0,0,0) !important;   display:none !important;}
and:
<body style="background-color: rgba(0, 0, 0, 0);">
when i remove the plugin all the page style back to normal.
i've tried to apply a workarround like this one but I think that is not the real solution:
    element = document.body;
    element.removeAttribute("style");

    var hs = document.getElementsByTagName('style');
    for (var i = 0, max = hs.length; i < max; i++) {
        hs[i].parentNode.removeChild(hs[i]);
    }

Thank for the Help.

This plugin places the native map view under the browser view. So the browser must be transparented.

https://github.com/mapsplugin/cordova-plugin-googlemaps/blob/master/README.md#how-does-this-plugin-work

Hi,
Thank for the help (I already made this work)!

@Zygon how did you fix this ?


Links to tutorials of React/Zustand/design etc.

Please add links to getting started/learning tutorials in the contribution guidelines for all of our essential technologies.

@Bushuo can you add a few links in our documentation that you recommend to learn the technologies we use (in particular React)?

Sure, I will add them later today or tomorrow.

Thank you!

@markus2330 I think we can close this. I added all the relevant links to the contribution docs.


Some entity ids are NOT unique

Some entity ids returned by the REST API are not unique.
Querying the /api/entities/{entity_id} endpoint returns different results in (at least) the following case:
https://intavia.acdh-dev.oeaw.ac.at/entities/aHR0cDovL3d3dy5pbnRhdmlhLmV1L3Byb3ZpZGVkX3BlcnNvbi8zNzU3
Should return Gustav Klimt but sometimes returns Ales Mikulas (both have the following URI: http://www.intavia.eu/provided_person/3757)

Hmm, quickly looking at the data in the SPARQL endpoint, I see the URI http://www.intavia.eu/provided_person/3757 only being used for Ales Mikulas, not for Gustav Klimt. Klimt's URI is http://www.intavia.eu/provided_person/30123.
Also, by making the query https://intavia.acdh-dev.oeaw.ac.at/entities/aHR0cDovL3d3dy5pbnRhdmlhLmV1L3Byb3ZpZGVkX3BlcnNvbi8zNzU3, I see it returning only Ales Mikulas (I ran it couple of times).
Are you able to reproduce the bug via a certain use sequence?
What I do know is that if we ingest new versions of source datasets and then run the Prefect flow generating Provided_Person instances, the URIs of the persons can change from the previous state of the knowledge graph (issue: https://github.com/InTaVia/prefect-flows/issues/22). So if this would be the case, then the same URI could be used for Klimt and Mikulas, but not in the same knowledge graph state.

I'm able to reproduce the bug in the following way:

Search for Gustav Klimt in the frontend (https://intavia.acdh-dev.oeaw.ac.at/search?q=gustav+klimt)
Click on Gustav Klimt to open the detail page -> Gustav Klimt will be shown
Delete local storage of the application (tutorial)
Reload detail page of Gustav Klimt (https://intavia.acdh-dev.oeaw.ac.at/entities/aHR0cDovL3d3dy5pbnRhdmlhLmV1L3Byb3ZpZGVkX3BlcnNvbi8zNzU3)
-> Mikulas Ales will be shown

Maybe either the entity search or entityById endpoint is returning out-of-date data?

Thanks. I don't have any new insight to offer here, but will report my findings:

Yesterday, I was able to reproduce the bug by following your sequence, even without deleting local storage (step 3), but didn't have time to further investigate. In Chrome's Incognito mode I couldn't reproduce the bug.

Now when I followed your sequence, in step 4 I see Gustav Klimt, as it should be, and thus cannot reproduce the bug anymore. Gustav Klimt's detail page URL is (currently) https://intavia.acdh-dev.oeaw.ac.at/entities/aHR0cDovL3d3dy5pbnRhdmlhLmV1L3Byb3ZpZGVkX3BlcnNvbi8zMDEyMw%3D%3D (vs. in your sequence / yesterday it was https://intavia.acdh-dev.oeaw.ac.at/entities/aHR0cDovL3d3dy5pbnRhdmlhLmV1L3Byb3ZpZGVkX3BlcnNvbi8zNzU3). So it seems some endpoint/component might have out-of-date data.

Is it possible that our browsers' local storage had Gustav Klimt's older ID (if such ID's are stored in local storage)?

Thanks for looking into this! Yes, entities and their IDs are stored in local storage, so that's a possibility.

Ok, then I think is indeed caused by a new run of the Prefect flow that generates the Provided_Person instances, which doesn't generate persistent identifiers (issue: https://github.com/InTaVia/prefect-flows/issues/22).


Replace Boost.MPL with Boost.MP11

Description

Use type traits and features of C++11, then use Boost.MP11.
Remove unused and unnecessary metafunctions in detail namespace.
Remove explicit access to ::type as no longer necessary with MP11.
Replace boost::is_integral with gil::detail::is_channel_integral to avoid UB.
Clean up and reformat code according to the current guidelines.

Legacy tests have been updated where necessary to accommodate switch to MP11.
Status
Ready to start review process.
I will try make it easier to review/track changes and submit updates as new commits,
but sometimes I may need to rebase and force-push update. Sorry.
Two files have not been updated and it needs to be decided what to do:

promote_integral.hpp which is external source borrowed from Boost.Geometry.
extension/dynamic_image/reduce.hpp which is compiled on demand by #define BOOST_GIL_REDUCE_CODE_BLOAT=1

References

#93
#229

Tasklist

[ ] Decide what to do with promote_integral.hpp. Port?
[ ] Decide what to do with extension/dynamic_image/reduce.hpp. Remove?
[x] Solve failing checksum test in test/legacy/image.cpp for bgr121_* (fixed in f45dd04aca1996ec8d1315cf495f9e5a78387f02)
[ ] Review
[ ] Adjust for comments
[x] All CI builds and checks have passed

The failing checksum test should now be fixed in f45dd04aca1996ec8d1315cf495f9e5a78387f02
It's funny how implicit namespace can make refactoring a bit more difficult :-)
Simply, old boost::is_integral vs new std::is_integral led to call to completely different channel_converter_unsigned_impl specialization than expected.

You make me curious. Please explain !

@stefanseefeld Let's try. Below, I'm using references to the current implementation based on Boost.MPL so it should be easier to follow.
Consider this template:
https://github.com/boostorg/gil/blob/8d2a90bf1b31e6d917c2a3e3ee60b09de250e56d/include/boost/gil/channel_algorithm.hpp#L103-L105
Notice, this template which uses unqualified is_integral.
For the bgr121_* test cases in the legacy/image.cpp, SrcChannelV is unsigned char and DstChannelV is packed_channel_value.
Now, for the packed_channel_value, there is this boost::is_integral specialization
https://github.com/boostorg/gil/blob/8d2a90bf1b31e6d917c2a3e3ee60b09de250e56d/include/boost/gil/channel.hpp#L639-L643
which is 'called' during specialization of base channel_converter_unsigned_impl template presented earlier.
The Boost.MPL to Boost.MP11 convesrion in this PR replaces the boost::is_integral with std::is_integral and the specializations are now in std namespace, but that unqualified 'call' to is_integral as parameter to  channel_converter_unsigned_impl above still referred to boost::is_integral.
Since there was no specialization of it for the packed_channel_value, the result was false instead of true and it led to using this default definition of channel converter:
https://github.com/boostorg/gil/blob/8d2a90bf1b31e6d917c2a3e3ee60b09de250e56d/include/boost/gil/channel_algorithm.hpp#L118-L126
instead of this
https://github.com/boostorg/gil/blob/8d2a90bf1b31e6d917c2a3e3ee60b09de250e56d/include/boost/gil/channel_algorithm.hpp#L135-L138
that, for the pair of channels in the bgr121_* tests (SrcChannelV is unsigned char and DstChannelV is packed_channel_value) eventually calls:
https://github.com/boostorg/gil/blob/8d2a90bf1b31e6d917c2a3e3ee60b09de250e56d/include/boost/gil/channel_algorithm.hpp#L175-L183
I hope it makes sense :-)

That's not my business, but I wonder how you are going review this ;)
P.S. There are bunch of changes like replacing boost with std type_traits (mpl::true_/false_ also in this category) or silencing warnings that could be done separately.

@Kojoley

I wonder how you are going review this ;)

It was well understood MPL to MP11 will propose large changeset that may be difficult if not impossible to carefully review diff by diff.
That is why I've spent significant amount of time updating/adding tests prior to this work.
That is why I've added so many CI builds for as many compilers and versions as possible.
This is a big jump and, as every thorough refactoring of non-trivial codebase, it will introduce issues. So, we must continue adding more tests and more detailed tests with hope to fish for the issues - we will spend 3, 6, 9, ... months before we decide we are happy to release it.
Finally, despite of the risks, I believe this does not deteriorate any GIL qualities; on the contrary.
"You want to change things, you have to break things"

There are bunch of changes like replacing boost with std type_traits (mpl::true_/false_ also in this category) or silencing warnings that could be done separately.

I attempted to remove only those traits or some other traits (e.g. #107), but due to tight coupling of MPL and Boost.TypeTraits (and tight coupling of GIL to those two), it was not practically feasible or required some 'mapping' of traits to C++11 equivalents which would have been clear/remove-refactored again once switching to MP11.
I fished for some places where it was possible to apply C++11 features w/o breaking existing MPL-based infrastructure (e.g. #215, #225 and some more). Regardless, number of places where C++11 traits could be used directly was insignificant in comparison to size of the overall changeset required anyway.

I'm always advocate surgical strikes at code that introduce manageable diffs, but sometimes it is not feasible (esp. w/ limited time and manpower).

Build Status Update
This PR passes all these builds: AppVeyor (C++14 w/ Boost develop) , AzP (C++11 and C++14 w/ Boost 1.68), CircleCI (C++11 w/ Boost master), TravisCI (C++11 w/ Boost develop).
The only failing build is the AzP one for C++17 w/ Boost 1.68 using VS2017:
3>c:\boost\include\boost-1_68\boost\mp11\detail\mp_plus.hpp(28): error C2059: syntax error: '...' [D:\a\1\s\_build\test\legacy\legacy_pixel_iterator.vcxproj]
         c:\boost\include\boost-1_68\boost\mp11\detail\mp_fold.hpp(47): note: see reference to class template instantiation 'boost::mp11::detail::mp_plus_impl<V,T1>' being compiled
                 with
                 [
                     V=std::integral_constant<int,0>,
                     T1=std::integral_constant<size_t,2>
                 ]
         c:\boost\include\boost-1_68\boost\mp11\detail\mp_fold.hpp(47): note: see reference to alias template instantiation 'boost::mp11::mp_plus<std::integral_constant<int,0>,T1>' being compiled
                 with
                 [
                     T1=std::integral_constant<size_t,2>
                 ]
         d:\a\1\s\include\boost\gil\bit_aligned_pixel_reference.hpp(123): note: see reference to class template instantiation 'boost::mp11::detail::mp_fold_impl<ChannelBitSizes,std::integral_constant<int,0>,boost::mp11::mp_plus>' being compiled
                 with
                 [
                     ChannelBitSizes=boost::mp11::mp_list<std::integral_constant<size_t,2>,std::integral_constant<size_t,3>,std::integral_constant<size_t,2>>
                 ]
         d:\a\1\s\include\boost\gil\bit_aligned_pixel_reference.hpp(118): note: see reference to alias template instantiation 'boost::mp11::mp_fold<boost::mp11::mp_list<std::integral_constant<size_t,2>,std::integral_constant<size_t,3>,std::integral_constant<size_t,2>>,std::integral_constant<int,0>,boost::mp11::mp_plus>' being compiled

I'm suspecting this is a problem with MP11 from the older release of Boost 1.68.
If this is confirmed, then I will disable this build until AzP builds switch to Boost 1.70 (once released).

I've rebased the PR onto develop to integrate the latest CI update from #279

I think I'll merge tonight :) Thrilled!

Ka-Boom!


Change the content on Blockchain Developer Path

Any suggestions on what to add?
Example:
1st card = https://www.youtube.com/watch?v=ci_AIMCF-HA
2nd card = https://www.techfunnel.com/information-technology/how-to-become-blockchain-developer/
3rd card = https://cryptozombies.io/
4th card = https://learn.figment.io/

What about this? https://www.simplilearn.com/tutorials/blockchain-tutorial/how-to-become-a-blockchain-developer https://www.youtube.com/watch?v=x9l3y0cdpuU

Up, we need to finalize on what to put here.

can i work on this? @vinzvinci

Hello @pranavvdesai ! Sure.

Any other suggestions on what resources to add? @Panquesito7 @KukretiShubham

@pranavvdesai no. for now we will do for 4 cards only and @vinzvinci has already suggest them.

Hi @KukretiShubham, can you guide @pranavvdesai?
That suggestion is not final. If you have suggestion, feel free to comment it

Hello community! How do I check the progress on this issue? I would love to contribute to it.

Final:
1st card = https://www.simplilearn.com/tutorials/blockchain-tutorial?source=sl_frs_nav_playlist_video_clicked
2nd card = https://www.youtube.com/watch?v=x9l3y0cdpuU
3rd card =  https://learn.figment.io/
4th card = https://cryptozombies.io/

Final:
1st card = https://www.simplilearn.com/tutorials/blockchain-tutorial?source=sl_frs_nav_playlist_video_clicked 2nd card = https://www.youtube.com/watch?v=x9l3y0cdpuU 3rd card = https://learn.figment.io/ 4th card = https://cryptozombies.io/

okay 👍


fix(.mergfiy.yaml): Remove deprecated Mergify feature

Description:
Removes deprecated feature strict, but by adding labels to the rebase action the automerge and automerge-squash labels will still autorebase the PR.
Signed-off-by: Shalier Xia<EMAIL_ADDRESS>
Affected area:

Functional Area

New Functionality
[ ]

Documentation
[ ]

Install
[ ]

CLI Tool
[ ]

Certificate Management
[ ]

Control Plane
[ ]

Ingress
[ ]

Egress
[ ]

Networking
[ ]

Observability
[ ]

SMI Policy
[ ]

Sidecar Injection
[ ]

Security
[ ]

Upgrade
[ ]

Tests
[ ]

CI System
[x ]

Demo
[ ]

Performance
[ ]

Other
[ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? no

Did you notify the maintainers and provide attribution?

Is this a breaking change? no

Codecov Report

Merging #3605 (3cdc5a3) into main (033ddea) will increase coverage by 8.99%.
The diff coverage is 49.52%.

@@            Coverage Diff             @@
##             main    #3605      +/-   ##
==========================================
+ Coverage   58.35%   67.35%   +8.99%
==========================================
  Files         145      175      +30
  Lines        6167     8492    +2325
==========================================
+ Hits         3599     5720    +2121
- Misses       2565     2741     +176
- Partials        3       31      +28

Flag
Coverage Δ

unittests
67.35% <49.52%> (?)

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

Impacted Files
Coverage Δ

cmd/cli/dashboard.go
0.00% <0.00%> (ø)

cmd/cli/mesh.go
0.00% <0.00%> (ø)

cmd/cli/metrics.go
58.82% <ø> (ø)

cmd/cli/metrics_disable.go
56.66% <ø> (ø)

cmd/cli/metrics_enable.go
57.37% <ø> (ø)

cmd/cli/osm.go
0.00% <0.00%> (ø)

cmd/cli/proxy.go
0.00% <0.00%> (ø)

cmd/cli/proxy_get.go
5.08% <5.08%> (ø)

cmd/osm-controller/osm-controller.go
15.21% <21.12%> (-7.78%)
:arrow_down:

cmd/cli/mesh_list.go
30.00% <33.33%> (-6.85%)
:arrow_down:

... and 166 more

Continue to review full report at Codecov.

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


deps/rust: Rename wasm32-wasi -> wasm32-wasip1

requires resolution to https://github.com/bazelbuild/rules_rust/issues/2782
/wait

/lgtm deps

/retest

seems like this needs a fix in proxy-wasm-rust-sdk
ive tested https://github.com/proxy-wasm/proxy-wasm-rust-sdk/pull/277 but that still gives the same warnings so probs more is needed there

proxy-wasm/proxy-wasm-rust-sdk#277 only changes its own CI and text in examples, so it won't have any effect on Envoy.
But what are you trying to fix? I don't see any Wasm or Rust tests failing in this PR.
If you're trying to get rid of warnings about wasm32-wasi being deprecated, than that needs to be fixed in rules_rust, since it maps @rules_rust//rust/platform:wasi to wasm32-wasi and not wasm32-wasip1.

But what are you trying to fix? ...

yeah - trying to resolve the warnings
i initially came to the conclusion that it needed to be resolved in rules_rust - but after updating that with what i thought should fix still seeing the same

Do you mean ...

yeah - mostly as it closed https://github.com/bazelbuild/rules_rust/issues/2782 which i thought was the issue

Try https://github.com/bazelbuild/rules_rust/pull/2967?

requires a cpp-host update at least i think

requires a cpp-host update at least i think

I don't think so? There is nothing host-related in there, at least if you ignore Wasmtime.
In any case, you forgot to update checksum, which is why the tests are failing.

apologies - i didnt push my latest local change - this was the error about cpp-host
ERROR: Error computing the main repository mapping: at /src/workspace/envoy/bazel/repositories_extra.bzl:4:6: at /home/worker/.cache/bazel/_bazel_worker/f704bab1b165ed1368cb88f9f49e7532/external/proxy_wasm_cpp_host/bazel/cargo/wasmtime/remote/crates.bzl:15:6: Every .bzl file must have a corresponding package, but '@rules_rust//crate_universe/private:crates_vendor.bzl' does not have one. Please create a BUILD file in the same or any parent directory. Note that this BUILD file does not need to do anything except exist.
Loading:

i didnt look too far what caused it


⚠ Processors has degraded performance

In aac142f, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 110 ms

Resolved: Processors performance has improved in a2bece1.


Starting and stopping a specific daemon for each project

Expected Behavior
I'd like to run an instance of a daemon for each project on my server and use the daemon for running all project tasks.
When a project is finished, I'd like to stop the daemon which supports this project.
Current Behavior
I can run only one daemon for all my projects or multiple daemons if I use different values of the property -Dorg.gradle.jvmargs.
Now I can stop only all daemons at once gradle --stop.
Question
How can I run a specific instance of a daemon and stop it when I want to?

I might be wrong on this, but I think lately Gradle always runs a daemon behind the scenes and stops it afterwards if your choice is "no daemon", so it might not be intuitive but I think --no-daemon already does what you want.

If you really want a single-use process, use --no-daemon.
But the real question is: Why do you want to stop the daemon at all? Stopping it means you lose all the performance benefit. My advice would be to just let Gradle do its thing. The daemon will expire eventually if it isn't used.

Now I do it, but I have a performance degradation if I call the gradle again.
I want to run the daemon isolated for the project for several tasks and stop it when I want to.
I want stop daemon because:
Each version of the gradle wrapper creates its own demon. In some cases there can be lots of demons, so the performance will degrade again.

Do you mean that Gradle can't do this if I don't use Docker?

If I use a Gradle wrapper with different versions for my projects then I have demons that take up memory
public class DaemonParameters {
    public static final List<String> DEFAULT_JVM_ARGS = ImmutableList.of("-Xmx1024m", "-XX:MaxPermSize=256m", "-XX:+HeapDumpOnOutOfMemoryError");
    public static final List<String> DEFAULT_JVM_8_ARGS = ImmutableList.of("-Xmx1024m", "-XX:+HeapDumpOnOutOfMemoryError");

I can't stop any daemon because I don't know if this demon is needed or not.
I have many other problems related to this.
It is important to me.

Because after all the build steps I have to clear the project space, but there is a chance to reproduce the bug #937

Gradle should not keep any files locked. Please use the file leak detector to find out which plugin is causing the leak and report a bug to them. Stopping daemons is not the solution there, fixing the plugins is.

How to set the parameter from the command line? Because I can't modify the build.gradle.

Why not?

Because I work only with CI.
Thank you, I will take your advice task.withType(JavaCompile) { options.fork = true }.
But I need to run an instance of a daemon for each project.

I'd like to clarify the problem. As far as we understand currently it is impossible to stop a specific Gradle daemon. When one tries to do that, all daemons currently running on the machine will be stopped. Is it correct?
If so, this leads to a problem in CI environment, namely TeamCity. In TeamCity build is started by a TeamCity build agent. Some of our customers like to install more than one agent on the same machine. So potentially , more than one Gradle build can be executed on the same machine at the same time. Now, we'd like to stop Gradle daemon sometimes, to prevent interfering with agent resources (to prevent locking of files on the agent, for instance). But we can't do that, because we'll stop all of the daemons at once, and who knows how it will affect other currently running builds.
If we could tie Gradle daemon to something, like user home, or .gradle directory and be able to stop only this daemon, that would be great.

Because I work only with CI.

I don't understand that.

But I need to run an instance of a daemon for each project.

You don't need to. You need to find the real problem and fix it, as I explained before.

But we can't do that, because we'll stop all of the daemons at once, and who knows how it will affect other currently running builds.

It won't stop a daemon that is still building something. The daemon will shut down after the build.

Now, we'd like to stop Gradle daemon sometimes, to prevent interfering with agent resources

Please, find the issues instead of working around them. If there is a file leak in Gradle, we need to know about it. If there is one in a community plugin, the author needs to know about it. If there is one in your own build logic, you need to fix it. Stopping daemons is not a solution.

Seems you do not understand. I am not talking about a particular Gradle build which I can fix. I am talking about TeamCity -> Gradle integration. TeamCity build agent can start many different builds. Some of them can be badly written or use badly written plugins which can lock resources. We need a way to prevent it and for this we need to be able to stop Gradle daemon - but only a specific one, not all of them which are running on the machine at the moment.
Speaking about issues, you actually have them reported, this is one example: https://github.com/gradle/gradle/issues/937

Some of them can be badly written or use badly written plugins which can lock resources. We need a way to prevent it and for this we need to be able to stop Gradle daemon - but only a specific one, not all of them which are running on the machine at the moment.

If you know which one is causing the problem, you should get in touch with that team and make sure the problem is fixed. Until it is fixed you can use --no-daemon for their build.

Speaking about issues, you actually have them reported, this is one example: #937

This is a bucket of different problems, most of them caused by external tools/plugins that those users are using. If you find one that is caused by Gradle itself (and attach the stacktrace from the file-leak-detector), we'll be more than happy to fix it.

If you know which one is causing the problem, you should get in touch with that team and make sure the problem is fixed. Until it is fixed you can use --no-daemon for their build.

We work at JetBrains and produce TeamCity product, we can't contact our customers teams. We need to provide a reliable solution for our users.

Until it is fixed you can use --no-daemon for their build.

This is what we do now. But our users ask us to allow using Gradle daemon in their builds because potentlially it can increase performance, but we can't allow that until we can reliably stop these daemons.

If you find a file leak that is caused by Gradle itself (and attach the stacktrace from the file-leak-detector), we'll be more than happy to fix it.

Sure. Leak is a strong word here, as I understand usually it's a problem in a plugin. But then again, for our users, we must provide a solution which works in all of the cases. Otherwise, what are they paying for ;)

I'm confused. As you probably know, we use TeamCity ourselves and it already allows us to use the daemon. In fact, using the daemon is the default in Gradle. So what exactly are your users asking for?

We've been using the daemon for a long time on TeamCity and we use the Gradle runner, not the command line runner. We simply add the --daemon option under Additional Gradle command line parameters
I think you should do the following: Add an option to globally enable the daemon (which is false for backwards compatiblity, so users don't get surprised). If users activate this option, it is up to them to make sure their builds are behaving well.
TeamCity should not be stopping daemons, that would punish users with well-behaved builds. Having long-lived well-warmed up daemons is one of the best performance improvements you can have. Our daemons on TeamCity often run hundreds or even thousands of builds before they shut down (usually because we upgrade to the next Gradle nightly).

I think you should do the following: Add an option to globally enable the daemon (which is false for backwards compatiblity, so users don't get surprised). If users activate this option, it is up to them to make sure their builds are behaving well.

This is what we intended to do.

TeamCity should not be stopping daemons, that would punish users with well-behaved builds

As I said in previous message, the problem is that badly behaving Gradle build can affect well behaving users. Moreover, what we don't like here is that users will come to us saying that there is a bug in TeamCity agent, as it can't remove some checkout directory, while the reason why it can't do that is some plugin which was left by a build of some previous team who used this agent.

As I said in previous message, the problem is that badly behaving Gradle build can affect well behaving users.

I understand that, but punishing well-behaved users by killing their daemons is not the right solution. If TeamCity starts killing our daemons, that would be a blocker for us.
A better solution might be integrating the file-leak-detector into every build and automatically tracking builds that leak files inside the checkout directory.

A better solution might be integrating the file-leak-detector into every build and automatically tracking builds that leak files inside the checkout directory.

Still, TeamCity need a reliable way to shutdown a Gradle Deamon that caused the file leak, even if it is properly reported to a responsible person or team. CI server can not allow resources to stay locked due to some team's broken build (imagine a server with tens of thousands of build configurations in thousands of teams, managed by it's own, separate team that has no access to actual sources)

@nskvortsov If you know which daemon caused the leak, you can send a kill signal to that process. As far as I know you already inject an init script into Gradle. You can use that init script to extract the PID of the current daemon and use that as an argument for kill


Pippo Metrics Parent

This is the parent of all metrics modules
I replaced the tabs for 4 spaces in the poms
Any advice/recommendation is welcome

Coverage remained the same at 13.731% when pulling 0c1cffa1616ab00b5583cc85e607fd3e9f6d4df0 on barrantesgerman:master into 40f1c2eb62e93b100246790b829d1266a527e9d7 on decebals:master.

:+1: Thanks!

What would you like to be the next parent?

Maybe pippo-template-parent.


stsc: single entry

some code like this seems to work fine:
inMp4, err := mp4.DecodeFile(src)
if err != nil {
   panic(err)
}
inMp4.Moov.Trak.Mdia.Minf.Stbl.Stco.ChunkOffset = []uint32{40}
inMp4.Moov.Trak.Mdia.Minf.Stbl.Stsc.Entries = []mp4.StscEntry{
   {
      FirstChunk  : 1,
      SamplesPerChunk : 14416,
   },
}
if err := inMp4.Encode(dst); err != nil {
   panic(err)
}

where the above basically dumps all the samples into a single chunk. the resulting file seems to be fine, I tested with FFmpeg, MPC-HC, and Firefox. maybe this is off topic, but I was just wondering if using a single chunk has some drawback. I checked the standard, and this is literally all it says:

Samples within the media data are grouped into chunks. Chunks can be of different sizes, and the samples within a chunk can have different sizes. This table can be used to find the chunk that contains a sample, its position, and the associated sample description.
The table is compactly coded. Each entry gives the index of the first chunk of a run of chunks with the same characteristics. By subtracting one entry here from the previous one, it is possible to compute how many chunks are in this run. This can be converted to a sample count by multiplying by the appropriate samples-per-chunk.
samples_per_chunk is an integer that gives the number of samples in each of these chunks

Yeah, if you have a file with a single media, you should be able to make a big chunk instead of having a lot of consecutive small chunks. As you have done, you need to adjust the offset of that single chunk. All the other values like sample sizes, and durations are not influenced.
The only reason to have multiple chunks is for interleaving audio and video so that you can have a progressively playable file where you can start playing after you have received, e.g. 1s of audio and video.
If you only have video, the file is progressively playable anyway provided that the moov box is at the start.
Nice that you found a good solution.

I am still thinkginghttps://github.com/Eyevinn/mp4ff/issues/311

I am still thinking of different options. I had an idea this morning, that maybe the simplest option is to actually leave the file fragmented, but just combine all the fragments into one big fragment. that would having to code stsz, stco and stsc, which are essentially unused in fragmented files. I just thought of the idea though, so I need to see if its a good option

closing this, as it seems with a fragmented file, you can just leave the file fragmented, and have one big fragment, which should involve less code than converting a file to progressive


chore: don't create docker cache on PRs

ci.yml doesn't currently run on main, so we might want to either do that or explicitly add the Docker caching to writecache.yml


Any command line arguments supported?

No, there aren't. What would be the use case?

Start minimized with e.g. Windows Autoruns with a specific color and maybe brightness. ^^
MSIRGB.exe #ffffff b50

You can already do this with a script. As for brightness, it's not supported by the hardware as far as I know.

You can of course change brightness by changing colors down. F->8
On my motherboard (b350m mortar) red channel works very smooth, but blue always stays at 100%

Can anyone share a script with one color only and no fade please?

Give me 10minuts, i have it on pc

Can anyone share a script with one color only and no fade please?
Here you go
Solid Green.zip


Best option to support modern browser

Hi,
which are the best options to support modern browser and mobile?
MP4 should be enough?
And which param?
Thank you!

Please consult http://www.html5rocks.com/en/tutorials/video/basics for your decision

Thanks!


KAFKA-16764: New consumer should throw InvalidTopicException on poll when invalid topic in metadata

Add ErrorPropagateMetadataUpdater

Just proxy but propagates error though BackgroundEventHandler

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Hey @appchemist , thanks a lot for taking this one! I left some comments, mainly concerns about the approach, this is definitely a tricky bit. Thanks!

Hi @lianetm
Thanks for review!

hey @appchemist - let us know if this is ready for review. thanks!

@philipnee I got it. Thank you!

@lianetm & @philipnee PTAL
testSubscriptionOnInvalidTopic is still disabled for new consumer.
I couldn't make the changes because MockMetadataUpdater is being used internally instead of MetadataUpdater.
So I only added unittest.

@lianetm & @philipnee If you have a moment, Please take a look

Hey @appchemist, thanks for the updates! sorry I'm caught up in other tasks but we discussed offline and @philipnee will follow-up here to help with reviews on this one. Thanks!

@lianetm I got it, Thank you!
@kirktrue Right! I think what you said is simple and more intuitive.

kindly ping @philipnee

To summarize, the locations where Metadata Errors can be handled, it seems like three main options exist:

ConsumerNetworkThread
NetworkClientDelegate
KafkaClient

I think we all agree that the location is too deep and low-level for handling Metadata Errors.

When handled by NetworkClientDelegate
For legacy Consumers, ConsumerNetworkClient.poll is propagating the error.
For new Consumers, NetworkClientDelegate appears to provide high-level access to KafkaClient, like ConsumerNetworkClient.
From this perspective, handling Metadata Errors in NetworkClientDelegate.poll can be considered analogous to the approach in the legacy Consumer.
Since both legacy and new Consumers handle error at the same level, this is considered an expected location.
I think that's what the people who commented about handling it here were focusing on.
What do you think? @philipnee
When handled by ConsumerNetworkThread
Handling in NetworkClientDelegate.poll is called inside ConsumerNetworkThread.runOnce, which hides the intention of error propagation.
Also, it adds the responsibility of propagating metadata errors to the existing responsibility of interfacing with the NetworkClient.
But ConsumerNetworkThread.runOnce is explicitly defines and runs a background thread task.
So There is an opinion that create Metadata Error Manager in ConsumerNetworkThread level.
What do you think? @lianetm & @kirktrue
My Opinion
My suggestion would be to add a RequestManager for Metadata Error in ConsumerNetworkThread level.
This is because the NetworkClientDelegate focused solely on interfacing with the network client and handling errors within ConsumerNetworkThread.
Please let me know if I've misunderstood anything

@philipnee if you have a moment, please take a look

Hey all, I still have concerns with this approach of a manager just to propagate the metadata errors. Not only that it still feels a bit like an overkill, but I'm worried it brings a fundamental timing difference with the legacy consumer.
For both consumers, metadata errors are identified (saved to be propagated) on the NetworkClient when a metadata response is received (here). Then:

the legacy code throws metadata errors on the same poll iteration that discovered the error (detect error here, throw it right after in the same poll (here))
new code (with the current PR approach), would throw the metadata error on the next poll after the one that detected it (just because the ConsumerNetworkThread polls the managers before polling the network client, see here).

Is there a concern with the alternative simple approach suggested above? Feels simpler and keeps to the semantics of the legacy client, ensuring that the same network layer poll that detects a metadata error will propagate it. Thoughts?

@lianetm Thanks for review!
I agree that the Manager approach is a bit like an overkill.
For issues that have different timing to legacy consumers, I think about it like this
At the code level view
For the Legacy consumer, the code order is to call Metadata.maybeThrowAnyException() roughly after KafkaClient.poll().
For the Manager approach, the code order is to call KafkaClient.poll() roughly after Metadata.maybeThrowAnyException().
So they look semantically different.
However, when viewed at the ConsumerNetworkThread level, this is roughly how it works
// in ConsumerNetworkThread.run()
while (running) {
    // Omit some
    Metadata.maybeThrowAnyException();
    KafkaClient.poll();
}

If we only look at the calls to KafkaClient.poll() and Metadata.maybeThrowAnyException(), which is what we're interested in, it looks like this
Metadata.maybeThrowAnyException() -> KafkaClient.poll() -> Metadata.maybeThrowAnyException() -> ...
Therefore, I think there is no significant time difference physically, but I think it's bad for code readability
Please let me know if I've misunderstood anything

Oh I totally understand you now with that other PR and the feedback there. I see @philipnee initially suggested the managers approach but I believe we've come to the point after the discussion and changes on this PR where that approach looks like an overkill and it introduces a difference in behaviour with the legacy logic (comments above). If you agree @philipnee let's maybe close this PR and move back to the simpler approach of https://github.com/apache/kafka/pull/16043.
@appchemist I'll start reviewing https://github.com/apache/kafka/pull/16043 right away just to gain time, we are running against the clock to make sure this makes it into the 3.8 cut next week. Sorry for the confusion, but seems like we're heading in the right direction now with the other PR and a better understanding of the drawbacks of the managers approach, good progress! Thanks!

Hey @kirktrue , before continuing reviewing this PR, we had some concerns about the approach, and were considering a simpler alternative, see comment above. Let us know what you think. Thanks!

@lianetm No problem, I enjoyed the discussion.
@kirktrue Thanks for review.

@appchemist - was away for a few days so sorry for not responding.  there are two points to address before moving the pr forward

we definitely don't need to implement the request manager, apologize for not clarifying the comment. i meant to suggest wrapping metadata and a background queue in an object so that we can propagate the error after polling for the network client.
we need an integration test for invalid topic exception.

what's your opinion on the approach @lianetm  suggested?

I think that the approach from #16043 is more in line with the approach I imagined.

hey @appchemist - thanks for putting time into the pr.  i assume #16043 is the pr you want us to review, no? it would be easier to just have a single opened pr and iterate on that in the future. do you want to close this if this pr is irrelevant now?

@philipnee right, I got it


Feature Request: Save selection as markdown

Feature Requested
Hi
Thanks for the plugin, great option to save the page as markdown. It would be really nice if it was possible to save the selection as markdown like the MarkDownload chrome extension can.
thanks
Relevant Screenshot
No response
Checklist

[X] The feature would be useful to more users than just me.

Supported in latest version


Line breaks are not preserved in Notes

Whenever there are line breaks in Kindle notes, they are not preserved when those notes are synced to Obsidian. For example, in the following screenshot from https://read.amazon.com/notebook --

I have a line break between two paragraphs. The corresponding HTML code also has two
 tags:

  Story about firefighters in Montana. They had jumped off a plane into a burning forest to try and contain the fire. But they quickly found out that they couldn't handle it and will have to run to safety. One of the firefighters started another fire to clear away the fuel in front of him, and lay down on the ground.

  The fire reached him, bntouldn't burn him because the ground around him provided no fuel to fire. He survived. 12 others didn't.

However, when this note is synced to Obsidian, it loses the line breaks (the screenshot is from Edit mode):

I also looked at the code used to parse the notes, but couldn't find anything wrong with it at first glance:
https://github.com/hadynz/obsidian-kindle-plugin/blob/5ad275fa8d14bcacf0cdc2347b3a549a11e15356/src/scraper/scrapeBookHighlights.ts#L57
Take a look into this please? It is mildly annoying!

Thanks for raising this issue @rajatarora. It is quite a significant find as preserving line breaks is an important requirement that helps a user understand context of their highlights.

I also looked at the code used to parse the notes, but couldn't find anything wrong with it at first glance:
The plugin uses cheerio for parsing HTML. The cheerio.text() method strips out all HTML. This includes any break lines meaning that we lose the ability of knowing when break lines used to exist. I would have to come up with a solution that does not use cheerio.text as it doesn't support this functionality.

I've looked into this briefly, and ran into a couple of interesting things.

Not a single book highlight in my library are showing any break lines in Amazon's notebook.
I haven't been able to recreate your scenario manually!

For a random book, I highlighted something that spans paragraphs. I did this on the Mac Kindle app:

After syncing my highlights to the cloud, the very same highlight came through Amazon's notebook stripped of any break lines.

@rajatarora would be interested to know what versions of Kindle do you use for highlighting. Also, do you have many highlights that are missing break lines, or did you simply run into the one exception?
I would prefer if I can find a way to recreate the problem in order to make a fix and test it with confidence. So keen to understand how to recreate one of your examples.

@hadynz In my example, it's not a highlight but a note! Here's what I did to reproduce the issue just now:

Opened my book on https://read.amazon.com

Selected some text and clicked on "Note" on the popout menu:

Wrote the note with line breaks:

It showed up with line breaks intact on https://read.amazon.com/notebook

The resulting HTML looks like this:

  This is a note on a Kindle highlight. I use this functionality to jot down my own thoughts on a particular passage in the book.

  Let's save this note and check if the line breaks are preserved in Kindle Notebook or not!

And that's the note synced to Obsidian:

I was also curious about the scenario you mentioned and I was able to reproduce it too -- a multi-paragraph "highlight" (as opposed to a "note") gets stripped off of its line breaks in the Kindle notebook itself! To tell you the truth, I don't usually highlight large passages in my Kindle books so I did not encounter this particular scenario. This is certainly an issue for Amazon to fix.
And yes, all of my notes with line breaks are missing them when synced to Obsidian.
I use Kindle on quite a few devices:

Linux desktop: Kindle Cloud Reader on Firefox 89
Macbook Pro: Kindle Mac App v 1.31.0
iPad Pro: Kindle for iPad App v6..43
Kindle Voyage: Firmware version 5.13.6<PHONE_NUMBER>)

I hope this information will help you reproduce the issue at your end. If not, I'll be happy to answer more questions :smile:

Ahhh. Gotcha. You've mentioned this is about notes in the issue title and I still completely missed it.
Cool, thanks for your reply. I should be able to replicate this easily and fix.

This has been fixed in 0.2.18. Please give it a try and let me know if it worked for your highlights.

I used 0.2.18 to re-sync my books to Obsidian. Line breaks are showing up properly now! Thank you :)


Adding TextEncoder encode/decode tests for UTF-8 & 16.

Issues:
https://github.com/dotnet/corefxlab/issues/1512
https://github.com/dotnet/corefxlab/issues/1513
https://github.com/dotnet/corefxlab/issues/1514
cc @shiftylogic, @KrzysztofCwalina

@shiftylogic, @KrzysztofCwalina PTAL

Is this PR good to go?

@KrzysztofCwalina, can you approve this PR please?

Shall I merge this as is?

Ty @shiftylogic. @KrzysztofCwalina, any comments?


Support multiple view types

My apologies if this is already a feature .. I couldn't find it documented anywhere.
It'd be really handy if Slim could support multiple view types in the same application.  My particular use case is:
I want user-facing views to be rendered as Twig templates, since it makes sense to use a specialised HTML-rendering template engine for that.  However, I also generate files from data passed to the system (in my case a particular type of tab-delimited file), but could equally be CSV, XLS, PDF, ... whatever
I can do this by simply spitting out stuff that I want, but it'd be really nice to be able to have a 'view' so that the template file in question could be edited by people who are experts in genomics, but perhaps not in web development
Thanks :+1:

It is really easy to implement in your end. Just remove the extension yourself and make it a variable available for your controller.
        // Ignore file extension (.html, .json etc).
        $this->app->add(function (Request $request, Response $response, callable $next) {
            $uri = $request->getUri();
            $path = $uri->getPath();
            $cleanPath = preg_replace('`([^/])(\.\w+)$`i', '\1', $path);
            if ($path !== $cleanPath) {
                $uri = $uri->withPath($cleanPath);

                // Then make the extension available somehow...

                return $next($request->withUri($uri), $response);
            }

            return $next($request, $response);
        });

In above example, I'm dealing with the file extension elsewhere, so it's not there.

I'm closing this as there has been no activity for a while. If there is any more info to add, please do and it can be re-opened.


fix(barchartcard): use label in simple, time-series

Closes #1312
Summary

Dataset series labels weren't being displayed so this PR checks to see if there is a label and uses it if true

Change List (commits, features, bugs, etc)

Added conditional check for the series[i].label
Added label to existing test

Acceptance Test (how to verify the PR)

Go to https://deploy-preview-1313--carbon-addons-iot-react.netlify.app/?path=/story/watson-iot-barchartcard--simple-bar-time-series of netlify preview and see that the label now says `Particles' instead of 'particles'

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Notes on implementation; scoping compared to draft conformance rules and ugrid-checks

Comments in code (no changes)
Scope
I believe there are only a few checks which cc-plugin-ugrid conducts which ugrid-checks does not.
-- And, as it happens, I think I disagreed with all those cases personally.  E.G. checking numbers of coordinates against topology dimension, which I think is too narrow as I already explained in this comment in a ugrid conventions discussion
Summary of Problems noted

both here and here, subsidiary test routines are called, but in both cases, if they fail, they make no stateful change but only return a Result object -- which the caller discards instead of incorporating into its own Result object.
I assume the intention here was to add them to a subsidiary Result list.
this message and this one need to be generalised to refer to either faces or nodes
this lines seem to have the possibility of crashing the checker code, if there is an attribute referring to a non-existent variable (but N.B. I haven't checked this yet)

and the following line might also prove unsafe, if a referred connectivity variable doesn't have exactly 2 dimensions ?

this check seems to rule out the use of quadrilateral faces (or flexible meshes) altogether ??
code here and here I don't understand at all.  It seems to hardwire dimension names, which is surely wrong ??
This also crashes, instead of producing an error result (which tends to get ignored)

@pp-mo I'd like to deprecate this one in lieu for ugrid-checks, but I'd like to see if we can make ugrid-checks work as a compliance-checker plugin first. Probably not an easy feat...

@ocefpaf see if we can make ugrid-checks work as a compliance-checker plugin

Thanks for the plug !
I did look into wrapping ugrid-checks within the ioos framework before, but only as a preliminary investigation.
It was discussed in https://github.com/ioos/ioos-code-sprint/issues/6
My own ideas notes here : https://github.com/pp-mo/ugrid-checks/issues/44
Meanwhile a draft (partial) code interfacing approach is visible here.
I would note that, when I discussed with another person (? @MathewBiddle or someone else ?) in context of the existing code, it seemed that the existing implementation was a more structured validation approach than the ugrid-checks code, which is arguably a bit ad-hoc in it's approach (it was written under some time constraint).  I think you can see that in the ioos-interfacing draft code outlined above .
I think it's also worth saying that, like the UGRID spec itself, the ugrid-checks code has been pretty much static for some years + gets very little attention, or at least little feedback.
Which is not to say that it doesn't provide some value, and is still functional.
So it does need careful consideration whether somewhat ugrid-checks code, and the above interfacing approach is generally good enough to adopt here -- I will appreciate comment on that from others !

I did look into wrapping ugrid-checks within the ioos framework before, but only as a preliminary investigation. It was discussed in ioos/ioos-code-sprint#6 My own ideas notes here : pp-mo/ugrid-checks#44 Meanwhile a draft (partial) code interfacing approach is visible here.

Thanks! My mind on this is shifting a bit. While It would be awesome to have ugrid-checks available as a compliance-checker plugin. I wonder how many times we actually check model outputs for compliance? there are  hand full of models out there and they are either already compliant, or checked once and patched for compliance. The scenario is quire different from observed data that requires checker for each new platform/instrument deployed.

I would note that, when I discussed with another person (? @MathewBiddle or someone else ?) in context of the existing code, it seemed that the existing implementation was a more structured validation approach than the ugrid-checks code, which is arguably a bit ad-hoc in it's approach (it was written under some time constraint). I think you can see that in the ioos-interfacing draft code outlined above .

Indeed.

I think it's also worth saying that, like the UGRID spec itself, the ugrid-checks code has been pretty much static for some years + gets very little attention, or at least little feedback. Which is not to say that it doesn't provide some value, and is still functional.

Agreed.

So it does need careful consideration whether the somewhat hacky ugrid-checks code, and the above interfacing approach is generally good enough to adopt here -- I will appreciate comment on that from others !

TL;DR we will keep this plugin for legacy purposes, but I'm more inclined into recommend the very few people doing ugrid stuff to just use ugrid-checks.
Thanks for all the help and consideration @pp-mo! (And sorry for the long delay on getting back you on this.)


Fixed #108: Add Log-in system to allow only the author delete his/her post

What is the change?
Users now can sign up and log in to compose or delete a post. Only, authorized user( Author of the post ) can delete his/her post. The developers now have to add a "SECRET_KEY" in the .env file.
Related issue?
issue: #108
How was it tested?
Using PostMan and by manually testing
Checklist:
Before you create this PR, confirm all the requirements listed below by checking the checkboxes [x]:

[x] Have you followed the Contribution Guidelines while contributing.
[x] Have you checked there aren't other open Pull Requests for the same update/change?
[] Have you made corresponding changes to the documentation?
[x] Your submission doesn't break any existing feature.
[x] Have you tested the code before submission?

Screenshots or Video:
NA

Can you change base branch to develop ?

Also let me know should I use a random secret key or any recommendations for a good key. Let me know on discord.

I want to suggest something, always follow best practices for commit messages..
Fix merge conflicts
Resolve merge conflicts

there are two commits for solving merge conflicts
Also be specific with your commit messages, this message is incorrect Fix some bugs. And there are 9 commits in the PR and a few are redundant like.
I'll review the PR this time but take care of this next time.


Getting BLEU Score Higher than Expected

Dear T2T Team,
I was trying to reproduce the result by following the walkthrough. After 1d18h of training, I managed to obtain a BLEU score that's higher than what's reported from the "Attention is All You Need" paper:

The reported approx. BLEU score from my log is around 33.79. Is that expected? It seems that this score is much higher than what's reported in the official paper.
Thanks!

The BLEU score on TensorBoard is computed with our tokenization, while most papers (including ours) report BLEU scores that use the MOSES tokenizer. There's a get_en_de_bleu script in utils that might help you get those results, they're usually a fair bit lower than the approximate BLEU.

That makes sense; thanks!


Automation options for on prem data gateway

Currently, the documentation to configure on prem data gateway for Azure Analysis services does not talk about automation options to install the gateway software via service principals.
If there is no automation possible and if it has to configured manually, would be better to call it out that no automation is possible at this time. And if there are automation options available, would be even better to link to it.

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

ID: 2b6e437d-7325-8f97-7d23-27f82cb1113b
Version Independent ID: 02e16c34-93d2-fe96-c724-33b2b62f0393
Content: On-premises data gateway for Azure Analysis Services
Content Source: articles/analysis-services/analysis-services-gateway.md
Service: azure-analysis-services
GitHub Login: @Minewiskan
Microsoft Alias: owend

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

Hi @haripraghash
Please go through this below link for your reference.
https://learn.microsoft.com/en-us/azure/analysis-services/analysis-services-gateway-install?tabs=azure-portal
https://azure.microsoft.com/en-gb/blog/automation-of-azure-analysis-services-with-service-principals-and-powershell/

@Naveenommi-MSFT Thanks for sharing those links
The first link refers to how to install the gateway for AAS manually via clicking.
The second link refers to how process + refresh models using service principals. This yes I understand automation exists to refresh and process models.
The question here is to understand , if there is a way to automate the installation of the gateway using service principals. My goal is to achieve what the first link refers to but via automation + SPN, not manually via clicking. If the only way to install it is manually via clicking, then would be useful to call it out in the docs that no automation options exist to install gateway via powershell or SPN.

@haripraghash
I've delegated this to content author @Minewiskan, who will review it and offer his insightful opinions.

@haripraghash - Unfortunately, no. For Azure AS and Logic Apps, it would actually require both install and registration. Neither of which supports automation via SP. I added a line item to the Important considerations section to that effect.
#please-close

@haripraghash - Unfortunately, no. For Azure AS and Logic Apps, it would actually require both install and registration. Neither of which supports automation via SP. I added a line item to the Important considerations section to that effect. #please-close

Thank you!


Memory Leak in vectorStores.fileBatches.uploadAndPoll

Confirm this is a Node library issue and not an underlying OpenAI API issue

[X] This is an issue with the Node library

Describe the bug
I use S3 Bucket to getObject as stream and then upload it to a vector store using vectorStores.fileBatches.uploadAndPoll, the memory usage is supposed to increase during the upload process and return to its baseline after finishing but it doesn't, I uploaded a 22mb file and memory usage went from 300mb to 360mb and never returned to baseline
Note - 1: the upload process is part of POST request in Express.js, and memory usage remained high even after returning the json response
Note - 2 I tried saving the file to disk using "fs", it consumed memory and returned back to baseline, so I think the bug is in OpenAI SDK
To Reproduce

this is the ExpressJS request handler, and req.params.id is the the file key saved in s3 bucket
the file is uploaded successfully to OpenAI

import OpenAI, { toFile } from "openai";
import { S3Client, GetObjectCommand } from "@aws-sdk/client-s3";
import "dotenv/config";

export async function post(req:Request , res: Response, next: NextFunction){
    try {

        let client = new S3Client({
            forcePathStyle: true,
            credentials: {
                accessKeyId: process.env.S3_ACCESS_KEY_ID!,
                secretAccessKey: process.env.S3_SECRET_ACCESS_KEY!,
            },
            endpoint: process.env.S3_ENDPOINT!,
            region: "us-east-1"
        })

        const params = {
            Bucket: "first-bucket",
            Key: req.params.id,
        }

        const command = new GetObjectCommand( params );
        const response = await client.send( command );

        const openai = new OpenAI({
            apiKey: process.env['OPENAI_API_KEY'],
        });

        await openai.beta.vectorStores.fileBatches.uploadAndPoll(<insert vector store ID here>, { files: [await toFile(response.Body!, req.params.id)]})

        return res.json({success: true})
    } catch(error){
        next(error)
    }
}

import { post } from "./controller/files"
router.get("/:id", post)

Code snippets
No response
OS
Windows 11
Node version
v19.8.1
Library version
4.56.0

Thanks for the report, could you try again with the latest SDK version? We recently fixed a separate bug with file uploads so this might've been fixed as well

Thanks, we'll investigate


fix unifi logo + seo fix

hi folks, we have a unifi logo available in the pulumi-hugo repo, so if you drop this mascot url it will get picked up and used automatically in the registry.
this also includes an seo fix for the install+config docs page
after yall merge this, it requires a new release for the registry to know about it.

@susanev something I overlooked myself. For TF bridged providers, we must remove the LogoURL setting in providers/resources.go. The schema.json is generated from it, which means that if we don't remove it at the source, the logoUrl will reappear whenever the provider is rebuilt.


Rewrite spm-manifest-tool using swift-argument-parser and the updated SPMPackageEditor

This builds on https://github.com/apple/swift-package-manager/pull/3034, so only the second commit is new. In addition to rewriting the command line tool to use ArgumentParser, I made a few minor API updates to SPMPackageEditor. The changes to main.swift include a few small utilities copied over from the Commands target so they wouldn't need to be marked public.

@swift-ci please smoke test

Merging this into https://github.com/apple/swift-package-manager/pull/3034 to consolidate changes


add an option to track raw pointer tags in Stacked Borrows

Also make error messages more informative by printing the affected memory location

Argh, this fails on Windows because there are integer-pointer casts in the runtime there... is there a way with compiletest to pass a compile-flag only on linux? Otherwise we might just have to disable these tests on Windows (they do not test anything platform-specific so that seems okay).

is there a way with compiletest to pass a compile-flag only on linux?

no, all you can do is use revisions, not sure if we can do // [some_revision] only-linux

I doubt the old compiletest in the stand-alone crate supports revisions...

@bors r+

:pushpin: Commit bf54607ba03cf12a015e7027be6d5ffdf08cc3ca has been approved by oli-obk

:hourglass: Testing commit bf54607ba03cf12a015e7027be6d5ffdf08cc3ca with merge 83f7657ed06ea38eaeb6c8e83d83430f49827559...


README improvements

See commits.

Thanks for the PR. In order to merge this, we require that you meet the DCO requirements specified here: https://github.com/apps/dco.
Are you able to update your PR to meet these requirements? Thanks.


onTrackReady event disappeared?

Hi guys,
I've implemented the first toneden player about many months ago and now got a hint, that Chrome isn't playing music anymore.
So I've upgraded (* see below) to the latest version of toneden player and recognized, that this code isn't working anymore:
player = ToneDen.player.create({
            dom: "#playerdivX",
            skin: "dark",
            tracksPerArtist: 50,
            mini: true,
            onTrackReady: function(){
                console.log("track ready");
                $( "#player" ).animate({ "bottom": "0" }, 1000 );
            },
            urls: [
                "my.urls..."
            ]
        });

That means, "onTrackReady" event isn't triggered actually - there is no log to console and no animation anymore. That was possible with the "old" version.
Will this be fixed, or is the event renamed? Unfortunately the docs about that is still missing :(
(*):
I'm not using the "online" toneden player, I downloaded the sources (loader and toneden.js) and using it on my own webspace. For two reasons:
1st: Faster loading - no 2nd dns query
2nd: I can modify the files, because in the latest toneden.js version is a bug
"td-player;src:url('//sd.toneden.io/resources/fonts/td-player.woff%27)%20format(%27woff') "
Dunno why you're using that wrong URI - sd.toneden.io/resources/fonts/td-player.woff')%20format(%27woff')  always throws errors in all of my browsers... changed it to
"td-player;src:url('//sd.toneden.io/resources/fonts/td-player.woff') "
works like a charm...

Note: I'm closing every issue on this repo with this message.
I apologize for not being in contact earlier. We recently received notice from SoundCloud that they're shutting down their external streaming API for business reasons that I won't speculate about.
Every user of a custom SoundCloud player, ours included, will need to switch to their embedded player in order to stream songs from SoundCloud.
It's disappointing that we have to be the ones to break this news to developers, and I'm sorry for the inconvenience it's caused the users of our player. I'll leave this repo up and add this message to the top of the README so that others become aware of the situation.


Volume attachment not cleared before worker delete

How to categorize this issue?
Our Gardener Cluster running on OpenStack runs in reconciliation issues because it is not detaching volumes from shoot workers.
/area storage
/topology shoot
/kind bug
What happened:
When an instance in a shoot is deleted, the volume detachment is not finalized before deletion of the shoot worker node. Thus, in some cases, the volume will still be counted as attached and the shoot cluster is thus running into reconciliation errors.
What you expected to happen:
An  instance will only ever be deleted after all cinder volumes are functionally detached from the Instance.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Gardener version: 1.76.3
Kubernetes version (use kubectl version): 1.24.5
Cloud provider or hardware configuration: OpenStack

Potentially this could be an issue for https://github.com/gardener/gardener-extension-provider-openstack. But can you actually go into more detail (or potentially a step-by-step description) of what is happening ? I find the description somewhat too terse.
On instance (by instance I assume an OS server/node), the MCM should try to drain the node before attempting to delete it. That should take care of moving most workloads out of the node, including moving the volumes after their pods have been scheduled elsewhere. Did you see issues during this process ?
Were the volumeattachments not being deleted, or maybe where there issues with CSI preventing the detach ?

I am sorry, i cannot provide more context, as this ticket is already me describing a blackbox ;)
Given that the mechanism you described should take care of detaching/migrating all existing resources attached to and scheduled on that node I think this problem might be more on openstack side than on gardener side...
This is something that usually happens during and after Openstack upgrades.


[Mac] Display Above Full Screen Apps

Thanks for this project! It's a good combination of other solutions I've used that don't quite fit the use case I'm looking for.
One thing I've noticed is that if I'm working in a full screen app, say Firefox, and hit 'Control + E', my focus gets taken to the Desktop space with Geniemoji opened up. Is there a way for Geniemoji to be a modal window on top of full screen apps?

I'll try to implement this in the next week. Btw, you are on MacOS, right?

I have implemented this in v4.0.0, you can download it from the website here 👍

Yep, can confirm this works great now!


Fix installing from pip by adding setup requirements.

As can be seen here, procgen requires gym3 during build.
Now you might think that's no problem since gym3 is in the dependencies, but these dependencies are actually installed after the build.
When moving the gym3 requirement into the setup_requires dependencies, this change allows people to directly install procgen using e.g. pip like so: pip install "procgen @ git+https://github.com/JacobPfau/procgenAISC.git", without needing to manually install gym3 before or something like that.

@langosco This could be potentially helpful for people using procgen in their requirements.


tar/export: use full path as link target

This switches hardlinks to use full paths as link targets. Otherwise
a plain tar unpacking may get really confused by the leading ../
(and may actually decide to strip it as a security concern).

Otherwise a plain tar unpacking may get really confused by the leading ../

Hmm, did that actually happen or is this theoretical?

What I saw with my tar is:
$ sudo tar -C unpacked -xavf v1.tar

./
sysroot
sysroot/ostree
sysroot/ostree/repo
sysroot/ostree/repo/objects
sysroot/ostree/repo/objects/00
[...]
sysroot/ostree/repo/objects/ca/096c7aae91c7393aa40f7e89ecca133f16f9f33390cbfeacc940838a3ed414.commit
sysroot/ostree/repo/objects/79/4f9b8b314d4d57193fca37dab9149b075b598dadb39d33f77d6a815fca584c.dirmeta
sysroot/ostree/repo/objects/53/9ad764c335cc8a86229f88d762e99a619e5d922bec28c216d36b4ebcda201e.dirtree
sysroot/ostree/repo/objects/e3/b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.file-xattrs
tar: Removing leading `../' from hard link targets
sysroot/ostree/repo/objects/79/46dbb4f07c2b7daf4178df2fba1b951edf6256dba162ddb8b6c28111e319de.file-xattrs-link
tar: sysroot/ostree/repo/objects/79/46dbb4f07c2b7daf4178df2fba1b951edf6256dba162ddb8b6c28111e319de.file-xattrs-link: Cannot hard link to ‘e3/b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.file-xattrs’: No such file or directory

This is on:
$ tar --version
tar (GNU tar) 1.34


Name resolution between containers

Any plans to support this? In docker-compose I can communicate between containers using the container name, but seems only localhost is supported for container groups. Given how similar compose and container instances are, I typically test a scenario locally using compose before deploying to a container group. Would be nice to minimize the differences (where it makes sense) to avoid having separate configurations for nearly identical environments.

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

ID: ff247151-29f6-4a55-61b2-e5eae2d48927
Version Independent ID: 159517fe-202c-967d-f572-49c4f6988c46
Content: Introduction to container groups - Azure Container Instances
Content Source: articles/container-instances/container-instances-container-groups.md
Service: container-instances
GitHub Login: @dlepow
Microsoft Alias: danlep

@turing-complet
Thanks for the feedback! We are currently investigating and will get back on this.

@turing-complet like you said, only localhost works in ACI.
The DNS label which we set in ACI is for the container group.
Lets say you have a app server listening on 80 and DB on 3306.
When we move them to the container instance, we can set a dns label for the app server and open port 80.
For the app to connect with the DB, you need to use localhost as the hostname and port as 3306. You dont need to open 3306 in ACI unless you want to access the DB outside of the ACI.
ACI is not similar to Docker compose.
Since this workaround didnt satisfy your ask, you can open a feedback here. Community can vote on that feedback.

@turing-complet I am closing this issue now. You can submit a feedback as mentioned in the previous comment.
Also open a new issue if you need further clarifications