fix: type cast when exists external package

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[x] N
[ ] Y

fix: type cast when exists external package

2. What is the scope of this PR (e.g. component or file name):

kclvm/evaluator/src/ty.rs
kclvm/runtime/src/value/val_type.rs

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 5 (0.0%)  changed or added relevant lines in 2 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.002%) to 71.142%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

kclvm/evaluator/src/ty.rs
0
1
0.0%

kclvm/runtime/src/value/val_type.rs
0
4
0.0%

Files with Coverage Reduction
New Missed Lines
%

kclvm/runtime/src/value/val_type.rs
1
60.71%

Totals

Change from base Build<PHONE_NUMBER>:
-0.002%

Covered Lines:
52981

Relevant Lines:
74472

💛  - Coveralls


using json objects in SASS

Just wondering if there's an example of how this works with json objects as maps / array?
ie how do you call variable from this in the SASS files?
Thanks.
{
  "colors": {
    "primary": "#2c97de",
    "secondary": "#7F8FA4",
    "warning": "#f2c500",
    "success": "#1fce6d",
    "danger": "#e94b35",
    "error": "#e94b35"
  }
}

Tried this...
// json vars attempt
@import "../vars.json";
@debug map.get($colors, "primary");

error
% yarn build
yarn run v1.17.3
$ webpack --progress --config resources/assets/build/webpack.config.js
{
  colors: {
    primary: '#2c97de',
    secondary: '#7F8FA4',
    warning: '#f2c500',
    success: '#1fce6d',
    danger: '#e94b35',
    error: '#e94b35'
  }
}
Error: Failed because of a stylelint error.

 at /Users/danielcrabbe/Sites/foundlocations.co.uk/wp-content/themes/found-theme-sage-test/node_modules/stylelint-webpack-plugin/lib/run-compilation.js:39:14
error Command failed with exit code 1.

thanks, D.

@v3nt Looks correct to me. Is it possible the error is occurring somewhere else? It's a rather opaque error message

@v3nt I've been doing this myself (see #101) with gulp and it's working. Maybe it's something to do with your linter or webpack?


Modified to use Git with PAT

What this PR does / why we need it: Modified to use Personal Access Token since currently only SSH can control the Git repository.
Which issue(s) this PR fixes:
Fixes #4106
Does this PR introduce a user-facing change?: Yes

How are users affected by this change: Be able to use Personal Access Token setting like this:

apiVersion: pipecd.dev/v1beta1
kind: Piped
spec:
  git:
     personalAccessToken:
        userName: <user-name>
        userToken: <user-token>

Is this breaking change: No
How to migrate (if breaking change):

Local behavior testing has not yet been completed...

+1 for this feature

Sorry for the delay.
I have fixed the points you reviewed.

Sorry, I just checked at hand and the test was down, so please hold on a moment for a review.

I had a lint error in Github Actions, so I tried again in my local enviroment, but it appears that some of these are outside the scope of this PR, how should I handle this?
pkg/config/application.go:255:2: ST1003: struct field Id should be ID (stylecheck)
        Id      string          `json:"id"`
        ^
pkg/config/application.go:443:2: ST1003: struct field Https should be HTTPS (stylecheck)
        Https            []TemplatableAnalysisHTTP    `json:"https"`
        ^
pkg/config/control_plane.go:55:2: ST1003: struct field Id should be ID (stylecheck)
        Id string `json:"id"`


load_model_and_alphabet_local model_name not defined

Hello,
Thank you for making these wonderful models available, and congratulations on the new publication.
The new update broke the code for loading local models.
Bug description
At load_model_and_alphabet_local, "model_name" is not defined.
Reproduction steps
model_dir = prepend_dir + './esm1b_t33_650M_UR50S.pt'
model, alphabet = esm.pretrained.load_model_and_alphabet_local(model_dir)
Logs
/usr/local/lib/python3.7/dist-packages/esm/pretrained.py in load_model_and_alphabet_local(model_location)
     55     """ Load from local path. The regression weights need to be co-located """
     56     model_data = torch.load(model_location, map_location='cpu')
---> 57     if _has_regression_weights(model_name):
     58         regression_location = model_location[:-3] + "-contact-regression.pt"
     59         regression_data = torch.load(regression_location, map_location='cpu')

NameError: name 'model_name' is not defined

Thanks @eric-tc-wong for reporting this oversight!

Hi Tom,
Thank you for fixing this so quickly. I am glad to be of help.
Best,
Eric
From: Tom Sercu @.>
Sent: Monday, July 12, 2021 9:35 PM
To: facebookresearch/esm @.>
Cc: eric-tc-wong @.>; Mention @.>
Subject: Re: [facebookresearch/esm] load_model_and_alphabet_local model_name not defined (#101)
Thanks @eric-tc-wonghttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Feric-tc-wong&data=04|01||76d7aaf73cc44c2dc6e408d9459e6008|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637617368779824346|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=YeZ4y%2BMch1U%2BldCNKRUNMAkL2l10n4XqqT5KBP7BHYA%3D&reserved=0 for reporting this oversight!

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ffacebookresearch%2Fesm%2Fissues%2F101%23issuecomment-878708550&data=04|01||76d7aaf73cc44c2dc6e408d9459e6008|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637617368779824346|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=mP65bN7of95ZtyG5uGyNAKeeTN6KtZ2UE6Uezn5Nnug%3D&reserved=0, or unsubscribehttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAUJE3H6QEWFCP6JOKZXPIO3TXOJ2ZANCNFSM5AHQLLRA&data=04|01||76d7aaf73cc44c2dc6e408d9459e6008|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637617368779834292|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=mrZoP3sqpt%2BqzJn%2F8hbk0QXuak4cXONe8b5YJcN2T68%3D&reserved=0.


2023/11/27 17:55:42 ERROR It is not possible to pass verification

I successfully used your library https://github.com/ugorsahin/ChatGPT_Automation on September 6, 2023. I had installed on my Windows 10 PC:

Google Chrome Version 116.0.5845.188 (Official Build) (64 bits)
Stable version 116.0.5845.96 of chromedriver.exe installed in C:\Program Files\Google\Chrome\Application
Selenium version 4.9.0

My Google Chrome version has been updated to 119.0.6045.160 (Official Build) (64 bits), and I've changed chromedriver.exe stable version to 119.0.6045.105 (even tried 119.0.6045.159).
I'm installing https://github.com/ugorsahin/TalkingHeads with 'pip install talkingheads', which forces the installation of Selenium version 4.15.2:

Installing collected packages: selenium, talkingheads
Attempting uninstall: selenium
Found existing installation: selenium 4.9.0
Uninstalling selenium-4.9.0:
Successfully uninstalled selenium-4.9.0
Successfully installed selenium-4.15.2 talkingheads-0.2.1

However, the Python instruction chathead = ChatGPTClient(username=username, password=password, driver_version=119, verbose=True) no longer works:

2023/11/27 17:55:16 WARNING The usage of username and password parameters are deprecated and will be removed in near feature.Please adjust your environment variables to pass username and password.
2023/11/27 17:55:16 INFO Verbose mode active
2023/11/27 17:55:16 INFO Loading undetected Chrome
2023/11/27 17:55:29 INFO patching driver executable C:\Users\Free_Max367\appdata\roaming\undetected_chromedriver\undetected_chromedriver.exe
2023/11/27 17:55:30 INFO Loaded Undetected chrome
2023/11/27 17:55:30 INFO Opening ChatGPT
2023/11/27 17:55:30 INFO Preload behaviour is not implemented, that may be normal if verification is not necessary
2023/11/27 17:55:31 INFO Verification button is not present or clickable
2023/11/27 17:55:32 INFO Clicked verification button
2023/11/27 17:55:33 INFO Clicked verification button
2023/11/27 17:55:34 INFO Clicked verification button
2023/11/27 17:55:35 INFO Clicked verification button
2023/11/27 17:55:36 INFO Clicked verification button
2023/11/27 17:55:37 INFO Clicked verification button
2023/11/27 17:55:39 INFO Clicked verification button
2023/11/27 17:55:40 INFO Clicked verification button
2023/11/27 17:55:41 INFO Clicked verification button
2023/11/27 17:55:42 ERROR It is not possible to pass verification
2023/11/27 17:55:42 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 1
2023/11/27 17:55:43 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 2
2023/11/27 17:55:44 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 3
2023/11/27 17:55:45 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 4
2023/11/27 17:55:46 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 5
2023/11/27 17:55:47 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 6
2023/11/27 17:55:48 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 7
2023/11/27 17:55:49 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 8
2023/11/27 17:55:50 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 9
2023/11/27 17:55:51 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 10
2023/11/27 17:55:52 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 11
2023/11/27 17:55:53 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 12
2023/11/27 17:55:54 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 13
2023/11/27 17:55:55 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 14
2023/11/27 17:55:56 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 15
2023/11/27 17:55:57 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 16
2023/11/27 17:55:58 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 17
2023/11/27 17:55:59 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 18
2023/11/27 17:56:00 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 19
2023/11/27 17:56:01 INFO Element //button[//div[text()="Log in"]] is not present, attempt: 20
Traceback (most recent call last):
File ~\AppData\Local\anaconda3\envs\report\lib\site-packages\spyder_kernels\py3compat.py:356 in compat_exec
exec(code, globals, locals)
File c:\users\Free_Max367\onedrive\projets\brand\2023\s2ts\whisper_python\data4_anomaly_detection\compte_rendu (1).py:196
chathead = ChatGPTClient(username = username,
File ~\AppData\Local\anaconda3\envs\report\lib\site-packages\talkingheads\model_library\chatgpt.py:47 in init
super().init(
File ~\AppData\Local\anaconda3\envs\report\lib\site-packages\talkingheads\model_library\base_browser.py:104 in init
self.login(username, password)
File ~\AppData\Local\anaconda3\envs\report\lib\site-packages\talkingheads\model_library\chatgpt.py:106 in login
login_button.click()
AttributeError: 'list' object has no attribute 'click'

Have you ever encountered this type of malfunction?
Could you advise me on the origin of the problem?
Thanks in advance.

Hi,
It seems that Cloudflare is blocking you because they believe you are a bot. This occurs when particular information of your browser or network connection is an identifier for their bot detection. Unfortunately, this repository does not aim to pass Cloudflare's advanced bot protection. From my previous experience, IP is an important marker for them to decide whether a connection is bot or not.
If you would like to find a solution, you can search the internet for the evading cloudflare's bot detection.

Thank you for this very prompt response @ugorsahin
And thank you for these two valuable tips to continue my development.

Hello @ugorsahin ,
After some research, I found the solution and would like to share it with you.
The issue is not related to my IP being detected as a bot by CloudFlare.
The problem stems from the Google Chrome update to version 119, which doesn't seem to be handled correctly by 'undetected-chromedriver'.
My modifications:

I installed version 116.0.5845.96 of 'chrome-for-testing' and its associated chromedriver.exe in a directory.
https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.96/win64/chrome-win64.zip https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.96/win64/chromedriver-win64.zip

In your 'base_browser.py' file, I added the argument browser_executable_path pointing to the executable of Chrome in version 116.0.5845.96.
       self.browser = uc.Chrome(           user_data_dir=user_data_dir,           driver_executable_path=driver_executable_path,           browser_executable_path= browser_executable_path,           options=options,           headless=headless,           version_main=detect_chrome_version(driver_version),           log_level=10,       )

In your 'ChatGPTClient' function, I added the argument driver_executable_path pointing to chromedriver.exe stable version 116.0.5845.96.
chathead = ChatGPTClient(username = username,                        password = password,                        driver_executable_path = driver_executable_path,                        driver_version = 116,                        verbose=True)

Here is the result of running the [CGC] command.

2023/11/28 23:04:42 WARNING The usage of username and password parameters are deprecated and will be removed in near feature.Please adjust your environment variables to pass username and password.
2023/11/28 23:04:42 INFO Verbose mode active
2023/11/28 23:04:42 INFO Loading undetected Chrome
2023/11/28 23:04:46 INFO Loaded Undetected chrome
2023/11/28 23:04:46 INFO Opening ChatGPT
2023/11/28 23:04:46 INFO Preload behaviour is not implemented, that may be normal if verification is not necessary
2023/11/28 23:04:47 INFO Element //button[//div[text()="Log in"]] has found
2023/11/28 23:04:47 INFO Clicked login button
2023/11/28 23:04:49 INFO Element username has found
2023/11/28 23:04:49 INFO Filled email box
2023/11/28 23:04:49 INFO Element //button[text()="Continue"] has found
2023/11/28 23:04:51 INFO Clicked continue button
2023/11/28 23:04:51 INFO Element password has found
2023/11/28 23:04:51 INFO Filled password box
2023/11/28 23:04:52 INFO Logged in
2023/11/28 23:04:57 INFO Info screen skipped
2023/11/28 23:04:57 INFO ChatGPT is ready to interact

The problem is now resolved.
I suggest adding the browser_executable_path argument to your 'ChatGPTClient' function so that users can choose the version of Google Chrome.
I wanted to conclude by thanking you for this outstanding development.

Hello @ugorsahin,
I wanted to know if you had seen my proposal and what you think about it: I suggest adding the browser_executable_path argument to your 'ChatGPTClient' function so that users can choose the version of Google Chrome.

Hey,
With the recent 0.3.0 version you can pass the parameters to uc.Chrome by using uc_params argument. I hope that solves your problem.


Outdated instructions for Connecting Power Automate to Defender for Cloud

The instructions & video for connecting Power Automate to Defender for Cloud Apps are outdated. They are based on using: portal.cloudappsecurity.com which can be confusing especially if tenants also have "Redirection to Microsoft 365 Defender" enabled.
Current Instructions are based on using - portal.cloudappsecurity.com:
"Click Settings, select Security extensions, and then click Add token in the API tokens tab."
The new location for this settings in: https://security.microsoft.com
"Click Settings, Click Cloud Apps, Click API tokens and then select Add token in the API tokens tab."
Ideally, both instructions and video would be updated or at least a note where the settings are depending on if you are in:
https://portal.cloudappsecurity.com
or
https://security.microsoft.com

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

ID: a541e506-e227-1fda-e6db-7e8441098753
Version Independent ID: c1d7febc-d327-85ce-a341-8552617b74d8
Content: Investigate alerts in Microsoft 365 Defender
Content Source: microsoft-365/security/defender/investigate-alerts.md
Service: microsoft-365-security
Sub-service: m365d
GitHub Login: @diannegali
Microsoft Alias: diannegali

@uniQuk Thank you for your feedback. We have made changes to the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/12888
Once the author approves, the changes will be live.
Thanks
Sri


Issues when running server

Hi there :)
After i run the last command "node server.js" and i try to access the website on port 8089, i get this on the website:
Cannot Get /
Any ideas?

Hey mate.
The server software isn't meant to be accessed directly, you're meant to connect to it via the web app. For details on how to set up the web app have a look here:
https://github.com/samcm/PlexTogether#building-the-app
Alternatively you can use the live version we run at http://app.plextogether.com
I should probably add a short message to the server software that clarifies this if its accessed directly.

Hey :)
I followed the steps all the way through and after i after i run node server.js the command window says "Plextogether server successfully started on port 8089"
When i try to access localhost:8089 i get the error
I´m probably doing something wrong here....

Yes they're two separate entities, you're running the server not the web app. Here are the instructions:
git clone https://github.com/samcm/plextogether cd plextogether npm install npm run build
When complete, copy the contents of dist/ to the root of your web server.

It has been a while since I last used node.js but wouldn't it be possible to serve the static files via the node.js web server that is currently being used anyway?
That would eliminate the need to run an extra web server just for a little bit of static content. It would also make using a reverse proxy easier.

Yup its entirely possible.
I'm actually planning on implementing an express server to run the web app anyway. It'll let us do stuff like link shortening for directly linking a room to someone. Should help out this issue.

This issue should be way less frequent past 1.01 with the web app and the server now being served up via Express. Closing for now.


Blame parent link in blame view

Often when I blame something there are useless noise commits obscuring what I'm actually looking for, which means I need to go one commit back from that commit that made the noise, and then blame again to get what I'm actually after.

Some sort of annotated screenshot would clarify this ticket a bit.

In the blame view, like https://github.com/sindresorhus/refined-github/blame/master/extension/content.js, I would like to to change the blame view to the parent commit of the one currently on the left side, as I want to know what happened to that piece of code before the commit currently there.

So in the above screenshot I would like an extra link for each blame that says Blame parent and goes to the blame view of the commit before the one referenced.
Is that clear?

I get exactly what you need, because I've wanted that for so long. I will submit a PR in a few minutes if everything goes to plan.

For reference, here's how it looks now:


Missing water chunks near Vancouver BC

http://tangrams.github.io/cinnabar-style-more-labels/#9/48.6828/-123.6401

v0.5 tiles in prod.

Let's time box this for 4 hours to see if it's a minor problem. If it takes longer than that, let's move to v0.7.0 milestone.

Tip: try a different format for the same view.

Looks like the issue here is a mixture of two things. First, the water polygon area cut-offs in the style are pretty huge. Here's the translation into "square pixels":

Zoom 9: 106px^2
Zoom 10: 342px^2
Zoom 11: 342px^2
Zoom 12: 342px^2
Zoom 13: 273px^2
Zoom 14: 21px^2

This makes a lot of sense when 1 (multi)polygon = 1 body of water, and the area is the total surface area of the (multi)polygon. In the case of the OSM oceans, we're using the OpenStreetMapData split ocean polygons and so each split part has its own, smaller area which isn't big enough to trip the cut-off for inclusion above.
Since many of these occur at or near tile boundaries, merging isn't going to help. First, a work-around is to change the area cut-offs to 1px^2, as shown below.
    water:
        data: { source: osm, layer: water }
        draw:
            polygons:
                order: 5
                #color: *water1
        lakes:
            filter:
                all:
                    - kind: [ocean, lake, water, riverbank, reservoir]
                any:
                    # limit show smaller landuse areas to higher zooms
                    - { $zoom: { min: 1 },  area: { min:<PHONE_NUMBER>0 } }
                    - { $zoom: { min: 2 },  area: { min:<PHONE_NUMBER>0 } }
                    # some weird natural earth scale set transition
                    - { $zoom: { min: 3 },  area: { min:<PHONE_NUMBER>0 } }
                    - { $zoom: { min: 4 },  area: { min:<PHONE_NUMBER> } }
                    - { $zoom: { min: 5 },  area: { min: 700000000 } }
                    - { $zoom: { min: 6 },  area: { min: 500000000 } }
                    - { $zoom: { min: 7 },  area: { min: 160000000 } }
                    - { $zoom: { min: 8 },  area: { min: 40000000 } }
                    - { $zoom: { min: 9 },  area: { min: 93481 } }
                    - { $zoom: { min: 10 }, area: { min: 23370 } }
                    - { $zoom: { min: 11 }, area: { min: 5842 } }
                    - { $zoom: { min: 12 }, area: { min: 1460 } }
                    - { $zoom: { min: 13 }, area: { min: 365 } }
                    - { $zoom: { min: 14 }, area: { min: 91 } }
                    - { $zoom: { min: 15 } }
            draw:
                polygons:
                    color: *water1

The proper fix might be to ignore the actual area of the individual polygons and just put 3.61e14 as a constant area. Would putting such a large number make sense, or is it better to just leave the area property off and rely on the style to not filter the ocean polygons the same way it does the other water polygons? @nvkelso what do you think?

I meant to add this screenshot, too:

This is the same (prod) tiles, just with the scene file updated as in the YAML snippet above.

I've removed the ocean filter from Skin & Bones (will propagate to other styles), but kept it on the other water polygon areas. Looks good to me, thanks for sleuthing this one out!
There are still tiny rips along the shoreline, but that's a rainy day project: https://github.com/mapzen/vector-datasource/issues/427.

I've added #428 to track what, if anything, we want to do about the area property on ocean polygons.


/deps folder i empty since 0.50

**Home Assistant release (hass --version): 0.50.2
**Python release (python3 --version): Python 3.4.2
**Component/platform: hassbian
**Description of problem:
After updating to 0.50 my /deps folder is completely empty. This is not causing any errors and al components I am using is working. However it is not longer possible to modify some files to suit your language or country. I used to modify the holiday.py file to get the workday sensor to work in Sweden and other users are modifying whether component to get it in there native language.
**Expected:
The /deps folder to return to our configurations.

This is a consequence of #7801.
When running in a virtual environment dependencies will now be installed in the virtual environment site directory, usually something like [path-to-venv]/lib/python3.5/site-packages or similar. You should still be able to modify files in that directory.
Not running in a virtual environment will install dependencies in ./deps, but the tree structure below will look different.

Thanks, then I understand and I found my files again

Updated docs a little bit.
https://github.com/home-assistant/home-assistant.github.io/commit/3caddc2bad68208a75549c2d9a0500913cfbc5d2


Mono boringssl: retry up to 10 times / show which path is too long, if FileInfo fails

This should improve the travis test results
both commits were extracted from my other PRs

try 1: 4/6 green

Failures:

Nice try, but it seems like mono just doesn't like paket

The nightly is a lot better. With latest / 5.2, there are assertions and crashes in malloc, etc, all over the place, but with nightly, I could only find issues with boringssl / "no performance data received".

Currently, Travis easily gets a long backlog:

I propose to drop 5.2, this would cut the build time by 1/3

Kudos for not giving up :P

It still failed with that boring-ssl bug, but I couldn't see whether my check was incorrect, or whether it really failed 10 times in a row.
That's why I added a throw with a custom message, but now it doesn't fail anymore at all :\


[WIP] Org-Wide Dangerfile

Work in progress 🚀
See in action: https://github.com/Themoji/ios/pull/19 taken from https://github.com/Themoji/danger

          1 Error

:no_entry_sign:
Please include a CHANGELOG entry.
You can find it at CHANGELOG.md.

          1 Warning

:warning:
Tests were not updated

  Generated by :no_entry_sign: danger

It works for both local and on the CI, and was tested in action here: https://github.com/Themoji/ios/pull/19
I’ll do some more testing, and add support for both danger and Danger as repo name (ok?) and add tests before it’s ready to be merged :rocket:

Add support for both danger and Danger as repo name (ok?)

👍 Yep - good call

Add support for Danger repo https://github.com/danger/danger/pull/325/commits/1f903dbc5fc689716d42e8f7c38c56e3b9260c03

Any chance you can special case the Danger org, so that we don't get it running on here?

@orta @KrauseFx could also maybe use danger-config or have it passed as an argument? (To prevent conflicting with forks of danger)

@orta @DanToml Maybe to make it a more generic and automatic solution, how about I check if the current run is being made on a repo matching the danger repo of this org? This way it will work just fine for any org

@KrauseFx Would that handle if someone forked danger/danger to Artsy/danger for example?

@DanToml Yeah, I was thinking of just checking the repo name being equal to danger, and if it is don't import it

Alright, this is ready from my side, let me know if I can merge and prepare a release 🚀

OK, will give it a look later tonight

anyone know if rubocop can force the labeled params thing in ruby? I should do this, but I forget

anyone know if rubocop can force the labeled params thing in ruby? I should do this, but I forget

can you be more specific?

I mean:
# fails
def method(one, two)
end

#passes
def method(one, two:two)
end

Gonna take a quick stab at addressing feedback

Alllllriiight, let's do it.

# fails
def method(one, two)
end

#passes
def method(one, two:two)
end

the first takes no named parameters, the second takes one positional argument and a named argument with the label two with a default value of (the result of calling the method two)

Aye, I'd like a rubocop linter that forces labeled arguments 👯 👍

There doesn't exist one I know of, but writing one in a plugin shouldn't be too hard

Does it seem like a good idea to you?

Not particularly, especially since Ruby 2.0 doesn't support required keyword arguments

Interesting ( https://robots.thoughtbot.com/ruby-2-keyword-arguments ) - thanks @segiddins


Add option for auto-alignment (neat vs. compact) for entity/component prints

Add an additional setting under 'general' for having users decide if they want to have the component declarations print with aligned =, =>, :,  etc. Currently, the components print out in what will be called "compact" form where there is no alignment among signal names. Setting it to "neat" will align the respective signal tokens.

These settings will need a home in the settings.cfg file. Potentially:
[HDL-styling]
    hang-end = yes
    align = yes
    spaces = 1

Another HDL-styling option:
setting wire/signal names. For example, rather than defaulting to print out signals/wires of same name as port names, users can optionally add a prefix or suffix to the signals/wires being printed. This may help if users want to find/replace signal names as they are instantiated into their code.
Example:
w_* - will add "w_" to every signal


Audio editing

Configuration
Run react-native info in your project and share the content.
What react-native-track-player version are you using?
Issue
It's a question on library possibilities.
Is there a possibility to edit recorded audio file, i.e trim or record over?
Code
Show us the code you are using

This is currently not supported by this module. It probably won't be anytime soon.


Improve danish translation

This PR improves the existing danish translation. Most notebly the existing custom_components/garbage_collection/translations/sensor.dk.json translation is renamed to sensor.da.json to follow the correct IANA language subtag. Additionally the configuration options have also been translated to danish.

Thanks


google api connection tester

Separate UI which allows user to pick date and time and a text
click button and the backend makes the event in the calendar

duplicate of #5 ?


iOS intermitent black screen  when opening another UIViewController from platform channel

Redirect flutter to native black screen appear for some second. only for iOS
Flutter snippet:
 try {

      await platform.invokeMethod('openNativeChat');
    } on PlatformException catch (e) {
      print(e.message);
    }

App Delegate.swiftimport UIKit
import Flutter

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    //GeneratedPluginRegistrant.register(with: self)
    guard let controller  = window?.rootViewController as? FlutterViewController else {
                return super.application(application, didFinishLaunchingWithOptions: launchOptions)
            }

            let methodChannel = FlutterMethodChannel(name: "test",
                                                     binaryMessenger: controller.binaryMessenger)
            methodChannel.setMethodCallHandler({
                (call: FlutterMethodCall, result: @escaping FlutterResult) -> Void in
                controller.view.backgroundColor = UIColor.yellow
                switch call.method {
                case "openNativeChat":

                     self.window?.rootViewController = nil
                    let storyboard = UIStoryboard(name: "Main", bundle: nil)
let initialViewController:InitialViewController = storyboard.instantiateViewController(withIdentifier: "InitialViewController") as! InitialViewController

                   let navigationController = UINavigationController(rootViewController: controller)
                   // navigationController.isNavigationBarHidden = false
                    self.window = UIWindow(frame: UIScreen.main.bounds)
                    self.window?.makeKeyAndVisible()
                    self.window.rootViewController = navigationController

                    navigationController.pushViewController(initialViewController, animated: true)
                    break

                default:
                    result(FlutterMethodNotImplemented)
                    break

                }
            })
    GeneratedPluginRegistrant.register(with: self)
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}

Hi @Bloyal-it
can you please provide your flutter doctor -v and flutter run --verbose? Also, to better address the issue, would be helpful
if you could post a minimal code sample to reproduce the problem
Thank you

Hi,
[flutter] flutter doctor -v
[✓] Flutter (Channel stable, v1.12.13+hotfix.8, on Mac OS X 10.15.1 19B88, locale en-IN)
• Flutter version 1.12.13+hotfix.8 at /Users/cygnet/Documents/FlutterSdk/flutter
• Framework revision 0b8abb4724 (7 weeks ago), 2020-02-11 11:44:36 -0800
• Engine revision e1e6ced81d
• Dart version 2.7.0
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at /Users/cygnet/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.2
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
• Xcode at /Users/cygnet/Desktop/Xcode.app/Contents/Developer
• Xcode 11.3.1, Build version 11C505
• CocoaPods version 1.9.1
[✓] Android Studio (version 3.5)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 43.0.1
• Dart plugin version 191.8593
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
[✓] Connected device (1 available)
• iPhone 11 Pro Max • 816217BD-B0B9-4AF5-B9AE-56D6372F07FA • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-3 (simulator)
! Doctor found issues in 1 category.
exit code 0
minimal code already posted

Hi @Bloyal-it
Your code is incomplete, please provide complete minimal code sample to to better address the issue with or link a sample repo
Could also provide flutter run --verbose while trying to reproduce black screem?
Thank you

Hi,
In flutter app, I have written this much of code
on button tap:
try {
await platform.invokeMethod('openNativeChat');
} on PlatformException catch (e) {
print(e.message);
}
Please find below the link for code.
AppDelegate.txt

Preview

complete code sample
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Material App',
      home: Home(),
    );
  }
}

class Home extends StatefulWidget {
  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<Home> {
  static const platform = const MethodChannel('samples.flutter.dev/battery');

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Material App Bar'),
      ),
      body: Center(
        child: ElevatedButton(
          child: Text('Open Native'),
          onPressed: () async {
            try {
              await platform.invokeMethod('openNativeChat');
            } on PlatformException catch (e) {
              print(e.message);
            }
          },
        ),
      ),
    );
  }
}

import UIKit
import Flutter

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {

      let controller : FlutterViewController = window?.rootViewController as! FlutterViewController
      let batteryChannel = FlutterMethodChannel(name: "samples.flutter.dev/battery",
                                                binaryMessenger: controller.binaryMessenger)
    batteryChannel.setMethodCallHandler({
      [weak self] (call: FlutterMethodCall, result: FlutterResult) -> Void in
      // Note: this method is invoked on the UI thread.
        controller.view.backgroundColor = .yellow

        switch call.method {
        case "openNativeChat":
            self?.window?.rootViewController = nil

            let storyboard = UIStoryboard(name: "Main", bundle: nil)
            let initialViewController:InitialViewController = storyboard.instantiateViewController(withIdentifier: "initial_vc") as! InitialViewController

            let navigationController = UINavigationController(rootViewController: controller)
                         // navigationController.isNavigationBarHidden = false
            self?.window = UIWindow(frame: UIScreen.main.bounds)
                          self?.window?.makeKeyAndVisible()
                          self?.window.rootViewController = navigationController

                          navigationController.pushViewController(initialViewController, animated: true)

            break

        default:
                      result(FlutterMethodNotImplemented)
                      break
        }

    })

    GeneratedPluginRegistrant.register(with: self)
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }

    private func receiveBatteryLevel(result: FlutterResult) {
      let device = UIDevice.current
      device.isBatteryMonitoringEnabled = true
      if device.batteryState == UIDevice.BatteryState.unknown {
        result(FlutterError(code: "UNAVAILABLE",
                            message: "Battery info unavailable",
                            details: nil))
      } else {
        result(Int(device.batteryLevel * 100))
      }
    }
}

//
//  InitialViewController.swift
//  Runner
//
//  Created by Taha Tesser on 10/30/20.
//

import UIKit

class InitialViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }

    /*
    // MARK: - Navigation

    // In a storyboard-based application, you will often want to do a little preparation before navigation
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        // Get the new view controller using segue.destination.
        // Pass the selected object to the new view controller.
    }
    */

}

flutter doctor -v
[✓] Flutter (Channel master, 1.24.0-4.0.pre.165, on Mac OS X 10.15.7 19H2
    darwin-x64, locale en-GB)
    • Flutter version 1.24.0-4.0.pre.165 at /Users/tahatesser/Code/flutter_master
    • Framework revision e444b1e3fa (9 hours ago), 2020-10-30 00:41:52 -0400
    • Engine revision 99cc50dfff
    • Dart version 2.11.0 (build 2.11.0-266.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/tahatesser/Code/sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = /Users/tahatesser/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.1, Build version 12A7403
    • CocoaPods version 1.10.0.rc.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.50.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.15.1

[✓] Connected device (4 available)
    • Taha’s iPad (mobile) • 00008020-000255113EE8402E • ios            • iOS 14.1
    • macOS (desktop)      • macos                     • darwin-x64     • Mac OS X
      10.15.7 19H2 darwin-x64
    • Web Server (web)     • web-server                • web-javascript • Flutter
      Tools
    • Chrome (web)         • chrome                    • web-javascript • Google
      Chrome 86.0.4240.111

• No issues found!

I'm also getting the same issue. Does anyone know to fix it?

I can get back to the parent view controller (before invoking the method channel) by swiping left edge to right.

This issue is reproducible on the latest stable and master channels.
It happens less often and it's more like a blinking effect because it appears very quickly and then disappears. The issue occurs at 00:17 and 00:27 in below demo video. Verified on iPhone 7, iOS 15.7.2.
https://user-images.githubusercontent.com/104349824/233051700-4b9d4d2e-15b5-4905-953b-da6e39d0bc9a.MP4
Complete sample project: test_ios_platformview_black_53577.zip

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.7.11, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.7.11 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f72efea43c (31 hours ago), 2023-04-11 11:57:21 -0700
    • Engine revision 1a65d409c7
    • Dart version 2.19.6
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.77.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.62.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 112.0.5615.49

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[!] Flutter (Channel master, 3.10.0-7.0.pre.44, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.10.0-7.0.pre.44 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d9392f2e2a (3 hours ago), 2023-04-18 20:31:26 -0400
    • Engine revision 099ed6c62d
    • Dart version 3.1.0 (build 3.1.0-12.0.dev)
    • DevTools version 2.23.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.77.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.62.0

[✓] Connected device (3 available)
    • SM T225 (mobile) • R9JT3004VRJ • android-arm64  • Android 13 (API 33)
    • macOS (desktop)  • macos       • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)     • chrome      • web-javascript • Google Chrome 112.0.5615.121

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.


2.2 Authentication tests. Run using 'mvn test -P 2.2'. See README.txt in...

... server folder

I don't want to merge this yet, and in any case its for M2.
Comments and suggestions for improvements welcome.

Why don't you want to merge it in? If it works I'm all for it, and auth is optional anyway but it should work.

@jexp. just because nobody else has had a chance to look at it yet :) Also a couple of things need tidying up. But yes, it works.


"Cannot resolve expression type" while translating optimized SPIRV

Translating the shader before running it through spirv-opt succeeds.
Translating the shader after running it through spirv-opt fails with:

Cannot resolve expression type

The validator doesn't fail on the optimized shader but it might be an omission to the validator; I'm looking into what exactly happens here. Also, would it be possible to improve the exception text to note the instruction/id that is problematic?
shader32.zip

Looks like it's this OpIAdd:
   %7127 = OpSelect %int %3220 %7058 %7058
   ...
   %3326 = OpIAdd %int %7127 %int_1

This seems valid to me, so I'm assuming it's a SPIRV-Cross bug. The type field of OpSelect result is 0 (TypeNone) for some reason...

Huh ... well, it seems like the block where 7127 is generated is never actually used. It might be dead code (and dead code cannot dominate live code), need to dig a bit deeper, but currently points to a bug in the SPIR-V.

Here's the CFG:

Unless I'm misreading the SPIRV, it looks like OpIAdd is generated in block 3251, and the OpSelect argument is generated in block 3221. Is the issue the continue from 3128 to 3251, which leaves 3221 unevaluated?

Ok - looking at this closer I'm pretty sure this is just a SPIRV-Cross bug. Block 3251 is the continue block, and the OpIAdd in question is incrementing the induction variable. For whatever reason the left hand of the increment is a dummy OpSelect computed in block 3221 - but this is all valid as far as I can see.
The issue occurs because SPIRV-Cross goes into this branch:
// This is the older loop behavior in glslang which branches to loop body directly from the loop header.
if (block_is_loop_candidate(block, SPIRBlock::MergeToSelectForLoop))

And emits continue block before the body; in this case, continue block requires 3221 to be emitted first. If I change the code to disable loop emission like this:
if (block_is_loop_candidate(block, SPIRBlock::MergeToSelectForLoop) && 0)

Then SPIRV-Cross emits for (;;) loop instead without issues. I'm not sure what a general solution to this looks like though.

Normally, SPIRV-Cross should handle temporaries and variables being touched in the continue block. There is a "hoisting" pass. It might be as simple as something missing there ... I'll have a look.

Herp, derp. One-liner fix <_<


add MessageMentions#includes, remove old method

Please describe the changes this PR makes and why it should be merged:
check if mentions includes a user without being weird about it
Semantic versioning classification:

[x] This PR changes the library's interface (methods or parameters added)

[x] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)

[ ] This PR only includes non-code changes, like changes to documentation, README, etc.

Should probably be called has, and combine the functionality of Message#isMentioned with a Boolean parameter


Allow plugins to limit hooks to rooms

Same as commands, it should be possible to limit hooks to certain rooms. This is especially useful if they're used dynamically (see #40).

It would seem, this has been possible since hooks exist. :)
https://github.com/alturiak/nio-smith/commit/2e4f84cf5f9587bc63d1e59370cc149390568218

It would seem, this has been possible since hooks exist. :)
https://github.com/alturiak/nio-smith/commit/2e4f84cf5f9587bc63d1e59370cc149390568218


msvc: allow finding tools from path if VisualStudioDir is set

Fixes #1189

Sorry, that review was from my alt account by accident. Can't delete it now, oh well.


Remove: 7S2P.Effie version 3.3.1

403 Access Denied
Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.6 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

URL: https://download.effie.pro/effie/effieapp_setup_3.3.1.exe
Response status code does not indicate success: 403 (Forbidden).
(Automated message - build 873)


Input should be in a valid time format, input is too short

Initial Checks

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

Description
It used to work in Pydantic 1.
Error:
Input should be in a valid time format, input is too short [type=time_parsing, input_value='9:00', input_type=str]
Example Code
import datetime
from pydantic import BaseModel

class MyModel(BaseModel):
  start_time: datetime.time

MyModel(start_time="9:00")

Python, Pydantic & OS Version
pydantic version: 2.1.1
pydantic-core version: 2.4.0
pydantic-core build: profile=release pgo=false mimalloc=true
install path: /Users/username/Library/Caches/pypoetry/virtualenvs/my_project-py3.10/lib/python3.10/site-packages/pydantic
python version: 3.10.4 (main, Jun 24 2022, 18:30:49) [Clang 13.1.6 (clang-13<IP_ADDRESS>.5)]
platform: macOS-13.0.1-arm64-arm-64bit
optional deps. installed: ['typing-extensions']

Selected Assignee: @hramezani

Yeah, the output is correct.
You can check how we do the conversions on our Conversion Table.
In your case, the following would already work:
import datetime
from pydantic import BaseModel

class MyModel(BaseModel):
    start_time: datetime.time

MyModel(start_time="00:09:00")


Czech translation of color picker

Microsoft PowerToys version
0.80.1
Utility with translation issue
ColorPicker
🌐 Language affected
Czech
❌ Actual phrase(s)
Krumpáč

✔ Expected phrase(s)
"Výběr" possibly.
ℹ Why is the current translation wrong
Krumpáč in the Czech language means this tool:

And you definitely don't want pick color with krumpáč 😃

/dup #31699


Account sequence increments even when the blob is not submitted successfully

Version of Git SHA
rollkit version:  v0.13.5
rollkit git sha:  6a33192
System OS
Ubuntu 22.04
Installed tools
No response
Others
No response
Steps to reproduce it
It happens randomly on the rollup node, there are no specific steps to reproduce it.

The rollup node tries to submit blobs through the light node
There context deadline is exceeded
It throws incorrect account sequence error on the next try because the account sequence has been incremented

Expected result
If the blob submission in the earlier attempt was unsuccessful, it should be retried with the same sequence/nonce.
Actual result
ERR DA layer submission failed error="failed to submit blocks: RPC client error: sendRequest failed: Post \"http://localhost:56658/\": context deadline exceeded" attempt=0 module=BlockManager
ERR DA layer submission failed error="failed to submit blocks: RPC client error: sendRequest failed: Post \"http://localhost:56658/\": context deadline exceeded" attempt=1 module=BlockManager
ERR DA layer submission failed error="failed to submit blocks: tx failed with code 32: account sequence mismatch, expected 600, got 601: incorrect account sequence\n: incorrect account sequence" attempt=2 module=BlockManager

I have seen the account sequence discrepancy of upto 30 sequences.
Relevant log output
No response
Notes
In such case, one needs to manually post the blobs to sync the actual and expected sequence number.

Tried to repro but seems to be fixed in celestia-node >= v0.13.7
See: https://github.com/celestiaorg/celestia-node/issues/3164#issuecomment-2163232709

Tried to repro with v0.15.1-rc0 but seems to be fixed in celestia-node v0.13.7
See: celestiaorg/celestia-node#3164 (comment)

Okay, I am on v0.14.x now and haven't encountered this yet. Let's close this for now.


When using autocomplete field, object created with "Add Another" is not editable.

I have two models, ProductSpecs and Product. Product has a foreign key relationship to ProductSpecs, and on the admin page for Product, ProductSpecs is the field using autocomplete.
Here are the actions I take in the admin backend:

Create a new Product. (This is not reproducible when editing an existing Product.)
Click "Add Another" for ProductSpecs. The popup for ProductSpecs appears as expected.
Fill out the fields for ProductSpecs. Click save in the popup. The popup closes as expected and the ProductSpecs field is filled out with the correct ProductSpecs object.

If after this point I click save on the Product, everything is created and works as expected.
The problem is if I have not yet clicked save on the new product, but instead click to edit the newly created ProductSpecs object, the popup contains a 404. The error message given in my local environment is "Product Specs object with primary key u'null' does not exist.". This is also reproducible with a different foreign key relationship elsewhere in my project (which is the only other place I am using autocomplete fields).
If I let the ProductSpecs field on the Products admin page be the default Django foreign key select dropdown, this error does not happen.
As this is the first time I have used this plugin, it is entirely possible that I haven't set something up right. I have not dug deeply into the plugin functionality yet and have only used the basic install and tutorial information. Does it sound like I am missing something, or does this sound like a bug?

I think this is fixed by #499, could you try ?
Thanks !

Fixed in master.

I see what you did there. You made it so that the newly created foreign key object is not editable at all until you save everything for the first time. It does prevent the user from seeing the 404, but also is different from how base Django works. It would be nice if the foreign key object was editable once it was not empty (I stumbled on this issue by clicking too quickly and wanting to double-check what I had just done), but if it's not possible...

Well there's a fix for the bug that was released, but it could be improved.
A PR would be nice here: https://github.com/yourlabs/jquery-autocomplete-light/blob/master/src/django_admin.js
Too bad Django doesn't listen on the select widget change events but I assume that's for compatibility with other kinds of (weird?) user-defined widgets.


[ll] Add explicit resource destruction

Add explicit resource destruction as proposed in #1216.
Implemented the new factory methods for the vulkan backend.
I went with a resource consuming interface (takes ownership of the resource) as I liked the concept of the factory giving ownership to the resource on creationg and taking it away on destruction.
fn destroy_*(&mut self, R::Resource);

@homu r+

:pushpin: Commit 43a2891 has been approved by kvark

:hourglass: Testing commit 43a2891 with merge 54a9562...

:broken_heart: Test failed - status

@homu retry

On Apr 13, 2017, at 13:28, Homu<EMAIL_ADDRESS>wrote:
💔 Test failed - status
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

:hourglass: Testing commit 43a2891 with merge 30bb13a...

:sunny: Test successful - status


dial tcp: lookup oidc.eks.eu-central-1.amazonaws.com on <IP_ADDRESS>:53: no such host

Description
Please provide a clear and concise description of the issue you are encountering, and a reproduction of your configuration (see the examples/* directory for references that you can copy+paste and tailor to match your configs if you are unable to copy your exact configuration). The reproduction MUST be executable by running terraform init && terraform apply without any further changes.
If your request is for a new feature, please use the Feature request template.

[X] ✋ I have searched the open/closed issues and my issue is not listed.

Versions

Module version [Required]: 20.8.4

Terraform version:
1.4.4

Provider version(s):

required_providers {
aws = {
# https://registry.terraform.io/providers/hashicorp/aws/latest
source  = "hashicorp/aws"
version = "5.40.0"
}
kubernetes = {
# https://registry.terraform.io/providers/hashicorp/kubernetes/latest
source  = "hashicorp/kubernetes"
version = "2.27.0"
}
helm = {
# https://registry.terraform.io/providers/hashicorp/helm/latest
source  = "hashicorp/helm"
version = "2.12.1"
}
kubectl = {
# https://registry.terraform.io/providers/alekc/kubectl/latest
source  = "alekc/kubectl"
version = "2.0.4"
}
}
Reproduction Code [Required]
Plain tf code I guess ...
Steps to reproduce the behavior:
Running tf plan locally works fine but when I run the tf plan in a gitlab pipeline I got this:
Planning failed. Terraform encountered an error while generating this plan.
╷
│ Error: Failed to identify fetch peer certificates
│
│   with module.euce1_apps_100794_eks_cluster_01.data.tls_certificate.this[0],
│   on .terraform/modules/euce1_apps_100794_eks_cluster_01/main.tf line 329, in data "tls_certificate" "this":
│  329: data "tls_certificate" "this" {
│
│ failed to fetch certificates from URL 'https': Get
│ "https://oidc.eks.eu-central-1.amazonaws.com:443/id/xxxxxxxxxxxxxxxxx":
│ dial tcp: lookup oidc.eks.eu-central-1.amazonaws.com on <IP_ADDRESS>:53: no
│ such host
╵

Running tf plan locally works fine but when I run the tf plan in a gitlab pipeline I got this:
Planning failed. Terraform encountered an error while generating this plan. ╷ │ Error: Failed to identify fetch peer certificates │ │ with module.euce1_apps_100794_eks_cluster_01.data.tls_certificate.this[0], │ on .terraform/modules/euce1_apps_100794_eks_cluster_01/main.tf line 329, in data "tls_certificate" "this": │ 329: data "tls_certificate" "this" { │ │ failed to fetch certificates from URL 'https': Get │ "https://oidc.eks.eu-central-1.amazonaws.com:443/id/xxxxxxxxxxxxxxxxx": │ dial tcp: lookup oidc.eks.eu-central-1.amazonaws.com on <IP_ADDRESS>:53: no │ such host ╵

Hi,
I also use GitLab but haven't seen this issue, though, I also typically don't run infra/EKS TF in pipelines as they don't often need to be run and I don't quite trust some things (at least, in my config) 100% sometimes. That said, I'm pretty familiar with GitLab/EKS and a fair bit of intricacies with GitLab pipelines.
Can you clarify whether you're using GitLab SaaS (eg. GitLab.com), dedicated or self-hosted? And, I guess, more importantly, what type of runner(s) you're using, eg. GitLab SaaS Sharead Runners (the runners provided automatically/free on GitLab.com) or self-hosted and if self-hosted, what executor you're using (shell, docker, k8s, etc)? I might assume you're using GitLab.com with shared runners since you haven't mentioned otherwise.
Either way; one thing is clear in your error message:
dial tcp: lookup oidc.eks.eu-central-1.amazonaws.com on <IP_ADDRESS>:53: no such host
This means that your runner is using a DNS server at a<IP_ADDRESS> to lookup the domain oidc.eks.eu-central-1.amazonaws.com; if you're using SaaS+Shared Runners, that would be one of GitLab's own internal DNS servers.
I'm able to lookup this domain without issue using CloudFlare's DNS (<IP_ADDRESS>) server and also Google's (<IP_ADDRESS>); this means that that domain is publicly resolvable and accessible and that the issue is specifically related to the DNS server at <IP_ADDRESS> (from your Runner's perspective) was unable to perform the lookup. If you're using GitLab SaaS+Shared Runners, then it's quite likely in GitLab's domain to look into.
If you're using you're own runners, then check into your DNS servers to ensure they're working as expected and have proper egress access; 10.*.*.* IP addresses are of course internal-only IPs that are not routable on the internet.
GitLab does sometimes have issues that are temporary or sporadic; you might do well to simply try again. If it's happening continuously and you're using SaaS+Shared Runners, a potential workaround would be to somehow modify the /etc/resolv.conf of the image you're using for your pipelines and have it use a public server like the above mentioned CloudFlare or Google ones for resolution instead.
If using an off-the-shelf/public image in your runner, the user your job runs as likely won't have permission to modify that file, thus you likely wouldn't be able to update it inside a job script, however, you could relatively easily make a Dockerfile that uses that same image as a base with FROM and add a few lines of script to update that file to use a different DNS server. It should work but I can't say for certain that GitLab doesn't have any network/security policies that might prevent that.
Either way, I'm confident this issue is absolutely not related to the Terraform AWS EKS module; hope this helps, best of luck!

@ForbiddenEra  thanks for all the info. I'm running this on a company gitlab-installation. We are using our own gitlab-runner which is running in our own aws account. This account should have all the access to the aws I hope :) But I will take this feedback with me and ask the infra-crew!

hi there,
Problem is the EKS VPC endpoint with private DNS enabled and has nothing todo with SaaS Runner or something else.
The private DNS is capturing all DNS queries to the Zone instead of the Record of "eks.eu-central-1.amazonaws.com". So they catch all queries for *.eks..amazonaws.com.
Solution should be to create an own oidc eks endpoint inside VPC but this isnt an available feature yet, if you have an private VPC. I´ve ask if there is feature request already or if not, that one is opened.
Problem is described inside AWS docs:
https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html
workarounds can be

set an local hosts entry on the runner, to one of the actual ip of the endpoint
put a runner inside a public subnet to use a public dns instead of a private one
disable the private dns feature for this endpoint
wait for the new endpoint....

so agreed, issue can be closed.

This issue has been resolved in version 20.23.0 :tada:


Add appendChild

:+1:  :+1:  :fireworks: :+1:  :+1:

:+1: Yes, please.

@paf31 May be a good idea for a fork of this to live in contrib?

@jdegoes :+1:

Thank you! merged in and tagged to 0.0.2


scheduler: Reconnect host event streams intelligently

Currently when a formation, host, and leader event stream gets disconnected, the scheduler attempts to reconnect. We need to do the same with job streams from a host instead of immediately giving up on the host.
As part of this, also remove the automatic host unfollow that happens if we can't connect to a host client when scheduling a job, which will involve needing to pick a different host for the job.
Also figure out how to correctly handle stopping a job when we can't connect to the host running the job to be stopped.

Just to expand on the points a little:

Currently when a formation, host, and leader event stream gets disconnected, the scheduler attempts to reconnect. We need to do the same with job streams from a host instead of immediately giving up on the host.

We need to reconnect the job stream unless unfollowHost was called (see here), which we can determine by checking stream.Err(). When reconnecting though, we will create a new stream in the goroutine, so that can race with a call to unfollowHost (which could try and close the stream which is already closed rather than the one we get when we reconnect).

remove the automatic host unfollow that happens if we can't connect to a host client when scheduling a job, which will involve needing to pick a different host for the job.

This refers to the calls to unfollowHost both here and here. I'd argue that we should just drop them right now and rely on unfollowHost being called when we receive the down event, because if s.Hosts does not return a host, its service is down and we will get a down event. @jzila WDYT?

figure out how to correctly handle stopping a job when we can't connect to the host running the job to be stopped

We should continue to try stopping the job until we get a service down event for the given host (which will mark all the jobs on that host as stopped, including the one we were trying to stop).


web client problem

hello web client doesn't take any client id how can i fix this ?
thanks

Hi did you fix this issue

are you have any solution for fix this issue ?

are you have any solution for fix this issue ?


[PORT] Test dialog:merge in integration builds

Port this change from botbuilder-dotnet/master branch:
https://github.com/microsoft/botbuilder-dotnet/pull/4334

We have checked-in some bad schema even though dialog:merge verifies and there is a test for it.  The test was disabled on the build server, but is now enabled by installing the bf tool.  This check-in also cleans-up the bad schema.
Changed projects

Microsoft.Bot.Builder.Dialogs.Adaptive
Microsoft.Bot.Builder.Dialogs.Declarative.Tests
Microsoft.Bot.Builder.TestBot.Json

@joshgummersall @chrimc62 Does this one actually need to be ported? The parent PR changes 6 files:

ci-test-steps.yml

Only needs changing if schema merge tests get run

Microsoft.Bot.Builder.Dialogs.Adaptive/Schemas/Dialogs/Microsoft.AttachmentInput.schema

Changes already present in JS

Bot.Builder.Dialogs.Adaptive/Schemas/TriggerConditions/Microsoft.OnCancelDialog.schema

Changes already present in JS

Microsoft.Bot.Builder.Dialogs.Declarative.Tests/SchemaMergeTests.cs

Does not exist in JS. I ctrl+shift+f'd dialog:merge and wasn't able to find anything similar, either. @joshgummersall I can port the whole file over to JS, if that's what we want.

tests/Microsoft.Bot.Builder.TestBot.Json/CustomSteps/Testbot.JavascriptAction.schema

Pretty sure this doesn't exist in JS. Again, @joshgummersall I could probably port it, if needed.

tests/tests.schema

I think maybe this is generated? The diff says:

I think the gist of this with respect to the JS repo is: we want to also ensure that our schema files are correct. At the moment we have no test or CI to handle this so it's a manual, honor-system test.
Once the monorepo yarn refactor PR (https://github.com/microsoft/botbuilder-js/pull/2984) lands, we should probably do the following:

Add the botframework CLI as a devDependency
Add a script to the root package.json file called something like test:schemas that does the equivalent of bf schema:merge **/*.schema (honestly not sure if that's the right command, but that's the idea)
Add a job to our CI that invokes this command to ensure that schemas merge together properly

@chrimc62 please feel free to comment/critique this approach if it doesn't make sense.

@joshgummersall Gotcha. Best to hold off on this one until the monorepo refactor PR is merged?

Yeah, I'm sure it'll be a nightmare merge conflict otherwise.


New summarizer: nWhere?

Would you be interested in a PR adding a new summarizer that I've found helpful. It's the same as n but allows you to add a condition and only count items that meet that condition. So if you want to know how many elements in your groupBy had a certain value you can get that.
Simple JS implementation (Would convert to TypeScript)
export default function nWhere(conditional) {
  return function nWhereFn (list) {
    return list.filter(conditional).length;
  }
}

Usage
const data = [
  { str: 'foo', value: 3 },
  { str: 'foo', value: 1 },
  { str: 'bar', value: 3 },
  { str: 'bar', value: 1 },
  { str: 'bar', value: 7 },
];

tidy(data, summarize({
  foos: nWhere(d => d.str === 'foo'),
  bars: nWhere(d => d.str === 'bar'),
  count: n(),
})
// output:
[{ foos: 2, bars: 3, count: 5 }]

I too have made this helper myself! but called it countIf. nWhere is nicer I think, doesn't conflict with the summarizeIf style of things... my implementations avoided creating another array by using sum + predicate, more SQL style in a way. I'd be happy to add these as nWhere and sumWhere if you're up for it!

export function countIf<T extends object>(predicate: (d: T) => boolean) {
  return (items: T[]) => sum((d: T) => (predicate(d) ? 1 : 0))(items)
}

export function sumIf<T extends object>(
  predicate: (d: T) => boolean,
  key: keyof T | ((d: T) => number)
) {
  const keyFn =
    typeof key === 'function' ? key : (d: T) => d[key] as unknown as number

  return (items: T[]) => sum((d: T) => (predicate(d) ? keyFn(d) : 0))(items)
}

Sounds good – go for it!

I actually ended up doing this as an option on sum and n now which matches a couple other places, available in v2.5.0.
const data = [
  { str: 'foo', value: 3 },
  { str: 'foo', value: 1 },
  { str: 'bar', value: 3 },
  { str: 'bar', value: 1 },
  { str: 'bar', value: 7 },
];

tidy(data, summarize({
  count: n(),
  countFoo: n({ predicate: d => d.str === 'foo' })
})
// output:
[{ count: 5, countFoo: 2 }]


Add mikesmithgh/git-prompt-string-lualine.nvim

Repo URL:
https://github.com/mikesmithgh/git-prompt-string-lualine.nvim
Checklist:

[x] The plugin is specifically built for Neovim, or if it's a colorscheme, it supports treesitter syntax.
[x] The lines end with a .. This is to conform to awesome-list linting and requirements.
[x] The title of the pull request is Add/Update/Remove `username/repo`  (notice the backticks around `username/repo`) when adding a new plugin.
[x] The description doesn't mention that it's a Neovim plugin, it's obvious from the rest of the document. No mentions of the word plugin unless it's related to something else.
[x] The description doesn't contain emojis.
[x] Neovim is spelled as Neovim (not nvim, NeoVim or neovim), Vim is spelled as Vim (capitalized), Lua is spelled as Lua (capitalized), Tree-sitter is spelled as Tree-sitter.
[x] Acronyms should be fully capitalized, for example LSP, TS, YAML, etc.

Thanks for the PR!


test-runner.py error code translation needs to be OS aware

just search man errno and take those, will get you pretty far. - @oskarnp
man sysexits

Yeah, I meant sysexits. Caught my own mistake.
Here is some for macOS https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/sysexits.3.html
But then there is also a bunch defined by the shell, so Bash/Zsh etc. would have their own specific ones probably.

For linux I think we should only do bash it's the most common one and also the one that is used in the CI


Relax compile-time assertion in gammafunction to runtime

Should fix builds on non-x86 targets, where the pretty lame yl2x intrinsic is not available at compile-time.

Please add this description to the code.

Shouldn't be needed as I'm going to propose yanking out uses of yl2x.

This isn't really a fix.

This isn't really a fix.

And breaking phobos builds is not a solution.

Ping, Phobos is still broken.

Please, add //FIXME with description.

Please give me a description to fill in, because I don't think I can hold myself back from writing something detrimental about dmd.

=)
    // FIXME: should be returned back to enum.
    // Fix requires CTFEable `log` on non-x86 targets (check both LDC and GDC).
    immutable maxY = logmdigamma(real.min_normal);

Though FYI, you should probably go the way of std.math and use pre-computed manifests.  One for each kind of real float format.  We should either find a way to expose floatTraits to this module, or declare it public (and document it).

See #3011.

@9il ping
@MartinNowak - this one is for 2.068 beta2

LGTM

I'll merge this in 24 hours unless someone responds in the meantime (as @9il has given his approving :+1: and it's his code I'm changing)

Auto-merge toggled on


Hyperlinks: Please allow "file" schema

Description of the new feature/enhancement
At the moment, hyperlink support seems limited to just http and https schemas. It would be nice if file was supported as well.
A sample use case for this is https://github.com/dandavison/delta, an excellent viewer for git and diff output that, among other things, shows line numbers in a git diff as links pointing to the given file. This currently doesn't work due to Windows Terminal blocking the file schema:

/dup #7526

I hate duping things to PRs, but this one has some active discussion on it.

We were having a long discussion over on #7526 about it, and never came to anywhere we felt comfortable with. The same discussion is playing out in #7668, because of how hard it is for the Terminal alone to map paths...

ON second though, I'll reopen this bug as a landing site to redirect folks / point the PR at.


no program has beeen changed

but operator ~ have to be used between [BLANK]. so I inserted [BLANK].

Why? Is this some recent change in DMD that I'm not aware of?

Ah... you may think "no program has been changed." "but-operator..."?
If you think so, that is misunderstand. "no program ... but, operator ...." is what I want to say.
otherwise Digital Mars are recommended [BLANK] between expressions and operators.

Digital Mars are recommended [BLANK] between expressions and operators.

Where did you read this recommendation?
This seems to be a style issue to me, unless you can point me to some DMD change that requires the use of blank spaces around concatenation operators.

http://www.digitalmars.com/d/1.0/dstyle.html
This site they says

Operators are separated by single spaces from their operands.

The page you refer to is a style guide for D 1.0, and therefore not a requirement. For the most part, SciD adheres to the newer D/Phobos style guide on dlang.org, but again, this is just a guide, and there may be differences in style.


Add generic function for updating the annotations only

Add a function to update the annotation of an object.  Here is how it should be used.
obj := client.Get()

var newAnnotations map[string]string
// get the new annotations that obj should have
// not including the last-applied-config annotation

UpdateAnnotation(obj, newAnnotations)

client.Update(obj)

Also add unit tests for the new function.

/assign @seans3

/assign @seans3


Unable to use chrome for testing (not chromium)

Version
master
File / Feature
npm run test_chromium
Expected behaviour
I expect the plugin to build and then start chrome instead of chromium.
Actual behaviour
After building the plugin the script stops.
Stacktrace / Error message
sh: 1: chromium: not found
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR<EMAIL_ADDRESS>test_chromium: `gulp build --target chrome;chromium --user-data-dir=/tmp/click-to-dial --load-extension=./build/chrome --no-first-run`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>test_chromium script.

Other info
There is a package called chrome-launcher to e.g. detect various chrome/chromium installations in PATH. It also supports chromium on linux.

chrome-launcher uses an api. This is out-of-scope. It's expected that a developer has either the chrome or chromium executable available (or make a symlink in case the executable is called differently, like google-chrome-beta on my machine). I added a test_chrome command though.


refactor(world): separate call utils into WorldContextProvider and SystemCall

We previously had a Call.withSender util that managed appending the msg.sender to the calldata, and took a flag to use call or delegatecall. Since appending msg.sender to the calldata is tightly coupled with WorldContext, the utils for calling/delegatecalling with msg.sender appended to the calldata were moved to WorldContextProvider.callWithContext/delegatecallWithContext.
WorldContext is renamed to WorldContextConsumer (to clarify the interaction between WorldContextProvider (appending context) and WorldContextConsumer (extracting context))
The World previously had an internal _call method which handled access control checks and converting a resourceSelector into the system's address. Since this logic is useful for other libraries (most notably the delegation checks coming in #1364) it is moved to library functions SystemCall.call/callWithHooks
System hooks' interface changed to take the resourceSelector instead of the system address. This seems more useful and simplifies the code. If needed a hook can still load the system's address from storage via Systems.get(resourceSelector) (which would be cheap since the storage slot is warm)

Current dependencies on/for this PR:

main

PR #1372

PR #1370   👈

PR #1364

This comment was auto-generated by Graphite.

Merging since no change since last approval

👏 this is great


Lazy loading of tenants on pageserver startup

Problem
see #4397
Summary of changes
Checklist before requesting a review

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

Checklist before merging

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

By sampling the test failures they seem to be about the tenants which are just expected to be there, but no effort is now being done to activate them, so they are missing.

I understand that this plays with disk usage based eviction so that we will not be able to evict from tenants which have not been activated. That might not be an issue, unless a huge tenant was active on last session but is no longer in this; we'd forever keep those layers.

No, this PR has almost no relation with disk usage based eviction.
As far as I understand there are now no detached clients at all and detaching is one just for migration.
This PR is based on the offline client which compute nodes are terminated and so them do not send any requests to page server.

Consumption metrics, is it a problem if we stop updating those? Upstream system could be fixed to pretend the values are constant.

If there is not activity, then there is no need to update metrics, isn't it?

This will be an issue for safekeepers because now they might not learn about our disk_consistent_lsn or remote_consistent_lsn, I forget which.

There should be no safekeepers for inactive clients as well.
And if safekeeper is connected to PS then tenant will e loaded.

I like how simple this turned out, didn't know about tokio::sync::OnceCell, which should provide exclusive attempt so we don't even load twice in a race.

By sampling the test failures they seem to be about the tenants which are just expected to be there, but no effort is now being done to activate them, so they are missing.

After some fixes and workarounds tests are now passed...

This will be an issue for safekeepers because now they might not learn about our disk_consistent_lsn or remote_consistent_lsn, I forget which.

There should be no safekeepers for inactive clients as well. And if safekeeper is connected to PS then tenant will e loaded.

Safekeepers do not initiate connections to pageserver. Instead they publish messages to storage broker, and pageserver is supposed to connect to them after witnessing the messages (only new messages after subscribing). Earlier while I was doing the "do not connect to safekeepers if they have no new WAL", none of the tests failed, but it was deemeed a bad idea by @ars in https://github.com/neondatabase/neon/pull/4366#issuecomment-1567167605. This seems like the same approach, but here the filter is "no compute running." None of the tests failing probably means that we are missing tests.

Safekeepers do not initiate connections to pageserver. Instead they publish messages to storage broker, and pageserver is supposed to connect to them after witnessing the messages (only new messages after subscribing).

But what happen if compute is not running? Does pageserver still try to connect to safekeeper?

None of the tests failing probably means that we are missing tests.

Which bad scenario do you mean?
If there is running compute, then it should try to establish connection with pageserer and so activate tenant.
So everything should work in the same way as now.
But if there is no running compute, then tenant will not be activated at PS, PS will not try to connect to safekeeper...
What's wrong here?

Replying to some earlier as well:

I understand that this plays with disk usage based eviction so that we will not be able to evict from tenants which have not been activated. That might not be an issue, unless a huge tenant was active on last session but is no longer in this; we'd forever keep those layers.

No, this PR has almost no relation with disk usage based eviction. As far as I understand there are now no detached clients at all and detaching is one just for migration. This PR is based on the offline client which compute nodes are terminated and so them do not send any requests to page server.

What do you mean by detached client? We detach tenants, but it's not related to disk usage based eviction in pageserver/src/disk_usage_eviction_task. There we only process active tenants, which will not initialize any tenants with your modifications, unless I've misunderstood the list_tenants. Detaching is not part of disk usage based eviction. It is something we hope the control plane will do.

Consumption metrics, is it a problem if we stop updating those? Upstream system could be fixed to pretend the values are constant.

If there is not activity, then there is no need to update metrics, isn't it?

I think that is a fair assumption, but I don't know if it is one we can make.

Safekeepers do not initiate connections to pageserver. Instead they publish messages to storage broker, and pageserver is supposed to connect to them after witnessing the messages (only new messages after subscribing).

But what happen if compute is not running? Does pageserver still try to connect to safekeeper?

Yes, at least as long as safekeepers are pushing those broker updates (see below). Eventually all safekeepers shutdown connections, and pageserver will not retry them until new storage broker events are seen. (See Arseny's reply already linked and reproduced below.)

None of the tests failing probably means that we are missing tests.

Which bad scenario do you mean? If there is running compute, then it should try to establish connection with pageserer and so activate tenant. So everything should work in the same way as now.
But if there is no running compute, then tenant will not be activated at PS, PS will not try to connect to safekeeper... What's wrong here?

See the already linked Arseny's comment on my earlier attempt, copied here:

Second part is not good, as safekeepers will never know that remote_consistent_lsn is up to date, and will push timeline to the broker forever (timeline will stay active at safekeepers).

I assume that this is related to how Safekeepers currently initialize timelines they find on disk as well.
As for the test scenario, I think it'd be like the below:

produce WAL from compute, then shutdown
all safekeepers close connections from pageserver "caught up and no more computes"
safekeepers are restarted
pageserver will contact them because they publish events

this is also related to how we would catch up to new WAL if there was a non-graceful stop, or SIGKILL during a stop (s3 is slow or whatever)

So we use safekeepers as a buffer, but at least before this PR, we've always wanted to clear the buffer as soon as possible, because then they will have more capacity for the active timelines.

What do you mean by detached client?

Sorry, I in turn do not understand your statement:
"I understand that this plays with disk usage based eviction so that we will not be able to evict from tenants which have not been activated." and it was the source of my confusing answer. Now it seems to be that I understand what you mean: if we do not activate tenant on pageserver for inactive clients, then we do not spawn eviction task and layers will not be evicted to S3, still occupying place at pageserver.
I agree that it may be the problem. But the question is what we are going to do with offline clients. It seems to be clear that we can safely do nothing if them are inactive for 10 minutes or one hour. It is suspicious if there is no any request from the client within one day. And if client is offline during whole week or more, then we certainly need to do something not to waste disk space for such client. We can do two things:

evict all layers of the client to S3. It is actually the same as detach client. Which we do not currently perform except for tenant migration.
completely remove project
If we prefer first approach, then we need actually to activate client or at least eviction task to upload all layers to S3.

See the already linked https://github.com/neondatabase/neon/pull/4366#issuecomment-1567167605 on my earlier attempt, copied here:

Second part is not good, as safekeepers will never know that remote_consistent_lsn is up to date, and will push timeline to the broker forever (timeline will stay active at safekeepers).

I think we should discuss with @ars how to handle it.
If compute is not active, then why SK is trying to push something to the broker forever - something wrong is here.
And if compue is offline, it means that it has not send requests for soetime, an most likely SK was able to transfer all WAL to PS.
So there should be no unconfirmed WAL at SK for such client.

safekeepers -- see earlier comments

I hope the problem is solved by @arssher: there should not be ifinite loop of pinging control panel by SK

uses list_tenants()

list_metrics() now returns information about all tenants but not yet activated tenants will have NotLoaded state.
So callers hold handle this state.
It is separate question should we activate tenant just to evict or report metrics.

As a proof of concept, I think the current state is fine

So, what's next?
Should I continue work on this PR?
Or storage team wants to take flag in their own hands, especially because there were a lot of other related changes which are not merged in main?
Or we do not consider lazy loading as right approach and want to postpone it for some future?
From my point of view, the fact that 93% of tenants are offline just mans that lazy loading is "must have" feature
There seems to be no some unsolvable problems.

collect_metrics_iteration and calculate_synthetic_size_worker just ignore inactive tenants.
So if it is considered Ok not to show statistics for offline tenants, then I do not see any problems here.
Right now collect_eviction_candidates forces activation of all tenants. Not sure if it is right behaviour but at least one again - I do not see problems with list_)tenants function here.


Fixed typo in readme, line 5 sortring => sorting

Congratulations on being the first contributor to sieve!


Add support for --with and --without flags

I have added expansion for --with{out}-* flags, which can be useful in certain areas, such as configure scripts. It essentially works exactly the same as the expansion of --{no-}* flags.
I have updated some of the unit tests, although I am not certain whether more are needed. What do you think about this change?

Hi, thank you for the contribution!
I haven't looked at it in detail yet, but I will probably merge it since there is not much increase in code. I am planning to release 3.0 in the near future, and will include it there. Please wait a little longer.

Sorry for the delay. I have merged this. I will be releasing v3.0.0 in the next few days.


Support for log4j.xml configuration?

I would like to verify whether there aren't any other methods to configure Pax Logging, beyond the Configuration Admin service.
If not, I would be interested in writing a patch which would introduce support to use log4j.xml to configure logging. If you already have ideas what this patch should include, do not hesitate to share your thoughts.
Thanks for your feedback,
Dann

I know this issue is very old.
pax-logging-log4j2 allows specification of external (xml, yaml, json, properties) file using org.ops4j.pax.logging.log4j2.config.file property in org.ops4j.pax.logging PID. So still Configuration Admin, but with properties file with only one property.
Same (or even more) with pax-logging-logback - this is the only way to configure Logback, by specifying org.ops4j.pax.logging.logback.config.file property in org.ops4j.pax.logging PID.
To be honest, I don't plan support for external log4j1.xml file, but feel free (after 9 years) to contribute...


Convert operator to be cluster-scoped instead of namespace-scoped

Do we want that?
The operator should be namespace-scoped but only be able to be installed in one namespace. Then we should create one single gatekeeper configuration.
The instantiated gatekeeper cluster should watch all namespaces for gatekeeper-related resources (templates and constraints) and create the necessary admissionWebhooks.


Gift Entry: Error Message feature when advanced mapping is disabled

Critical Changes
Changes
Added an error message to disable use of the gift entry feature if Advanced Mapping has been disabled
Issues Closed
New Metadata
Deleted Metadata

**lurch: attach W-037630

Tracking W-037630

Hey @voduyemi @ptewson-sfdo & @kenlewis-sfdo I took a quick look at this in a scratch org, and the messaging looks good. Thanks!


Error while using prebuild addon on windows: DB is not a constructor

I'm trying to use the prebuild version on windows but im getting this error; TypeError: DB is not a constructor
my code :
const DB = require('./build/Release/better_sqlite3')

const db = new DB('app.db', {})

result of console.log(DB):
{
  Database: [Function: Database],
  Statement: [Function: Statement],
  StatementIterator: [Function: StatementIterator],
  Backup: [Function: Backup],
  setErrorConstructor: [Function (anonymous)]
}

node version: v18.16.0
prebuild package: better-sqlite3-v8.3.0-node-v108-win32-x64.tar.gz

How did you install / add better-sqlite3 to your project. If it has been added properly as a module, you simply require 'better-sqlite3'. Please note, that it is a hypen between the words, not an underscore.

i downloaded the 'better-sqlite3-v8.3.0-node-v108-win32-x64.tar.gz' file from the releases page, copied the 'build' folder into the main directory of the application and tried adding it to the project as i mentioned in the code above. didnt do anything else.
now, i tried require('better-sqlite3') but i got Error: Cannot find module 'better-sqlite3' error.

This is a node package--you need to use npm, yarn or pnpm to install and use it.
I suggest following a basic getting-started guide. https://nodejs.org/en/docs/guides

i know, I can't install it from npm because I don't have the required Visaul Studio c++ packages installed on my computer. I wanted to use the prebuild version because I didn't want to install these packages. Can I do this?

When you install with npm (or yarn or whatever), node-gyp should try to fetch the prebuilt binary automatically as part of the postinstall.
That said, windows installations are super easy with newer versions of Node--just be sure to enable this checkbox when installing, and allow the subsequent choco install to set up your machine.

okey, thank you !


ability to delete linked dimensions

Sometimes a dimension was linked in error and needs to be removed.

Phew, I feel like my subconscious has been wanting this endpoint for a while now...haha


Add a comment filed to the JSON files

Could we add a third (optional) comment field to the JSON file indicating notes/comments.  E.g. "This is the symbol i-phone users create..."?

That would be a good idea!


:art: Restructured build, added test, rm clear

Too many top level dirs caused too much initial
confusion, so I moved all 3 build types into dist:
dist/umd, dist/es, dist/cjs
A default test will greatly help getting started
Removed auto screen clear - screen clear is only good
for watch-style commands, but not when doing intiial
anything. It is good to print everything - gives
everyone a secure feeling that they didn't miss anything.

looks fine to me :) merged
thanks @nyurik & @thibmaek 🎉

Thanks. Now if only we can figure out the new babel upgrade - there are some issues with the size plugin

do you mean the rollup upgrade?

@duivvv yep, there is something fishy with the size plugin - apparently it is not being maintained.

Hey, I fixed the size plugin issue a couple of days ago on one of my repos, let my check

Here is the rollup file fix
https://github.com/danielo515/object-translate/pull/4/files#diff-ff6e5f22a9c7e66987b19c0199636480
And here is the package.json udpate
https://github.com/danielo515/object-translate/pull/4/files#diff-b9cfc7f2cdf78a7f4b91a753d10865a2

@danielo515 can you do a PR?

Sure

thanks @nyurik & @danielo515


Fix dht example

Fix dht example to have a valid did dht and create a new test for an invalid did dht
web5-kt update spec - https://github.com/TBD54566975/web5-kt/pull/271
web5-js add test vectors - https://github.com/TBD54566975/web5-js/pull/453

@nitro-neal The invalidPublicKey error is only implemented in Web5 JS, correct?  In other words, we'd have to update KT, Swift, etc. for them to pass this vector?

They pass in kt and its not yet implemented in swift 👍


[fix] nerdtree's url in README

Helllo, and thanks for creating beautiful color scheme!
I fixed nerdtree's url in README.
Could you check this Pull Request?

Thanks for merge!


feature(API): Adds input validation in all API methods and validates empty user Id.

Adds Input validation in API functions and allow empty User ID.
Forced variation key passed as an empty String will be considered as invalid.
Updated unit tests for empty string variation key.

Coverage increased (+68.3%) to 97.596% when pulling 646dda918e15cc6cff102168e1722a3edfa0ffa0 on yasir/input-validation into 44b3b756ec48c1a2ac4dd7406c8cf676c955c5c0 on master.

Coverage increased (+68.3%) to 97.596% when pulling 646dda918e15cc6cff102168e1722a3edfa0ffa0 on yasir/input-validation into 44b3b756ec48c1a2ac4dd7406c8cf676c955c5c0 on master.

Coverage increased (+68.3%) to 97.596% when pulling 646dda918e15cc6cff102168e1722a3edfa0ffa0 on yasir/input-validation into 44b3b756ec48c1a2ac4dd7406c8cf676c955c5c0 on master.

@yasirfolio3 There are some changes required, most of the changes look good to me. Please make those changes.

@yasirfolio3 There are some changes required, most of the changes look good to me. Please make those changes.

Changes made, please review now.

build

Suggested changes made, please review.


[libcred] Add new port

[x] Changes comply with the maintainer guide.
[x] The name of the port matches an existing name for this component on https://repology.org/ if possible, and/or is strongly associated with that component on search engines.
[x] Optional dependencies are resolved in exactly one way. For example, if the component is built with CMake, all find_package calls are REQUIRED, are satisfied by vcpkg.json's declared dependencies, or disabled with CMAKE_DISABLE_FIND_PACKAGE_Xxx.
[x] The versioning scheme in vcpkg.json matches what upstream says.
[x] The license declaration in vcpkg.json matches what upstream says.
[x] The installed as the "copyright" file matches what upstream says.
[x] The source code of the component installed comes from an authoritative source.
[x] The generated "usage text" is accurate. See adding-usage for context.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is in the new port's versions file.
[x] Only one version is added to each modified port's versions file.

Why don't you just use https://github.com/mamba-org/libcred directly?

Good point, changed the port file to use the original repo and use meson build instead of cmake.
Sorry for the fuzz...
Thanks for the help.

Von: Cheney Wang @.>
Gesendet: Donnerstag, 26. September 2024 11:53
An: microsoft/vcpkg @.>
Cc: Jürgen Herrmann @.>; Author @.>
Betreff: Re: [microsoft/vcpkg] [libcred] Add new port (PR #41189)
Why don't you just use https://github.com/mamba-org/libcred directly?
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vcpkg/pull/41189#issuecomment-2376484286, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABXGSIGQPTBXRFSNKXYTIRLZYPKSXAVCNFSM6AAAAABO4SC4IKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZWGQ4DIMRYGY.
You are receiving this because you authored the thread.