[$250] Web - LHN - The modal key combination doubles when the window is resized

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Issue found when executing PR https://github.com/Expensify/App/pull/12071
Action Performed:

Go to URL https://staging.new.expensify.com/
Login with any account
Click CTRL + I
Resize the window to a minimum

Expected Result:
The modal key combination should not be duplicated
Actual Result:
The modal key combination doubles when the window is resized
Workaround:
Unknown
Platform:

Where is this issue occurring?

Web

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?:  Yes
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

https://user-images.githubusercontent.com/93399543/197784805-b85f4839-ebe9-4990-8b9a-a4872ce22876.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

I can reproduce this, and its can be external

Internal job posting: https://www.upwork.com/ab/applicants/1585063293084028928/job-details
External job posting: https://www.upwork.com/jobs/~01d214c4cbd14da163

Proposal
We need to check if current modal is already showed then decide to show the shortcut modal or not instead of showing it everytime.
Solution
Add the condition inside: KeyboardShortcutsModal: componentDidMount function:
componentDidMount() {
        const shortcutConfig = CONST.KEYBOARD_SHORTCUTS.SHORTCUT_MODAL;
        this.unsubscribeShortcutModal = KeyboardShortcut.subscribe(shortcutConfig.shortcutKey, () => {
-            KeyboardShortcutsActions.showKeyboardShortcutModal();
+            if (!this.props.isShortcutsModalOpen) {
+                KeyboardShortcutsActions.showKeyboardShortcutModal();
+           }
        }, shortcutConfig.descriptionKey, shortcutConfig.modifiers, true);
    }

https://user-images.githubusercontent.com/16502320/197933389-93f89136-cbd0-4be9-a6d2-429604116edf.mov

@parasharrajat Over to you to review proposals!

Checking it.

Didn't get the time yesterday for it. It looks like a regression to me. Let me check that before checking the proposal.

I can't reproduce the issue. cc: @Expensify/applause

~I can't reproduce the issue~. I can now. There is one step missing from reproduction.

you can try to use safari browser.

@0xmiroslav's proposal looks good to me. It is more optimized to move the whole KeyboardShortcutsModal to the Sidebar. Technically it adds extra rendering cost in ScreenWrapper as ScreenWrapper will be present on each screen.
But @0xmiroslav your first PR is still in progress. Let's wait for that to be completed before you work on this (our policy). I will review that today.
cc: @luacmartins
:ribbon: :eyes: :ribbon:  C+ reviewed

Sounds good. @0xmiroslav please ping me once your other PR has been merged so I can assign you to this issue.

Still waiting on @0xmiroslav's PR to be merged to assign them to this issue.

@0xmiroslav's PR is merged. Assigning @0xmiroslav to implement this proposal

Hired via Upwork:

[ ] @0xmiroslav (Contributor fixing the issue)
[ ] @parasharrajat (Contributor+)

@0xmiroslav im still around until Wednesday. Let’s try to get this merged before then!

Today is the day. It's time to follow these steps.
This is the job:

Internal job posting: https://www.upwork.com/ab/applicants/1585063293084028928/job-details
External job posting: https://www.upwork.com/jobs/~01d214c4cbd14da163

I am paying:

[ ] @0xmiroslav (Contributor fixing the issue)
[ ] @parasharrajat (Contributor+)

Important: Payment amounts are variable, dependent on when the PR was merged. Payment timeline all based on the day the contributor has an accepted proposal and is assigned to the Github issue
- Merged PR within 3 business days - 50% bonus
- Merged PR within 6 business days - 0% bonus
- Merged PR within 9 business days - 50% penalty
- No PR within 12 business days - Contract terminated

After you've reviewed the PR and issued payment, comment on the GH issue and include any bonuses or penalties and the total amount paid.
(the above was added on 2022-11-4, post in #bug-zero if you have questions)

Assignment happened on 2022-11-04, and the PR merged on 2022-11-08. With the weekend, that's within 3 business days. So, it's a 50% bonus.
Paying $250.00 + 50% = $375 each. I'll do that tonight

Contributors have been paid, contracts have been ended and job post has been removed. We're all done!


Cannot install via nimble

$ nimble install nimsuggest
Downloading https://github.com/nim-lang/nimsuggest.git into C:\Users\efool\AppData\Local\Temp\nimble_4992\githubcom_nimlangnimsuggestgit using git...
Cloning into 'C:\Users\efool\AppData\Local\Temp\nimble_4992\githubcom_nimlangnimsuggestgit'...
remote: Counting objects: 8, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 8 (delta 0), reused 2 (delta 0), pack-reused 0
Unpacking objects: 100% (8/8), done.
Checking connectivity... done.
Looking for compiler (>= 0.11.3)...
None found, installing...
Downloading https://github.com/Araq/Nim.git into C:\Users\efool\AppData\Local\Temp\nimble_4992\githubcom_AraqNimgit_0.11.3 using git...
Found tags...
Cloning latest tagged version:
Cloning into 'C:\Users\efool\AppData\Local\Temp\nimble_4992\githubcom_AraqNimgit_0.11.3'...
remote: Counting objects: 1928, done.
remote: Compressing objects: 100% (1823/1823), done.
remote: Total 1928 (delta 46), reused 852 (delta 37), pack-reused 0
Receiving objects: 100% (1928/1928), 3.21 MiB | 2.85 MiB/s, done.
Resolving deltas: 100% (46/46), done.
Checking connectivity... done.
Unsatisfied dependency: nim (>= 0.11.3)
$ nim --version
Nim Compiler Version 0.11.2 (2015-10-02) [Windows: amd64]
Copyright (c) 2006-2015 by Andreas Rumpf
git hash: 8dedfdb236cc50a811ec3423de492368d4ed6329
active boot switches: -d:release
$ nimble --version
nimble v0.6.2 compiled at 2015-10-02 22:48:22

After that change, make sure you have the devel compiler installed, otherwise it won't compile.


Warn the user if they've accidentally included the extension in their sample names

This has bitten me before, and just got Simon.
Tested manually, and also verified that no existing sample has a dot in the name.

Looks good!


Mission load to Mavic Air 2 fails

Describe the bug
I am trying to create a waypoint mission in QGC and upload the mission into DJI Mavic Air 2. I created a simple mission with few way points not too far apart or not too near. Here is the plan I made:
{
    "fileType": "Plan",
    "geoFence": {
        "circles": [
        ],
        "polygons": [
        ],
        "version": 2
    },
    "groundStation": "QGroundControl",
    "mission": {
        "cruiseSpeed": 15,
        "firmwareType": 3,
        "globalPlanAltitudeMode": 1,
        "hoverSpeed": 5,
        "items": [
            {
                "AMSLAltAboveTerrain": null,
                "Altitude": 50,
                "AltitudeMode": 1,
                "autoContinue": true,
                "command": 22,
                "doJumpId": 1,
                "frame": 3,
                "params": [
                    0,
                    0,
                    0,
                    null,
                    0,
                    0,
                    50
                ],
                "type": "SimpleItem"
            },
            {
                "AMSLAltAboveTerrain": null,
                "Altitude": 50,
                "AltitudeMode": 1,
                "autoContinue": true,
                "command": 16,
                "doJumpId": 2,
                "frame": 3,
                "params": [
                    0,
                    0,
                    0,
                    null,
                    69.87563169647916,
                    27.001748874546337,
                    50
                ],
                "type": "SimpleItem"
            },
            {
                "AMSLAltAboveTerrain": null,
                "Altitude": 50,
                "AltitudeMode": 1,
                "autoContinue": true,
                "command": 16,
                "doJumpId": 3,
                "frame": 3,
                "params": [
                    0,
                    0,
                    0,
                    null,
                    69.87548199193417,
                    27.00245778528415,
                    50
                ],
                "type": "SimpleItem"
            },
            {
                "AMSLAltAboveTerrain": null,
                "Altitude": 50,
                "AltitudeMode": 1,
                "autoContinue": true,
                "command": 16,
                "doJumpId": 4,
                "frame": 3,
                "params": [
                    0,
                    0,
                    0,
                    null,
                    69.87519571387014,
                    27.002170319742078,
                    50
                ],
                "type": "SimpleItem"
            },
            {
                "autoContinue": true,
                "command": 20,
                "doJumpId": 5,
                "frame": 2,
                "params": [
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0
                ],
                "type": "SimpleItem"
            }
        ],
        "plannedHomePosition": [
            69.87533285459998,
            27.00141540248987,
            0
        ],
        "vehicleType": 2,
        "version": 2
    },
    "rallyPoints": {
        "points": [
        ],
        "version": 2
    },
    "version": 1
}

When I press upload mission button I get this error in Debug Log:
D/MainActivity: loadMission() returned error: The execution could not be executed.(255)

Now that does not tell much... On QGC I get notification that "Mission write failed, vehicle failed to send final ack"
On Rosetta there is no error message on GUI. Has anyone tried the waypoint missions on Rosetta and Mavic Air 2 or how should I debug this further?
Android version I am using is 9 and DJI SDK 4.14 and App version based on 5.1.1
To Reproduce
Steps to reproduce the behavior:

Create blank mission on QGC
Define mission start, launch and few waypoints
Connect drone via Rosetta
Press "upload" button and observe the error...

Expected behavior
Acknowledgement that mission has been uploaded

Latests version on master supports waypoints for all virtualstick enabled drones, but it's hardcoded.
Please confirm your model doesn't support Waypoints using the SDK and I will enable MissionManager for you.


broken link in readme

in others section, fancystatus href link is broken

Appears that no longer exists. Thanks for report 👍


Allowing users to override php-fpm.conf.

Fixes #71
Related to #70

I think I found possible cause. The test is failing with the following error on the server:
  string(255) "2016/03/17 18:08:44 [error] 18#0: *5 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: <IP_ADDRESS>, server: , request: "GET /phpinfo.php HTTP/1.1", upstream: "fastcgi://<IP_ADDRESS>:9000", host: "localhost:65080""

This might be a known issue with keepalive setting in nginx.conf.
https://github.com/perusio/drupal-with-nginx/issues/160
https://groups.drupal.org/node/283558#comment-1016818
I will remove the keepalive setting and see how it goes.

Ok, the build started to pass. I squashed the commits.
@bshaffer can you take a look?

I'd like to see a test, otherwise LGTM

Ok, added simple tests.

lookin' good

Thanks @bshaffer
We need to count master process + child processes. So if you limit the max_children = 1, there should be 2 processes (1 master and 1 child) in the docker image.
This time test should pass!

Algirht, merging!


Dialog content gets resized incorrectly

Godot version
4.2 9957f1a
System information
Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 (NVIDIA; <IP_ADDRESS>3) - Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 Threads)
Issue description
https://github.com/godotengine/godot/assets/2223172/65348e30-85f7-4b6b-aa08-3f3d9fca5a85
Steps to reproduce

Add AnimationPlayer
Add Animation
Go to Animation -> Edit Transitions...
Change Next

Minimal reproduction project
N/A

I can't reproduce the issue like that, but this is just wrong....
https://github.com/godotengine/godot/assets/11782833/decd07ab-c470-461d-a31e-0a9531a4d0ed

Godot v4.2.beta (dcbee437f) - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3070 Ti Laptop GPU (NVIDIA; <IP_ADDRESS>42) - 12th Gen Intel(R) Core(TM) i7-12700H (20 Threads)

Apparently you can call popup* methods on an already visible dialog and it retriggers everything. I'm not sure if this is supposed to be like that.
In this specific case this is called every time you change the value:
blend_editor.dialog->popup_centered(Size2(400, 400) * EDSCALE);


ElectronID Histograms and Studies

The Histograms show the individual cuts for the Electron ID including 2D distribution of the lxy of the Dark Photon.

Hi @m251890, thanks for this PR! On the whole I think things look nice, but I have a question: might it be better to apply the electron cuts (using selections.yaml) as a selection instead of in the histogram definitions?

This PR is looking good @m251890 ! I just rebased this PR onto my main branch and pushed a commit to update some little cosmetic things. I plan to push another commit or two to take advantage of the new matched function, then merge this PR into main.

Done! I moved the electron/dark-photon matching to selections in many cases, which will allow us to plot these quantities for bg samples too. I'll merge this PR now.


[FEATURE] Create Primative Domain Data Types

Description
As I developer, I want to have basic, custom data types at my disposal so that I can properly implement the physics equations that will drive the simulation.
Definition of Done
🟢  Created first round of data types with unit tests
🟥  Utilized these types in the Verlet motion equation

Implemented general motion equations rather than use a specific "Verlet" or "Euler" method.


google-api-client needs to be updated

This dependency relies on google-api-client v1.30.10 which conflicts with dependency: org.springframework.cloud:spring-cloud-gcp-dependencies:
java.lang.IllegalStateException: You are currently running with version 1.30.10 of google-api-client. You need at least version 1.31.1 of google-api-client to run version 1.31.0 of the Cloud SQL Admin API library.

You can specify a direct dependency on the version of google-api-client you require to avoid issues like this.

Dependency mediation - this determines what version of an artifact will be chosen when multiple versions are encountered as dependencies. Maven picks the "nearest definition". That is, it uses the version of the closest dependency to your project in the tree of dependencies. You can always guarantee a version by declaring it explicitly in your project's POM. Note that if two dependency versions are at the same depth in the dependency tree, the first declaration wins.

From https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#transitive-dependencies

Yes and that was the solution, but that's a bad experience if you expect everyone using Spring Boot + Google + this library to do that.


feat: add gemma2b variants

Context
What is the purpose of this PR? Is it to

[x] add a new feature
[ ] fix a bug
[ ] update tests and/or documentation
[ ] other (please add here)

This is related to adding gemma2 support #1813
Changelog
What are the changes made in this PR?
*
Test plan
Please make sure to do each of the following if applicable to your PR. If you're unsure about any one of these just ask and we will happily help. We also have a contributing page for some guidance on contributing.

[x] run pre-commit hooks and linters (make sure you've first installed via pre-commit install)
[ ] add unit tests for any new functionality
[ ] update docstrings for any new or updated methods or classes
[ ] run unit tests via pytest tests
[ ] run recipe tests via pytest tests -m integration_test
[ ] manually run any new or modified recipes with sufficient proof of correctness
[ ] include relevant commands and any other artifacts in this summary (pastes of loss curves, eval results, etc.)

UX
If your function changed a public API, please add a dummy example of what the user experience will look like when calling it.
Here is a docstring example
and a tutorial example

[ ] I did not change any public API
[ ] I have added an example to docs or docstrings

I have pushed changes to the recipes for 9b and 27b (typos in folders' name).
I also ran the single lora recipe for gemma2 9b, everything ran ok. nevertheless the loss seems better with the 2b model, maybe it's just because the larger model overfits more quickly.
logs_gemma2-9b-lora-single_1729686341.txt

Hi @Optimox sorry for the delay here. Given that the flex attention version is still not working properly, how do you feel about pulling it out of this PR? Then we can revisit in a follow-up. For context we are going to be cutting a release soon (targeting code freeze tomorrow) so don't want to block getting this in on something that we can address in a follow-up. Let me know if this makes sense to you.

@ebsmothers yes no problem! What is the best way of handling this? Adding a new commit deleting the flex attention part of this branch ? Or creating a new PR without the flex attention part?

@Optimox honestly whatever is easiest for you. I imagine just a commit deleting the flex code would be simplest, but feel free to do whatever makes sense to you!

@ebsmothers I have removed the flex attention implementation from the code, let me know if there are still other changes to make!

@Optimox Any chance you can get to these last comments today?

Codecov Report
Attention: Patch coverage is 1.23967% with 239 lines in your changes missing coverage. Please review.

Project coverage is 67.44%. Comparing base (54673b7) to head (599c828).
Report is 60 commits behind head on main.

Files with missing lines
Patch %
Lines

torchtune/models/gemma2/_attention.py
0.00%
100 Missing :warning:

torchtune/models/gemma2/_component_builders.py
0.00%
71 Missing :warning:

torchtune/models/gemma2/_convert_weights.py
0.00%
35 Missing :warning:

torchtune/models/gemma2/_model_builders.py
0.00%
24 Missing :warning:

torchtune/models/gemma2/__init__.py
0.00%
5 Missing :warning:

torchtune/training/checkpointing/_checkpointer.py
33.33%
4 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1835      +/-   ##
==========================================
+ Coverage   67.05%   67.44%   +0.38%
==========================================
  Files         305      316      +11
  Lines       15937    17143    +1206
==========================================
+ Hits        10687    11562     +875
- Misses       5250     5581     +331

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

I have pushed some minimal changes which take into account the fact that we are not using spda with gemma2 so the masks must be converted from boolean to True -> 0s and False -> -inf as discussed here.
There is one last identified concern on my side, @ebsmothers I think I answered somewhere that packed dataset was working but actually it is not.
The first reason is that when I run the code with torch 2.5, then flex attention is considered to be available, so block masks arrive in flex attention format which is a problem without a flex attention implementation for gemma2.
If I manually disable flexattention (I don't know how to disable it locally or automatically) then I had a broadcasting issue which has been solved in my latest commit.
So currently the code won't work for packed dataset for  torch > 2.5.

@Optimox thanks for your patience in the review process here. Is this comment about unusually low losses still a concern? I ran a few of your configs on my end and the loss does increase pretty dramatically (though I also don't have a baseline). For reference here are some loss curves:

Otherwise regarding the fact that packed is not yet supported, it seems like we should raise an error somewhere if that's the case. Maybe inside the attention if we receive a BlockMask there? (Though open to other thoughts you have on this)

@ebsmothers yes the comment was before the fix of the slinding window attention mask.
I have added a NotImplementedError for the BlockMasks and made the small fixes in the yaml files you pointed.
Let me know if you think some other changes should be made!


Remove unnecessary QFIELDCLOUD_DEFAULT_NETWORK env

Can we still keep the variable with empty default value, but when the value is empty, get the network name as you do in this PR?

I was working towards reducing env vars.
But if you want to use it for running stacks in parallel or experimenting with workers?
Though I do not directly see a usecase where the network is not derived from COMPOSE_PROJECT_NAME ... ?


Button/Tab styling: all borders are rounded

Description
There is an issue where all the borders are rounded for button tabs, making them look weird:

It's done in use-green for React:

.use-green{ --sg-border-radius: 4px; }
Would it not be better to have only the outer borders rounded, e.g. border-radius: 4px 4px 0 0?

This would remove the need to place an !important to override this.
Who will benefit from this feature?
Leasing team & anyone else who uses Tabs styling.
Anything else?
No response

Hi @vizorian, I suspect the issue is that the wrong markup is used for the tabs, which causes incorrect style to be applied.
From what I can see, the tabs in Storybook looks correct. Check here, and have a look at the markup for reference:
https://sebgroup.github.io/green/latest/chlorophyll/?path=/docs/components-tabs--tabs
I will close this issue since it does not appear to be an issue with the framework itself, but feel free to re-open if you think this is wrong!


Slides are squashed on IE11

Describe the bug
Slides are squashed on IE11.
It's a problem with the width calculation because it's set to 0 on the slides.
To Reproduce
Steps to reproduce the behavior:

Go to https://baianat.github.io/hooper/examples.html with IE11

Expected behavior
The carousel should look right.
Screenshots

Desktop (please complete the following information):

OS: Windows
Browser Internet Explorer
Version 11

Thanks for reporting this, this is fixed in 0.2.3.
The docs have IE11 issues due to Vuepress 1.0 not polyfilling properly but hooper should be working fine for IE11 now.
You can test it here:
https://jsfiddle.net/logaretm/wvknhzso/1/

The polyfills added in https://github.com/baianat/hooper/commit/26dda3e331b77d7d6576c2ca700a7ba784efaf91 were removed in https://github.com/baianat/hooper/commit/7bd674f16c45b2c42ea04d55f38da511132a1758

@DavidRouyer Thanks for reporting this, fixed 0.3.1


Dataset viewer issue for McGill-NLP/feedbackQA

Dataset viewer issue for 'McGill-NLP/feedbackQA'
Link: link to the dataset viewer page
short description of the issue
The dataset can be loaded correctly with load_dataset but the preview doesn't work. Error message:
Status code:   400
Exception:     Status400Error
Message:       Not found. Maybe the cache is missing, or maybe the dataset does not exist.

Am I the one who added this dataset ? Yes

thank you so much


terminus wp: Send “Running wp…” to STDERR

The informational (verbose) message about what command is running gets in the way of scripts capturing the output. For instance:
version=$(terminus wp core version --site=example)
echo $version
# => Running wp core version on example-dev 4.2.2

The informational message should be sent to STDERR instead.
As an aside, the Terminus\Loggers\Regular class should expose a public method for writing to STDERR.

Thanks for trying to solve this issue. Unfortunately, I think that piping output to STDERR is not the best solution because the output is debug/verbose in nature, rather than an error.
I think a better solution is would be to not output anything by default, and instead offer a --debug flag. Do you think you would be able to implement that alternatively?

Output to STDERR doesn't imply that it is necessarily an error: https://en.wikipedia.org/wiki/Standard_streams#Standard_error_.28stderr.29
So the output to STDERR can be diagnostics, or additional verbose messages. For instance, if you invoke curl with verbose output, all of the additional information that isn't output from the HTTP response is sent to STDERR.

I think the best course of action would be to provide a log-level within the Terminus::line function, and then we can send that to the appropriate buffer (or not output it all).

This has been fixed by the new logger (#477) and the new way of dealing with output (#485)


version control of images and font files

I am looking for solutions to replace the url in css file ,such as background:url(../a.png) to something like background:url(../a_acefe50.png), which acefe50  is the hash of a.png。
is it possible to archive this using webassets.

Not currently, no.


Undefined symbols after installing through SPM

[REQUIRED] Step 1: Describe your environment

Xcode version: 12.0.1
Firebase SDK version: 6.33
Firebase Component: Analytics, Crashlytics
Component version: Not sure where is this?
Installation method: Swift Package Manager

[REQUIRED] Step 2: Describe the problem
Steps to reproduce:
After installing through SPM, the build keeps failing due to missing symbols from libz and libc++ but it turns out it doesn't work even if you add those. It seems you need to use the latest ones:
Thought this might be of use to anyone

Do the errors go away if you add -lc++ to your build target's Other Link Flags?

Hi @morganchen12 ! No, that didn't work for me. This was the only thing that did the trick

@jeremangnr Thanks for sharing! I'm going to close since there's nothing actionable for us without a reproducible example.


iOS - overlap of text in the status bar

Adapt It Mobile Version: Milestone 0.5.5
Operating System: iOS
Severity: 3
(reported by Graeme during testing)
Description: There doesn't appear to be enough room in the title bar for the status bar elements provided by iOS (the charge % left, current time, etc.). From the iOS UI guidelines:
Avoid putting distracting content behind the status bar. In particular, you don’t want to imply that users should tap the status bar to access content or activate controls in your app.
It was seeing a control of AIM overlapping the status bar that bothered me. As a frequent IOS user it just didn't "feel right".
 If you hide the status bar, be sure to let people retrieve it (and the appropriate app UI) with a single tap. Unless you have a compelling reason to do so, avoid defining a custom gesture to redisplay the status bar because users are unlikely to discover such a gesture or to remember it.
There may be times when AIM needs as much screen real estate as possible, and it may be that the status bar is not particularly relevant at those times. If so, then hiding the status bar may be the thing to do. I often see this when using IOS - and IOS users get to know that if they tap in the status bar area it will reappear. But the app should not put its own buttons in the status bar area - a tap in that area should only restore the status bar.
--
[EDB] it looks like this might be due to some change in the way iOS handles the status bar overlap for versions of iOS > 7.0. The following Stack Overflow topic covers this in some detail: https://stackoverflow.com/questions/28546873/cordova-phonegap-ignores-fullscreen-preference-in-config-xml-on-ios.

Some more info on the status bar issue:
It looks like there was yet another change in iOS 9 that is causing more headaches for the status bar: https://stackoverflow.com/questions/32965610/hide-the-status-bar-in-ios-9. I tried adding the UIViewControllerBasedStatusBarAppearance key to the .plist file, and it did hide the status bar when combined with setting the UIStatusBarHidden key to true.
BUT, from that the iOS guidelines note, Apple recommends having the status bar visible and adding 20 pixels of dead space above the status bar (of the same color as the status bar), so that the UI controls don't overlap the status controls.
So it looks like the fix should be to check to see if we're running on iOS (using the device plugin API), and add 20 pixels to the top of the status bar if so.


as prop doesn't work with the Button component

To solve it you've to pass it manually 😑.

There's only one solution for this problem which is importing the row component that you want.
You can do so via importing StyledButtonPrimary, StyledButtonSecondary, or StyledButtonTertiary from /components/Button.


preserve existing connection_options passed in from manifest yml

Thanks for contributing to the cloud_controller_ng. To speed up the process of reviewing your pull request please provide us with:

A short explanation of the proposed change:

An explanation of the use cases your change solves

[x] I have viewed signed and have submitted the Contributor License Agreement

I tried but the link (https://www.cloudfoundry.org/individualcontribution.pdf) gives 404

[ YES] I have made this pull request to the master branch

[YES ] I have run all the unit tests using bundle exec rake

[ NO] I have run CF Acceptance Tests on bosh lite

Merged in master.

Hey @yatzek,
Thanks for your pull request. However, we noticed that you failed to successfully sign the CLA, which is required for all PRs. There might have been some error registering your initial CLA signature. It would be great if you could please sign it again so that dreddbot properly recognizes it. Otherwise, we would have to revert this PR merge unfortunately.
Reopening this PR for now.
Thanks,
@michaelxupiv && @zrob

Hi,
Sorry about that, sent now.
Jacek

@michaelxupiv We have the CLA on file from @yatzek now. Feel free to merge!

Thanks @yatzek. Closing the issue now, the PR has been merged.


Skip UID verification when ipmi config is missing

This will make collins' intake process skip UID based identification when IPMI data is missing.
Let me know if you need this configurable.

Shouldn't there be a config "feature" test enabling this change in behavior?  Ideally there would be unit tests too.

@roymarantz 'config "feature" test'? You mean adding some flag to app/collins/intake/IntakeConfig.scala like strict_validation:

default: true, current behaviour
false, skip validation steps for which config is missing (like UID for ipmi but later maybe chassis tag if that's missing)

Tests would be ideally but I'm not very familiar with scala and there are no existing tests for the intake stuff I could extend easily. If you can point me in the right direction, I can look into this though.

By feature I mean something like https://tumblr.github.io/collins/configuration.html#features and a simple example of its use can be found in app/collins/util/StateMachines.scala just look for Feature.
I can't find an instance of a similar kind of test 😞
Is there an advantage to adding such a feature test in app/collins/intake/IntakeConfig.scala instead of where your code change is?

Ah, i see. Yes such feature works for me. Would call it sloppyIntake?

The name doesn't matter to much, but I'd favor something more descriptive like optionalIpmiIntake

@roymarantz Like this?
I also want to add another feature to allow skipping chassis verification as well, so might want to wait before merging this.

this looks fine with me 👍
I'd suggest adding the other feature in another PR unless you believe it is tightly linked to this one.

Fine with me. Then this is ready to get merged!

@Primer42 Ping?


try setuptools first then distutils

Setuptools has some useful features over distutils, especially for package development.
See this StackOverflow post for more information: http://stackoverflow.com/questions/25337706/setuptools-vs-distutils-why-is-distutils-still-a-thing

This change was already in place on develop.


Validate that implemenation types are assignable to service types

We didn't have an explicit check like this so event with ValidateOnBuild nothing would get thrown and resolution fails with type cast exception.
Fixes: https://github.com/aspnet/Extensions/issues/696

Why not make it so you can't construct bad descriptors?

It would be a breaking change without opt-out.

Isn’t it broken anyways?

No, service might have never been resolved or overridden by another descriptor.


link is broken

The link that refers to pre-trained models is broken. I couldn't find the pre-trained models.

The link that refers to pre-trained models is broken. I couldn't find the pre-trained models.

https://github.com/commaai/openpilot/tree/master/selfdrive/modeld/models
Submit a PR to update the doc, please

Their model output has changed over the time, I'm aware of that.
You'll need to understand their latest model output and reparse it in order to use my script.


Documentation unclear for EVP_PKEY_get_raw_public_key and EVP_PKEY_get_raw_private_key for 25519 keys

The documentation for these functions says:

The number of bytes written is populated in *len. If the buffer priv is NULL then *len is populated with the number of bytes required to hold the key. The calling application is responsible for ensuring that the buffer is large enough to receive the private key data.

Actually we found that you need to set the len argument to the size of your buffer before you call it.  (This is for X25519 and ED25519 keys, at least.)
I noticed that some functions in OpenSSL that have signatures like this have in/out arguments, so you have to set the size to the size of your buffer calling the function.  For others, it's strictly an output argument, and your buffer just needs to be big enough.  (e.g. EVP_EncryptUpdate).
EVP_DigestSignFinal is an example of a function that does requires you to set the length to the size of your buffer before calling. it.  The documentation for that function reads:

If sig is not NULL then before the call the siglen parameter should contain the length of the sig buffer.

So: For EVP_PKEY_get_raw_public_key, is the documentation wrong, or the code?  I could make a PR if I know which is correct.

This was fixed by https://github.com/openssl/openssl/pull/11254


[FEAT] Support Claude API keys

Is your feature request related to a problem? / 你想要的功能和什么问题相关？
Claude console allowes users to get an API key to access Claude models
Describe the solution you'd like. / 你想要的解决方案是什么？
Please add Claude API support in ChatALL to access claude models
Describe alternatives you've considered. / 你考虑过的其他方案是什么？
web access is extremely unreliable.  API access is much more stable.
Additional context / 其他信息
https://console.anthropic.com/ has info. about its API

Still, nobody is working on this feature? Ok, I posted an upwork job for $30.  https://www.upwork.com/jobs/~0195c9514bee641e1f

Hello !! I would like to work on this.

take the job on upwork then.
On Wed, Mar 27, 2024 at 10:58 AM Owais Hasnath Ahmed <
@.***> wrote:

Hello !! I would like to work on this.
—
Reply to this email directly, view it on GitHub
https://github.com/sunner/ChatALL/issues/745#issuecomment-2023438867,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMNIRVTFWSQ3KDWL6HIWX3Y2MCGFAVCNFSM6AAAAABEL6XWYOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRTGQZTQOBWG4
.
You are receiving this because you authored the thread.Message ID:
@.***>

yes, please.

I have created an accout on Upwork , it will take a few days to verify my identity. I'll work on this in the meantime , and let you know if I have any queries.

pin me after you apply for the job on upwork.
On Wed, Mar 27, 2024 at 11:00 PM Owais Hasnath Ahmed <
@.***> wrote:

I have created an accout on Upwork , it will take a few days to verify my
identity. I'll work on this in the meantime , and let you know if I have
any queries.
—
Reply to this email directly, view it on GitHub
https://github.com/sunner/ChatALL/issues/745#issuecomment-2024461750,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMNIRQDJZABRGMJ4GMOL2LY2OWXRAVCNFSM6AAAAABEL6XWYOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRUGQ3DCNZVGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hi @chunhualiao I have placed my bid in Upwork.


epic(ui): Implement Issue Views

[ ] https://github.com/cloudoperators/greenhouse-extensions/issues/318

duplicate issue.


Set up remembering right/wrong and prioritize accordingly

Random, but with higher "weight" on:

Wrong > right
Guessed, wrong === right
Not yet guessed
Guessed, right > wrong, wrong > 0
Guessed, 0 wrong

Maybe based on state update?


f/MAT-416 Editor locking

Adds the Locking mechanisms to the editor service
UI: https://github.com/opencast/opencast-editor/pull/617

@ts23 @JamesUoM it been a while and this hasn't moved, any news?

I can't fix this as the PR is from Tobias' own repo rather our team's. I will resubmit when ready.


Minor edits

Reference Issues/PRs
What does this implement/fix? Explain your changes.

Minor edit in tests
Minor edit in description

Any other comments?

Codecov Report

Merging #161 (794b26b) into dev (27317de) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               dev      #161   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         4
  Lines          556       556
  Branches        83        83
=========================================
  Hits           556       556

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


MAINT: removed undisposible, unnecessary onedal module helpers

Description
Refactor onedal modul helpers. Removing undisposible, unnecsary onedal module helpers. This functions are not scikit-learn-like and are rarely/not used.

removed _get_2d_shape
removed _convert_to_dataframe

/intelci: run


Working parallelization of the function but the perform degrades

The early exit condition of the serial implementation is faster than N-way parallelization.

YOU SHALL NOT PASS


Opacity reveals components with negative zIndex on back-swipe

when navigating backwards by swiping a screen from left to right on iOS, the screen that is being navigated back to is opaque, which is usually a neat effect. However, I have a Loading component that is not in the StackNavigator that is positioned behind it with a negative zIndex. As a result, the StackNavigator going Opaque reveals the Loading component underneath as well.
I can probably just create another intermediate solid component, but just wanted to point out this use case.

Going to close this since there hasn't been any discussion and it seems that it's a relatively isolated case.


[video_player] [android] Add possibility to restart video after error (for instance connection loss)

Use case
For now I need to recreate controller if video player has connection loss. That makes complicated work with video_player.
Proposal
Handle this on native side. I don't know exactly how to implement this with AVPlayer but Exoplayer has something like that.
final class CustomPolicy
        extends DefaultLoadErrorHandlingPolicy {

  @SuppressWarnings("deprecation")
  @Override
  public long getRetryDelayMsFor(
          int dataType,
          long loadDurationMs,
          IOException exception,
          int errorCount) {
      return 5000;
  }

  @Override
  public int getMinimumLoadableRetryCount(int dataType) {
    return Integer.MAX_VALUE;
  }
}

@stuartmorgan I've investigated deeper for this issue and I've realized that issue is android specific. Player on iOS can handle this on native already. I think that this is impossible to fix without https://github.com/flutter/flutter/issues/68914 because player is destroying its state on error. I propose to replace this behavior with onError callback or addErrorListener which could be used to handle errors every time they come from native. It could be useful for exoplayer for example because it sends this periodically and we can retry to start player on this. But actually we can't now because initialize method creates new player if called more than once instead of just preparing. So for this issue is also required to add possibility to call initialize method one more time or introduce new method prepare. What do you think about these changes?

Alternatively we could prepare player on error by default on android native as I made here https://github.com/flutter/plugins/pull/4693/files . one thing I would do here if it's approvable is adding ready which I mentioned is better than initialized event in this case but that way we lose control.


Issues with special chars in initial_root_password

I'm using a strong initial_root_password which contains several special chars like:   ^*[+ etc. , and this line:
https://github.com/chef-cookbooks/mysql/blob/master/libraries/helpers.rb#L124
Is completely ruining the password, as it is escaping all special chars for use in a shell, but it is used in a mysql function PASSWORD() not in a shell.
So, If I change this line from:
Shellwords.escape(new_resource.initial_root_password)

To:
new_resource.initial_root_password

It works as expected.
So please, remove Shellwords.escape from the initial password, so we can use strong passwords with special chars.
Thanks

I have the same issue - the link in the original issue above is out dated but the shell escaping still happens, at https://github.com/chef-cookbooks/mysql/blob/master/libraries/helpers.rb#L307
Currently it's not possible to start an instance with a strong password - the password is set, but of course then the mysql box is unreachable because the stored password has the undesired escaping.


Can you add the hardware your purchased?

I was wondering if you could add to this project to list the specific LED's and microcontroller hardware you purchased for the project? Looks fun.

Yes, I just added it here: https://github.com/axodox/Lux


Deprecation warning

Could we add a deprecation warning that will appear once users call import cosima_cookbook that would inform them that ACCESS-NRI Intake catalog is preferred?
Is this a good idea?
cc @AndyHoggANU, @aekiss, @anton-seaice, @angus-g

Its good in theory ... but I don't think cms ever update the cosima-cookbook conda package anymore, so no user would ever see it.

We'll ask them to do so.


Fix scons vcxproj in OS X

On OS X, the preprocessor definition NO_LOG_UNHANDLED_EXCEPTIONS was incorrectly added with the target 'vcxproj'

I'm still getting this error:
Jade:~/Development/rippled> scons vxcproj
scons: Reading SConscript files ...
NameError: name 'env' is not defined:
  File "/Users/howardhinnant/Development/rippled/SConstruct", line 1238:
    PhonyTargets(env, count = do_count)

I'll search back through the commits to find out which one started this error.

Pro tip:  Try to spell vcxproj correctly.

👍   This appears to fix it now for me too.

Merged as 71a30a57cb6ce58771b0f70b8c833c43afe928a9


"SPI Interface Error"/"ACK CMD SPI interface Error! END" using Uno, Mini 2MP Plus, standard wiring, ArduCAM_Mini_2MP_Plus_functions

Setup:
Arduino UNO
ArduCAM 2MP Mini Plus
Wired as advised at https://www.arducam.com/wp-content/uploads/2017/12/ArduinoConnection-.jpg
Software:
ArduCAM_Mini_2MP_Plus_functions, also ArduCAM_Mini_2MP_Plus_VideoStreaming
Issue:
Getting an SPI error during setup, where temp is not being set to 0x55
ArduCAM_Mini_2MP_Plus_functions lines 62-64:
//Check if the ArduCAM SPI bus is OK
myCAM.write_reg(ARDUCHIP_TEST1, 0x55);
temp = myCAM.read_reg(ARDUCHIP_TEST1);
COM Output:
ACK CMD ArduCAM Start! END
ACK CMD SPI interface Error! END
(repeats)
Host V2 Output:
ArduCAM Start!
SPI interface Error!
(repeats)
Have also tried with UNO's alternate ICSP ports, different CS pin in hardware + software (10), as well as with an Arduino Mega, all have the same issue.
Is something wrong with my ArduCAM?

I've had this error before while working with ArduCAM example code for my NodeMCU ESP8266 board.  I had to unplug the USB cable to fully power down the MCU, then close and re-open the Arduino IDE and ArduCAM_Host_V2.  After recompiling, this error resolved itself.
Otherwise, try running i2c_scanner.ino to see if you can read the I2C address of the ArduCAM.  If that doesn't work, you'll know there is a problem with your ArduCAM.

Hmm, restarting doesn't seem to help so far.
I tried running i2c_scanner.ino from https://gist.github.com/tfeldmann/5411375 with additional println's in the for loop. The code hangs after the first "error = Wire.endTransmission();" line testing address 0x01. When testing with a different I2C device (a magnetometer) however the i2c_scanner.ino code works no problem.
Any ideas why this could be?
Sorry I'm still quite new to this, thank you for your help.

The i2c_scanner tests the I2C bus, rather than the SPI bus, but ArduCAM uses both.  If you can't read the I2C address of the ArduCAM, there's a problem with either your connections or the ArduCAM itself.
Try i2c_scanner again, but disconnect everything except GND, VCC, SDA, and SCL (the last two are the data and clock pins for the I2C bus).  If these four pins are connected correctly, but the I2C address of the ArduCAM can't be read, there's likely a problem with your ArduCAM.

Yeah, no response from the i2c_scanner with the ArduCAM unfortunately, working fine with other devices. Might have to try return the ArduCAM.
Thank you for your time.

@jamiemccoll1
Hi，
Your COM output SPI Error, which is a problem of SPI bus, first confirm that the CS of the camera is 7, as shown in your wiring diagram.The second is to make sure that the SPI does not share a bus with other devices, because some SD module will not release the occupied bus.

The CS of the camera is 7 both in wiring and in software, and no other devices are connected to the Arduino.

@jamiemccoll1
Make sure you choose 'Arduino UNO' in the Arduino IDE, Tools-- >Board: because different development boards have different pin definitions, if you choose the development Board and the hardware are not consistent, there will be errors.

I have selected the Arduino Uno in the Tools section and made sure to be using the correct COM port also.


General issue

Description of the issue
[2020-04-18 13:37:37] [build] [2020-04-18 13:37:37] [WARN] Cannot auto-detect a single build directory. Candidates : .\m
aliciousRMIServer,.\test
Finalizing database at E:\Soures\Spring-Boot-Actuator-Exploit\javatest.
A fatal error occurred: No source code was seen during the build.
This can occur if the specified build commands failed to compile or process any code.

Confirm that there is some source code for the specified language in the project.
For codebases written in Go, JavaScript, TypeScript, and Python, do not specify
an explicit --command.
For other languages, the --command must specify a "clean" build which compiles
all the source code files without reusing existing build artefacts.

[2020-04-18 16:09:14] [build] [ERROR]
[2020-04-18 16:09:14] [build] [ERROR] Re-run Maven using the -X switch to enable full debug logging.
[2020-04-18 16:09:14] [build] [ERROR]
[2020-04-18 16:09:14] [build] [ERROR] For more information about the errors and possible solutions, please read the following articles:
[2020-04-18 16:09:14] [build] [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[2020-04-18 16:09:14] [ERROR] Spawned process exited abnormally (code 1; tried to run: [D:\codeql\codeql\tools\win64\tracer.exe, D:\codeql\codeql\tools\win64\runner.exe, cmd.exe, /C, type, NUL, &&, mvn, clean, package, -f, pom.xml, -B, -V, -e, -Dfindbugs.skip, -Dcheckstyle.skip, -Dpmd.skip=true, -Denforcer.skip, -Dmaven.javadoc.skip, -DskipTests, -Dmaven.test.skip.exec, -Dlicense.skip=true])
A fatal error occurred: Exit status 1 from command: [D:\codeql\codeql\tools\win64\runner.exe, cmd.exe, /C, type, NUL, &&, mvn, clean, package, -f, pom.xml, -B, -V, -e, -Dfindbugs.skip, -Dcheckstyle.skip, -Dpmd.skip=true, -Denforcer.skip, -Dmaven.javadoc.skip, -DskipTests, -Dmaven.test.skip.exec, -Dlicense.skip=true]


Support for Calculating Surface Area Using Implicit Solvation Models in gpu4PySCF

Hello,
I am currently conducting DFT calculations using ORCA, utilizing implicit solvation models such as CPCM and SMD. In ORCA, when using these solvation models, the .cpcm file provides values for surface points' charges and areas.
I am interested in performing similar calculations using gpu4PySCF and would like to know if gpu4PySCF supports these functionalities. Specifically, I am looking for information on whether it's possible to calculate and extract surface area values using implicit solvation models in gpu4PySCF.
Below is an example of what the .cpcm file looks like in ORCA:

Any guidance on how to set up and use such features in gpu4PySCF would be greatly appreciated.
Thank you!

Those intermediate variables are stored in mf.with_solvent.surface and mf.with_solvent.__intermediates. They are not documented.
mf.with_solvent.surface contains the info when the surface is generated. For instance grid_coords for grid coordinates, switch_fun for the value of switching function, area for grid area.
https://github.com/pyscf/gpu4pyscf/blob/master/gpu4pyscf/solvent/pcm.py#L156
mf.with_solvent.__intermediates contains the intermediate values during the calculations. For instance, K for the stiffness matrix, R for the matrix on the right hand side. q for the charge. q_sym for the symmetrized charge. v_grids for the potential on grids.
https://github.com/pyscf/gpu4pyscf/blob/master/gpu4pyscf/solvent/pcm.py#L338


Validation messages overwrite

This change will give possibility to overwrite one or more validation messages in instance of schema.

Coverage remained the same at 100.0% when pulling 4de30b0f067d2e7b9378cc07709a03c10dd5ddac on validationMessagesOverwrite into cae3ed342668e33bef719ab13a28504795283425 on master.


Improve the UI of sum of Square calculator

Proposal
(A clear and concise description of what the proposal is.)
I would like to Improve the UI of sum of Square calculator.

Go ahead
Deadline 22 May,2021


multi cameras application

Hi, I am trying to implement this node for multi-drones application.
I have successfully implement this ROS node for single drone to find the drone coordination with respect to the aruco marker.
I am trying to further implement this technique for more than one drone. I have copied the node and rename it into aruco_mapping1, aruco_mapping2 and etc. The nodes are working fine individually; however, when more than aruco_mapping node are running, the position estimation tried to access the same data location and gives wrong position estimation. If I run the node on a separate computer, they did not crash each other. I am wondering how can I duplicate this node for multiple cameras application on a single computer.
Thanks :)

How did you get it working? I am using kinetic and it crashes all the time.
[ INFO] [1492530752.026218808]: Calibration file path: /home/tobias/catkin_ws/src/aruco_mapping/data/geniusF100.ini
[ INFO] [1492530752.026289510]: Number of markers: 10
[ INFO] [1492530752.026327454]: Marker Size: 0.2
[ INFO] [1492530752.026348370]: Type of space: plane
[ INFO] [1492530752.026388816]: ROI allowed: 0
[ INFO] [1492530752.026407971]: ROI x-coor: 0
[ INFO] [1492530752.026424769]: ROI y-coor: 0
[ INFO] [1492530752.026441496]: ROI width: 0
[ INFO] [1492530752.026458780]: ROI height: -1001927151
[ INFO] [1492530752.035126514]: Calibration data loaded successfully
0=(831,411) (1087.99,411) (1088.02,668.016) (831,667.992) Txyz=0.343709 0.151389 0.235617 Rxyz=-1.42916 -1.35729 0.460941
[ INFO] [1492530752.254517718,<PHONE_NUMBER>00]: First marker with ID: 0 detected
[ WARN] [1492530752.255259472,<PHONE_NUMBER>00]: TF to MSG: Quaternion Not Properly Normalized
0=(831,411) (1087.99,411) (1088.02,668.016) (831,667.992) Txyz=0.343766 0.151399 0.235309 Rxyz=-1.42999 -1.35717 0.460874
0=(831,411) (1088,411) (1088,668) (831,668) Txyz=0.341538 0.149472 0.230233 Rxyz=-1.44634 -1.30713 0.4466
0=(831,411) (1088.01,411) (1088.01,668.016) (831,667.992) Txyz=0.340933 0.149358 0.230372 Rxyz=-1.45102 -1.31025 0.437056
0=(831,411) (1088.02,411) (1087.99,668) (831,668) Txyz=0.341727 0.150978 0.238453 Rxyz=-1.41524 -1.37116 0.442001
0=(831,411) (1088.02,411) (1087.99,668) (831,668) Txyz=0.343394 0.151166 0.237032 Rxyz=-1.38549 -1.36814 0.452623
0=(831,411) (1087.99,411) (1088.02,668.016) (831,667.992) Txyz=0.34379 0.151404 0.235194 Rxyz=-1.43026 -1.35712 0.460861
0=(831,411.008) (1088.01,410.985) (1088.01,668.016) (831,667.992) Txyz=0.34111 0.149412 0.230942 Rxyz=-1.4479 -1.3152 0.436765
[aruco_mapping-1] process has died [pid 2001, exit code -11, cmd /home/tobias/catkin_ws/devel/lib/aruco_mapping/aruco_mapping /image_raw:=/camera/image_raw __name:=aruco_mapping __log:=/home/tobias/.ros/log/008f0712-244f-11e7-93d5-7cdd90b1121f/aruco_mapping-1.log].
log file: /home/tobias/.ros/log/008f0712-244f-11e7-93d5-7cdd90b1121f/aruco_mapping-1*.log

[ INFO] [1492530752.026441496]: ROI width: 0
[ INFO] [1492530752.026458780]: ROI height: -1001927151
These two sentences showed that something wrong in your launch or calibration file. Make sure the width and height are correct dimension of your image source

I am facing pretty much the same error message, as you have @TobiMiller. Did you get it to work on ros kinetic?
The issue mentioned by @donald2016 can be solved by editing the launchfile to say:

<param name="roi_w" type="int" value="640" />
<param name="roi_h" type="int" value="480" />

instead of

<param name="roi_width" type="int" value="640" /> -->
<param name="roi_height" type="int" value="480" /> -->

However, this does not solve the problem of shutdown.


Removed sudo suggestion.

Using sudo on Linux and MacOS is not a good idea. My edit contains a link to John Papa's article on using npm without sudo.

Greetings @walkingriver!
Thank you very much from all of us on the Ionic team for submitting this pull request. We appreciate your commitment to improving Ionic. Unfortunately, we are unable to merge this particular PR, as it may cause regressions or is already out of date with regard to recent fixes. We apologize, as we know how much time you may have put into the work.
We hope you will continue to contribute to Ionic in the future. Please note that we are more likely to merge a smaller PR that has a passing test and changes only one meaningful feature in the project.
For more information, please review our Pull Request Guidelines.
Best regards,
Ionitron


Fix plates 1 and 2 IC + rerun

I fixed the CellProfiler pipeline for illumination correction in this PR and reran these plates through CellProfiler analysis.
I reran the code to run through the processing of the outputted SQLite files. I noticed that VSCode determined that Plates 3 and 3 prime are different for normalization and feature selection. @MattsonCam, Can you please confirm that these reruns for plates 3 and 3 prime did not change the values?

It looks like the dataframes are identical for both plates 3 and 3' across all datasets

@MattsonCam Thank you for the review! I will be merging now!


Completely disable rendering under Node

Use case: multiplayer logic. It would be great to be able to run Playcanvas engine on the server-side entirely without a renderer.
Currently, you need to provide a canvas element to create an Application, and we are using https://www.npmjs.com/package/webgl-mock-threejs for this purpose inside the Node.js environment, and that is what we want to avoid.

This has been added recently .. but we're still pending an example to show how to load textures and few other bits. But majority of the engine can be used already: https://github.com/playcanvas/engine/pull/3381

Have you considered using webgl-mock?

Have you considered using webgl-mock?

It isn't working with Playcanvas, currently, we are using webgl-mock-threejs with some tweaks. And this is exactly what we want to get rid of.

Oh, yes, sorry - I see in your original post you mention webgl-mock-threejs. I should have read the issue more carefully.
Could you also do something like:
pc.LayerComposition.prototype.renderComposition = function () {};

Any updates on this?

This has been done few weeks ago, but it's still pending a release: https://github.com/playcanvas/engine/pull/5563
You can make an engine build yourself if you need and give it a test till then.
I'll close this ticket as this is now done.

Reopening this because while you can (mostly) run PlayCanvas in Node (as demonstrated by the engine's unit tests), the script component does not work 'out of the box' in Node. This is because it requires a document to load a script:
https://github.com/playcanvas/engine/blob/1e2eb8b988743ebcbcb90c418498f8a62a857077/src/framework/handlers/script.js#L100-L101
I'm wondering if it is possible to leverage jsdom in a Node environment to solve this problem. If not, we'll need another solution. But either way, I believe it's important for us to have a User Manual page which covers running the engine in Node.


Line comments in kbd config files

Add ability to comment a line, maybe ';' or '//' ?

It would be nice during testing to be able to comment out a line
Actual comments above a line or section would be helpful for future readers

You can prepend a line with # to comment it out.

Oh, very cool! Thank you.
Maybe that should be added to the man page.

Done.


Fix for FD leak

Fixes #38

Hello, any update on this PR ? I'd like to merge it as it fixes a severe issue.

Got caught up with some office work. I will push the changes early this
week.
On Mar 11, 2017 10:32 PM, "Mathieu Stefani"<EMAIL_ADDRESS>wrote:
Hello, any update on this PR ? I'd like to merge it as it fixes a severe
issue.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/oktal/pistache/pull/39#issuecomment-285881002, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABhO50DKm_Vlz2y3RN70PTIBZUfliflAks5rktOmgaJpZM4LfK8m
.

Hi, do you have any update?
To FDGuard here is my implementation:
    explicit FD(const int fd): _fd(fd) {}
    FD(FD &&fd):_fd(fd._fd) {fd._fd = -1;} //move

    explicit operator bool() const {return _fd > -1;}
    int& pure_descriptor() {return _fd;}

    ~FD() {if(!(*this)) close(_fd); }

private:
    FD& operator=(const FD & _) = delete;
    FD(const FD& _) = delete;

    int _fd;
};
static_assert(sizeof(FD) == sizeof(int), "***");```

And second option when `fd` is shared between threads. And the last one should close this:
```using sharedFD_Guard = std::shared_pointer<int, FDcloser>
//and FDcloser
struct FDcloser {  //file descriptor closer!
    int operator()(const int *fd) const {
        return close(*fd);
    }
};```

More information about second option can be found [here]( https://dev.krzaq.cc/post/you-dont-need-a-stateful-deleter-in-your-unique_ptr-usually/)

You should also rebase. The include changed to include/pistache. And probably more changes.
At my level of knowledge I don't know how to add you pull request with patch.
This link create incorrect patch https://github.com/oktal/pistache/pull/39.patch

This PR has not seen any love in a year.  I am inclined to accept a fix as outlined by milipili and myself above, and to close this PR without merging it.
Thoughts?  Discussion?

Go ahead and close it. The proposed fix is better for obvious reasons. This
was more of a hack I had to put in place to stop breaking production.
On Wed, Aug 1, 2018, 19:11 Dennis Jenkins<EMAIL_ADDRESS>wrote:

This PR has not seen any love in a year. I am inclined to accept a fix as
outlined by milipili and myself above, and to close this PR without merging
it.
Thoughts? Discussion?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/oktal/pistache/pull/39#issuecomment-409578376, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABhO576avN7qg7dGhhWWsD0WyM6D-5nUks5uMa_ugaJpZM4LfK8m
.


Fix README gzip description

Fix README issue in gzip input description

Hi @NickDub could you please sign the CLA?


Allow subdirectory_handler to manage the root directory.

https://github.com/bluesky/tiled/blob/4727c775dae1b40da01cba419b4cec7aee0de039/tiled/trees/files.py#L232-L233

No longer relevant: in light of the rewrite of file-walking, this limitation is gone.


Invalid city code: 969

Hello,
Just wanted to report an error I noticed while trying to validate an NVIO CLABE (e.g.<PHONE_NUMBER>00000004). I get the error Invalid city code: 969 when I'm sure the clabe is 100% correct and working because it's being used for transfer.
Thanks!

What is the city and state in Mexico where the branch is located for the bank account?
It will be just a single line of code to add the 969 city.
If you want, you can submit a PR to add the city into the cities array at:
https://github.com/center-key/clabe-validator/blob/main/clabe.ts#L1122

I just realized that NVIO (NVIO Pagos México) is not a traditional bank.
However, the company is headquartered in Mexico City, so it seems an appropriate name for the CLABE city code 969 would be: Ciudad de México (MX-CMX)
      [969, 'Ciudad de México', 'MX-CMX'],

They are an IFPE among others https://www.cnbv.gob.mx/Entidades-Autorizadas/Paginas/FondosPagoElectronico.aspx
I don't have accounts to check the clabe of other entities to see if it's the same unfortunately


LDM acronym is used but not defined.

What is LDM?

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

ID: eda9613d-f954-c8c1-ede0-e4dad3b7d399
Version Independent ID: ebdd8e1f-85a0-af70-2493-d59edc2f816e
Content: Init only setters - C# 9.0 specification proposals
Content Source: proposals/csharp-9.0/init.md
Product: dotnet-csharp
Technology: csharp-spec
GitHub Login: @dotnet-bot
Microsoft Alias: wiwagn

@michael-hawker language design meeting

I'll close this as an answered question.
Not moving to csharpstandard, as the term "LDM" will be removed as part of standardizing any of the feature specs.


Add link to Haskell kubernetes library

Add link to the community-supported Haskell kubernetes library to client-libraries.md.

I've signed the CLA.

/assign @ahmetb

/joke

/lgtm


Updated static api examples

Updated static api examples, added supporting images.

@TonyWalsworthImg the image Awa_client_tutorial_application_positioning_static_api.png is incorrect as there is no client daemon with the Static API, it should look something like:

What we need to show is that the client tutorial application is the only process - with the Awa API we have two processes (the example aplication and the client daemon) that communicate over the IPC that represent the client. With the Awa static API we have a single process that handles the application logic and the LWM2M processing, and this represents the client.

I've adjusted the image in line with suggestions. I've also changed the remaining image to remove the client daemon.

and...

@TonyWalsworthImg looks good, however this needs to be merged with the base branch before we can merge it.

@david-antliff-imgtec I carried out a base branch merge - so should be good to go.


removed status comments and fixed the test cases

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/1387/
Test PASSed.


Updated macpass (0.6.2-alpha)

Thank you for the contribution. It was merged directly as fa875f8b83c0c5252d677b7f5d22cb600cd7ce75 to keep commit history cleaner. Your contribution is still credited to you.


How to use DepthWiseConv2dImplicitGEMM, I only have input channels, kernal, bais

Excuse me, how to use DepthWiseConv2dImplicitGEMM? I only have input channels, kernal, bais, how to replace ordinary nn.conv(in_channels, out_channels, kernel_size, bais), the input parameters seem unreasonable

DeepWiseConv2dImplicitGEMM default to use the DW，so u needn‘t to worry about other arguments

DepthWiseConv2dImplicitGEMM is designed for depthwise conv. So it assumes in_channels=out_channels=groups.

I wonder what if I want the in_channels not equal to the out_channels?
I made some modifications of the original depthwise_conv2d_implicit_gemm.py file:
import os
import torch.utils.cpp_extension as cpp_extension

import _depthwise_conv2d_implicit_gemm_C as _extension

__all__ = ["DepthWiseConv2dImplicitGEMM"]

class _DepthWiseConv2dImplicitGEMMFP32(torch.autograd.Function):
    @staticmethod
    @torch.cuda.amp.custom_fwd(cast_inputs=torch.float32)
    def forward(ctx, x, w):
        ctx.save_for_backward(x, w)
        return _extension.forward_fp32(x, w)

    @staticmethod
    @torch.cuda.amp.custom_bwd
    def backward(ctx, grad):
        x, w = ctx.saved_tensors
        dx = _extension.backward_data_fp32(grad, w)
        dw = _extension.backward_filter_fp32(grad, x, w)
        return dx, dw

class _DepthWiseConv2dImplicitGEMMFP16(torch.autograd.Function):
    @staticmethod
    @torch.cuda.amp.custom_fwd(cast_inputs=torch.float16)
    def forward(ctx, x, w):
        ctx.save_for_backward(x, w)
        return _extension.forward_fp16(x, w)

    @staticmethod
    @torch.cuda.amp.custom_bwd
    def backward(ctx, grad):
        x, w = ctx.saved_tensors
        dx = _extension.backward_data_fp16(grad, w)
        dw = _extension.backward_filter_fp16(grad, x, w)
        return dx, dw

class DepthWiseConv2dImplicitGEMM(nn.Conv2d):
    def __init__(self, in_channels, out_channels, kernel, bias=False, padding_mode='reflect'):
        super().__init__(in_channels, out_channels, kernel, groups=in_channels,
                         bias=bias, padding_mode=padding_mode)
        # _load_extension()

    def forward(self, x):
        if x.dtype == torch.float32:
            x = _DepthWiseConv2dImplicitGEMMFP32.apply(x, self.weight)
        elif x.dtype == torch.float16:
            x = _DepthWiseConv2dImplicitGEMMFP16.apply(x, self.weight)
        else:
            raise TypeError("Only support fp32 and fp16, get {}".format(x.dtype))
        if self.bias is not None:
            x = x + self.bias.to(x).view(1, -1, 1, 1)
        return x

So that I can set different in_channels and out_channels, but when I ran:
x = torch.randn(4, 1, 512, 512).cuda()
conv = DepthWiseConv2dImplicitGEMM(in_channels=1, out_channels=100, kernel=33, bias=False).cuda()
y = conv(x)
print(y.shape)

I got "torch.Size([4, 1, 512, 512])", so I assume the out_channels was intrinsically reset to =in_channels, but is there a way for me to use different input and output channels?

Hi, our low-level code works with the depth-wise case only. If you need to set out_channels != in_channels, you need to customize the low-level code as well. Only modifying the python code will not make a difference.


Update discipline-scalatest to 2.1.3

Updates org.typelevel:discipline-scalatest from 2.0.1 to 2.1.3.
GitHub Release Notes - Changelog - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel", artifactId = "discipline-scalatest" } ]

labels: library-update, semver-minor

Superseded by #281.


Update devise model without password

I'm trying to update an user without provide the password, but the field password is required and the password confirmation isn't! I only can update an user if I provide some password, but I can leave the passoword confirmation blank.
It's the first time that it occurs to me and can't find any solution to fix it...
# user.rb
class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable, :confirmable,
         :recoverable, :rememberable, :trackable, :validatable

  has_many :wishes
  has_many :addresses

  accepts_nested_attributes_for :addresses
end

# rails_admin.rb
RailsAdmin.config do |config|
  ## == Devise ==
  config.authenticate_with do
    warden.authenticate! scope: :admin
  end
  config.current_user_method(&:current_admin)

  config.actions do
    dashboard                     # mandatory
    index                         # mandatory
    new
    export
    bulk_delete
    show
    edit
    delete
    show_in_app
  end
end

I'm using devise 3.4.1 and rails_admin 0.6.7

put this in your /config/initializers/rails_admin.rb
config.model User do
  update do
    exclude_fields :password, :password_confirmation
  end
end

If your devise model is not User than use its name instead.
Please note, now your rails_admin cannot change user passwords. The solution is to make a new action "change password".

Another way to do this (without having to create a custom action) is use a virtual attribute
class User < ActiveRecord::Base

  rails_admin do
    configure :set_password

    edit do
      exclude_fields :password, :password_confirmation
      include_fields :set_password
    end
  end

  # Provided for Rails Admin to allow the password to be reset
  def set_password
    nil
  end

  def set_password=(value)
    return nil if value.blank?
    self.password = value
    self.password_confirmation = value
  end

Then if you want to change the password in the admin, set the password, otherwise leave it blank

@mikel, nice workaround!!!
I think that the bug still there, but with @mikel's woraroud I can change the password.. So.... Should I close this issue or not?

You should close it I think.  It's not really a bug, it's expected behaviour for devise.  The above solves it, so shrug

Thanks @mikel !  I had the same issue and your solution looks promising. I'll give it a try :-)

@yzhanginwa Nice to meet you here!


Update default ruby version for native tasks

When trying to build a native (non cross-compiled) gem I ran into #156.
To fix this, I updated the default for ruby_versions to [ruby_ver]
(which is set to RUBY_VERSION). This shouldn't affect cross-compiled
work since ruby_versions will be set to
@ruby_versions_per_platform[platf] when set.

This can fix the exception but this generates a gem that only includes binary for Ruby that we use to run rake native gem. If we use Ruby 2.6, the generated gem only includes binary for Ruby 2.6. It doesn't usable with Ruby except Ruby 2.6 such as Ruby 2.4 and Ruby 2.5.
Is it useful?
Could you show your use case?

Yes, that's useful for me. In this case I need to have a gem with native extensions installed on a docker container, but I don't want my container to have all the necessary build tools on it. So I'm building the gem in one stage of the build then copying it to the final container (with the same base image / ruby / etc).
If there's a better way to get compile the gem than this, happy to use that. This was the only thing I could make work.

For the use case, you can just copy GEM_HOME:
FROM ubuntu:18.04 as build

RUN \
  apt update && \
  apt install -y \
    cmake \
    git \
    libssl-dev \
    make \
    pkg-config \
    ruby-dev

RUN gem install bundler
RUN git clone --recursive https://github.com/libgit2/rugged.git
WORKDIR rugged
RUN bundle install
RUN rake gem
RUN gem install pkg/*.gem

FROM ubuntu:18.04

RUN \
  apt update && \
  apt install -y \
    ruby

COPY --from=build /var/lib/gems/2.5.0/ /var/lib/gems/2.5.0/


"fully convolutional" extension of mnist example

I am trying to convert the mnist cnn example to a "fully convolutional" net in order to apply it efficiently across an image (like a sliding window). I did the following changes:
	# model.add(Flatten())
	# model.add(Dense(32*196, 128))
	## replaced by:
	model.add(Convolution2D(128, 32, 14, 14))

and
	# model.add(Dense(128, nb_classes))
	## replaced by:
	model.add(Convolution2D(nb_classes, 128, 1, 1))
	model.add(Flatten())

The training step goes well but when testing on input images different than 28x28 I don't get the expected results. For example, here I created an image slightly bigger to have two classifications:
data = np.zeros([1,1,28, 30])
data[0,0,:,:28] = X_train[0,0,:,:]

print('label: %d' % y_train[0])
print(model.predict(data[:,:,:,:28]))
print(model.predict(data))

The output is something like:
label: 5
[[ 0.     0.     0.     0.046  0.     0.954  0.     0.     0.     0.   ]]
[[ 0.     0.     0.     0.     0.     0.     0.036  0.001  0.     0.     0.756
   0.207  0.     0.     0.     0.     0.     0.     0.     0.   ]]

I would expect to see the numbers of the first output in the second one as well since they should correspond to the same data.
Any idea what I am doing wrong?
Here is a gist of the complete script:
https://gist.github.com/mmmikael/cc895249e7941c2f56b3

Is your test data float32? np.zeros defaults to float64.
Didn't know that this can take different size image...

Is your test data float32? np.zeros defaults to float64.

I tried with float32. Same results...

I would expect to see the numbers of the first output in the second one as well since they should correspond to the same data.

No. Since you are using softmax, the result gets normalized to have sum==1.0 so if the output size changes, then it normalized in different way. So if you don't want the result to get normalized then maybe try sigmoid as the final activation.

@mthrok if the normalization was the single problem, wouldn't the output be scaled by 0.5?

I got the feeling that the output is correct, it's just different order than you expect.
Making every two elements into one column it looks kinda similar to the first output.
[[ 0.     0.     0.     0.     0.     0.     0.036  0.001  0.     0.     0.756  0.207  0.     0.     0.     0.     0.     0.     0.     0.   ]]
# Reorder ↓
[[0.      0.     0.     0.036  0.     0.756  0.     0.     0.     0.   ],
 [0.      0.     0.     0.001  0.     0.207  0.     0.     0.     0.   ]]
# which resembles
[[ 0.     0.     0.     0.046  0.     0.954  0.     0.     0.     0.   ]]

This can be explained as follow.
When you feed h28 * w28 and h28 * w29 image, the data shape after second Dropout  is h1 * w1 but when you feed h28 * w30 image, it is h1 * w2. (more precisely, #class * c1 * h1 * w2)
Since Theano uses column major order, when it is flattened at Flatten(), the data order is the mixture of two lines, like probability of [[class1_line1, class1_line2, class2_line1, class2_line2, ..., classN_line1, classN_line2]]

maybe your guess is correct. it looks proportional.

Yes, you were right. Thanks!
After replacing the softmax activation by a sigmoid and reordering the output I am getting the expected results. Also, to be totally consistant, I changed the border_mode of the first convolution to valid. This way, each window evaluation is not influenced by outside pixels.
I have updated my gist here.


[Do not review] remove northstar test

What

Why

How Tested

Process & policy checklist

[ ] I have updated the project documentation to reflect my changes if necessary.
[ ] I have read the CONTRIBUTING documentation.

Is this a breaking change?

[ ] This change causes current functionality to break.

Removing fluent northstar was completed. Closing this PR.
cc @mgamis-msft


datepicker closing modal

I am using the datepicker inside a modal form.
When the calendar widget is displayed and the user clicks on either '<' or '>' (previous/next month) the datepicker and the parent modal are closed.
btw, the modal has 'persistent' set, so it should not close.
Has anyone experienced this or can provide any advice on how to manage it?

Hi,
this seems to work for me:
/// App.svelte
<script lang="ts">
	import Dialog_ from 'smelte/src/components/Dialog';
	import { Button, DatePicker } from 'smelte/src';
	export let name: string;
	let value=false
</script>

<main>
    <Button on:click={()=>{value=true}}>Open Dialog</Button>
    <Dialog_ bind:value persistent>
        <DatePicker/>
	<div slot="actions">
	    <Button on:click={()=>{value=false}}>Close</Button>
	</div>
    </Dialog_>
</main>

Could you share some example code?

I ended up writing my own datePicker, but I suspect the problem is a submit that is propagating up from the datePicker thru the modal.

just in case ->
if you overwrite the whitelistPatterns parameter, ensure you did not remove accidentally the date picker part.
The original whitelistPatterns parameter is as follows:
const defaultWhitelistPatterns = [
  // for JS ripple
  /ripple/,
  // date picker
  /w\-.\/7/
];```

Additionally, there seems to be no way of automatically opening datePicker when Dialog that contains it opened.

Additionally, there seems to be no way of automatically opening datePicker when Dialog that contains it opened.


on.update called twice per update?

Take for example the following code:
var sessionTime = new Date().getTime() + 1200000;
$('#js-countdown-session').countdown(sessionTime)
    .on('update.countdown', function(event) {
        $(this).html(event.strftime('%M:%S'));

        console.log(event.strftime('%S'));
});

When viewing the JS console, each second in the countdown is being output twice (i.e. this is being called twice per update: console.log(event.strftime('%S'));)
Is the update event being called twice per second? Should the 'precision' option have an effect on this? (I tried changing precision to '1000', but saw the same behavior).
Thanks.

Following up on this, it looks like all events are being called twice. For example, If I add to the above code like so:
$('#js-countdown-session').countdown(sessionTime)
    .on('update.countdown', function(event) {
        $(this).html(event.strftime('%M:%S'));
       console.log(event.strftime('%S'));

}).on('finish.countdown', function(event) {
console.log('finish');
});;
"Finish" will be output to the console twice when the countdown is complete.

I think this may be something peculiar to my own code ... I'm trying to do some more advanced things with the countdown. Closing.


Correction for raw affiliation INSERM U1242, University of Rennes, Rennes, France.; Medical Oncology Department, Eugène Marquis Cancer Center

Correction needed for raw affiliation INSERM U1242, University of Rennes, Rennes, France.; Medical Oncology Department, Eugène Marquis Cancer Center
raw_affiliation_name: INSERM U1242, University of Rennes, Rennes, France.; Medical Oncology Department, Eugène Marquis Cancer Center
new_rors: 01yezas83;015m7wh34;02vjkv261;00bf6bf92
previous_rors: 01yezas83;015m7wh34;02vjkv261
works_examples: W4390142757
contact: 9a6d31cb5537eccf5ed166ddf51f9a5f:a4ce8e86063bc4f978ab9e2d210c7b6f @ univ-rennes.fr

This issue was accepted and ingested by the OpenAlex team on 2024-10-10. The new affiliations should be visible within the next 7 days.


add nicer logging to remapper

Just to give you info and to stop me counting documents in folders.

Doesn't affect prod systems, merging.


⚠ Bofrost.lu has degraded performance

In 6e9dc28, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1622 ms

Resolved: Bofrost.lu performance has improved in 3d5c982 after 6 minutes.


Feature: re-created authentication handler for BigQuery

This should 100% resolve the issues experienced in:
Issue 53

Hi @benjaminwestern ,
Thanks for the PR, this is definitely in the right direction. I have added some comments to hopefully make the implementation better

@ashish10alex added an isAuthenticated flag and a seperate verifyAuthentication and checkAuthentication functions

@ashish10alex I have also now added the ability for the user to determine if they want an interval type check (by default) or if they would instead prefer to only attempt to recreate the client on error

Thanks for the additions, @benjaminwestern
When unauthenticated and performing a dry-run, the following error messages are now displayed:

Error creating BigQuery client: Error: Unable to detect a Project Id in the current environment. To learn more about authentication and Google APIs, visit: https://cloud.google.com/docs/authentication/getting-started

If the issue is authentication-related, I suggest refining the message "BigQuery client not available" to be more descriptive. For example:

"Could not initiate a connection to BigQuery. Please ensure you are authenticated and try again. How to authenticate with ADC"

This would provide clearer guidance to users encountering authentication issues.

Thanks @HampB I will update the returned text based on a forbidden vs an expired or non-active ADC

Thanks a lot @benjaminwestern , I tested this again and looks good to me. I'll merge the PR now. We can revisit the above error message semantics later after we have some real world usage plus if any new user complains of them being unintuitive.


PFX secret are not converted to PEM

What steps did you take and what happened:
I’ve created a certificate with App Service Certificate. This one is stored as a secret in a keyvault (PFX with cert and key embedded) in base64. It’s done like that by Azure.
I’ve tried your sample for ingress TLS certificate and have issue.
The certificate is reprieves from Keyvault but not converted in PEM in my container.
I’ve tried objectFormat: pem or pfx without luck.
I’ve played with obectEncoding too (base64) and the main difference is that the pfx is in base64 or binary in my pod.
The secret is created but with tls.crt to empty and tls.key with a base64 encoded string with only the BEGIN PRIVATE KEY and END PRIVATE KEY markers, not the value.
I’m using AKS 1.18 and the latest version of csi driver (helm chart 0.0.13)
No error in logs ... in debug mode
Do you have a sample with PFX secret as source certificate from Keyvault to PEM and K8s secret target ?
What did you expect to happen:
Certificate as PEM in my container.
Kubernetes tls secret with tls.crt and tls.key populated with the right values
.
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Which access mode did you use to access the Azure Key Vault instance:
Pod Identity
Environment:

Secrets Store CSI Driver version: (use the image tag): 0.0.16
Azure Key Vault provider version: (use the image tag): 0.0.9
Kubernetes version: (use kubectl version and kubectl get nodes -o wide): 1.18.8
Cluster type: (e.g. AKS, aks-engine, etc): AKS

I'm on the same versions.
What works for me in SecretProviderClass:
  objectName: "NameOfPFXcertInKV"
  objectAlias: "certificate.pem" #this will be the name of the file exported to the container
  objectType: "secret"
  objectFormat: "pem"

For me this gives me both the private and public key in the pem file set in objectAlias
I tested this by using kubectl cp to get the cert file from a pod that has a secret store mountpoint active.
If you are not getting what you expect I would download the pfx from the keyvault and use openssl to get content:
openssl pkcs12 -in kvfile.pfx -out cert.pem -passin pass:"" -nodes

Not pfx files dl from kv has pwd set to empty string. Then open it up and check that the keys are there.

Tested your conf and still have the base64 encoded pfx in the container.
The certificate came from app service certificate and is created by azure.
I do not want to modify it because I will loose the auto-renew feature.
I’ve convert the certificate in PEM and convert it to pfx without luck.
The public and private key are in the same cert and store as a secret. In my KV there is no key or certificate associated to this PFX. Only one secret with a pfx (cert+key with full goddaddy certification chain)

In my kv the pfx is stored as a certificate. So if you have stored it as a secret, this might be why you have a different experience.
I also use the pfx in another container, but before using it there I have to do a initContiner using tannerfe/alpine-openssl image and do a command:
[
  "sh",
  "-c",
  "cat /secrets/pfxbase64 | base64 -d - > /ssl/certificate.pfx",
]

With the following in SecretProviderClass:
- |
  objectName: "NameOfPFXcertInKV"
  objectAlias: "pfxbase64"
  objectType: "secret"
  objectFormat: "pfx"
  objectVersion: ""

Yes we already do that for converting pfx to pem with initContainer.
My aim is to have this secret injected in a k8s tls secret and set the auto-rotation of csi-driver. This is a new feature released a few day ago I’m waiting for ...
With the 2 auto-rotation (auto-renew of certificate in KV and auto-rotation in csi drivers) the ingress tls certificate are always up to date ...

@deuch The certificate in PFX/PEM format needs to be stored as a certificate. Key Vault on the backend will split the components and store them as secret, key and cert. If the PFX data is stored as a secret it's just a blob which will be returned as is by the Azure Key Vault provider or az keyvault secret download.
If using the CLI, you can upload the PFX file by running az keyvault certificate import. Ref - https://docs.microsoft.com/en-us/azure/key-vault/certificates/tutorial-import-certificate
You can then follow the doc here to determine what object type to use for CSI driver - https://github.com/Azure/secrets-store-csi-driver-provider-azure/blob/master/docs/getting-certs-and-keys.md

I do not import the certificate in keyvault by myself, it’s the azure managed service App Service Cerificate that do it. When t’yoinbuy a certificate from App Service Certificate, you need to choose (mandatory) a keyvault to store it. And it is store as a secret, n’ont a certificate.
If I export and import it as certificate and key I will list the auto-renew and rekey features of app service certificate. Those both features are very important for us.

Thank you for the details @deuch!
Looks like upload the certificate directly as a secret is deprecated and the recommended way is to import it as a certificate.

@jlichwa Do you know when this option will be removed? Should App service be storing the pfx data as a certificate instead?

Thank you for the details @deuch!
Looks like upload the certificate directly as a secret is deprecated and the recommended way is to import it as a certificate.

@jlichwa Do you know when this option will be removed? Should App service be storing the pfx data as a certificate instead?

@aramase Maybe it’s not the official way to import certificate, but it’s how app service certificate work right now :) Only Azure can change this behavior. And it will be nice to have it ASAP to avoid issue in production with expired certificate.
We have everything available in Azure to auto-rotate the cerificate but the azure components are not compatible between them🤨
Again, having this working (auto-rotate of app service certificate in AKS) is truly a killing feature ! 🤯

@deuch I don't think that is how it is how it is recommended for managing app service certificate. You should not upload it as secret. Some guidelines here https://docs.microsoft.com/en-us/azure/app-service/configure-ssl-certificate#import-a-certificate-from-key-vault also adding @sebansal

App service certificate is a managed service of Azure that generate certificates from GoDaddy. It’s app service certificate that store the certificate as secret furring creation not me.
You have no choice to do it in another way. It’s fully done by Azure. I just set the domain and the keyvault and all is automatically store in keyvault as secret and not certificate.
If the official service to generate certificate does not work well with keyvault, it’s not my fault 😀 and I would like to have a solution for that. To be honest I do not care if the certificate is store as secret or certificate, I just want to have a fully functional
Integration between 3 azure/Microsoft product (AKS/CSI/KV/App Service Certificate)
@aramase do you have an answer for this strange behavior ?

@deuch I'm representing key vault, and this CSI Driver for Key Vault. If AppService does not follow our best practices, that is not our fault. You can create issue on them. #please-close

An App Service Certificate is stored as a Key Vault secret. You can export a PFX copy of it and use it for other Azure services or outside of Azure.
How-to commands are provided here by the App Service Team.
https://docs.microsoft.com/en-us/azure/app-service/configure-ssl-certificate#export-certificate

The downloaded appservicecertificate.pfx file is a raw PKCS12 file that contains both the public and private certificates.

An App Service Certificate is stored as a Key Vault secret. You can export a PFX copy of it and use it for other Azure services or outside of Azure.
How-to commands are provided here by the App Service Team.
https://docs.microsoft.com/en-us/azure/app-service/configure-ssl-certificate#export-certificate

Doing that and I lost the auro-renew feature because I need to develop a synchronisation tool between the certificate as secret and the one I exported ... many many productions incident to come ...
Everything is already setup with app service certificate. We just need to be able to retrieve a pfx stored a secret with the csi driver, to mount it as PEM files or PFX in the pod and create the according k8s secret from the PEM files (for ingress purpose).
The certificate is renew in the keyvault by app service ? No issue, with the new auto-rotation feature, new certificate will be retrieved from keyvault and updated in the pod and in the k8s secret ?
Does it make sense to have this feature to avoid update manually certificate in our app ? With auto-rotation set to 24h between check, and the auto-renew 60 days before the expiration date, no more certificate expiration issue. We deploy at least 1 time per week, so pod have always the last version of the certificate.
Our ingress controller (nginx) watch secrets it used and updated its configuration when they changed.
If I put something in the middle or do an import/export, I lost everything that I explained.

@deuch I'm representing key vault, and this CSI Driver for Key Vault. If AppService does not follow our best practices, that is not our fault. You can create issue on them, they need to update their process to follow best practices. For AppService I'm sure they are already notified and they will have to update their process or their ability to upload it to Key Vault will stop working - I will follow up, once I know the timeline (I expect that to still be working next year).
We also added PFX to PEM conversion feature to our backlog. We will assign priority and consider it for next year planning.

You already have the pfx to PEM. You just have to call the method when using a secret instead of a certificate (decodePKCS12 function in provider.go). But you will have limitation with the design of provider.go.

As @aramase mentioned, the app service cert needs to be stored as a cert. Perhaps Azure app service certificate team may be able to assist further.
@Azure/appservice

Or you could try to talk within your organization Azure team A to Azure team B on the things to be aligned to make Azure as a whole more consistent and easy to use from a client perspective.
Anyway we will have the topic escalated through the CSAs where it makes most sense to have it considered.
Thanks anyway !

@deuch I share your frustration with this. Let us find the right contact in Azure App Service and get back to you on this issue.

@deuch I share your frustration with this. Let us find the right contact in Azure App Service and get back to you on this issue.

Thank you !

There is a long term plan to change the object type to "certificate" for App Service Certificates (ASC) that are generated and stored in KeyVault.  For the near term though, it is an implementation limitation of the feature that it stores certificates as type "secret".

In the mean time can we have a patch in the csi driver to be able to use ASC certificates as secret ?

Is there any news on a potential patch in the csi driver ?
On an user perspective, Azure is an all in one service, we expect services to work nicely all together.
I understand it's a long term plan to change the object type to "certificate" for App Service Certificates (ASC) but in the meanwhile we have production outage because of that.
My team and I will really appreciate a patch in the csi driver as of today the only solution seems weird. Export the certificate and re-import it, will break the auto renew, which is the point to use ASC.

@stefsch Gentle ping! Are there any updates for App Service Certificates?

@stefsch Gentle ping! Are there any updates for App Service Certificates?

Same here !

Pinging to keep this alive, as I'm hoping there's a resolution soon. We have a hack in place in the meantime.

Adding @shisriva-msft

Currently facing the same issue here, pinging to keep this issue alive.

They made it …
https://akv2k8s.io/tutorials/sync/9-certificate-as-AKV-secret/

Commenting to keep this issue alive.

Almost 1 year and no news ?

This work to change App Service Certificate as a "certificate" type in KV is still planned and is on our backlog . We don't have any ETA to provide yet regarding this. I am not expecting us to publicly support it this calendar year.

Update on this because I just ran into this as well.

When an AppService Certificate (ASC) is purchased, the PFX cert is stored in AKS as a Secret.
When you add the certificate to an AppService, a new AKV Certificate is created in KeyVault. It appears the AKV Certificate is just a copy of the original AKV Secret.

Clearly, managing the AKS Secrets -> Certificate conversion has already been implemented. Maybe AKS could leverage that same mechanism?

2 years and still not solved... unbelievable people 🤯

this issue will turn 3 years 🎉

I spent the last 2 days trying to figure out why I couldn't make TLS to work, and finally ended up on this page by chance.
It's inconceivable that two teams in the same company keep blaming each other about who is not doing what right, but nobody had the decency of hot-fixing the issue or, at least, documenting it in their own "how to" guide.
This is deeply disappointing.

Still haven't found how to work around this issue ...

@somjex

Purchase AppService Certificate (ASC) and store in Azure Key Vault (AKV)
Create a dummy AppService
Add custom domain on AppService and use the ASC that's stored as AKV Secret.
Et Voila, there's a new Certificate item in AKV that works with AKS..

provided workaround does not work, at least not with wild card certificates.
I created a custom domain,
select import certificate later,
import the certificate from existing ASC,
there is no new certificate item in AKV, but the cert was added to the app service...
coming up on 4 years since this ticket was opened,
the conversion from PFX to PEM is trivial, how is this still an issue?


Host continues to be shown in "Active" state when it was powered down/deleted.

Rancher versions: v2.0.0-alpha12
Steps to reproduce the problem:
Provision a RKE cluster with 2 nodes:
node 1 - all roles
node2 - worker
Wait for cluster to get to "Active" state.
power down node2.
Host state in rancher UI continues to shown as "Active".
Node status is being reported as being "NotReady".
NAME         STATUS     ROLES                AGE       VERSION
sangee20t1   Ready      etcd,master,worker   1d        v1.8.5-rancher1
sangee20t2   NotReady   worker               1d        v1.8.5-rancher1

We should be active to sync this status to Rancher .
Even when host is deleted ( from DO in my case) , host continues to be shown as being in "Active" state.

Is this happening because of Kubernetes default values?
By default, it seems kubernetes takes 5 minutes to evict a node.
https://stackoverflow.com/questions/47317682/kubernetes-node-shutdown-crash-recovery
Some items you can adjust to test:
kubelet: node-status-update-frequency=4s (default 10s)
kube-controller-manager: node-monitor-period=2s (default 5s)
kube-controller-manager: node-monitor-grace-period=16s (default 40s)
kube-controller-manager: pod-eviction-timeout=30s (default 5m)

Now when the node is power down, its state becomes unavailable and a new node will be added to the cluster so that the desired state of the cluster is satisfied.
@sangeethah do you think it is the expected result?

@sangeethah With the changes with node pools introduced later in 2.0, the correct behavior is as @zionwu pointed out. If the host is powered down outside of Rancher, we will mark the node as unavailable and spin up a new node.

It's "intended" for now but I don't think it's "correct" as far as what we ultimately want.  There needs to be mechanisms for controlling the various behaviors of the pool, e.g.how long a node is allowed to be unavailable before it's deleted/replaced, preventing loss of quorum, etc.  @ibuildthecloud was working on options for this stuff last week...

Tested with master from March 20 build. Created a 3 node cluster with ALL roles on each of them.
When a node is Powered OFF it goes to Unavailable state and a new node gets provisioned.
When a node is deleted a new node gets provisioned.