Access PFX files from PowerShell Task in Interactive Mode

Dear Team,
Borderline topic with the Azure Pipelines Task Team
.
Is there any know issue with access the PFX files from PowerShell Task (Microsoft) when the ADO Agent run in Interactive Mode?
Getting  "The system cannot find the file specified." exception when try to import the PFX into the Personal Certificate Store:
Import-pfxcertificate  -FilePath "$Path" -CertStoreLocation "Cert:\CurrentUser\My" -verbose -Exportable
$PATH is valid and same issue with System.Security.Cryptography Namespace.
$certPath = "$Path"   $pfx = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2   $pfx.Import($certPath,$certPass,"Exportable,PersistKeySet")    $store = New-Object System.Security.Cryptography.X509Certificates.X509Store("My","CurrentUser")    $store.Open("ReadWrite")   $store.Add($pfx)    $store.Close()
Manifest signing with Visual Studio on VSTO Projects are also not working:
 The "ResolveKeySource" task failed unexpectedly.
System.Security.Cryptography.CryptographicException: Access is denied.

On this case, the VS is also try to pick-up the PFX from the cloned repository.
This happens only if the ADO Agent has been started in interactive mode, same code works fine with Windows service mode.
Regards,
Gabor

Hi @iambernics per the error message it seems to be related to some permissions issue - could it be related to the difference in permissions for user running agent interactively and user on whose behalf the service is launched?

Hi @iambernics do you have any updates? Is this issue still actual for you?


Migration 0040_auto_20171205_0428 (Gin index) not working with long descriptions

I tried to update to the last release (11/2017) and got this error while applying migrations:
psycopg2.OperationalError: index row size 2736 exceeds maximum 2712 for index "product_pro_name_5bb6fa_gin"
TextField and Index are not really compatible.

@mperesson in latest release we introduced PostgreSQL full text search functionality for both storefront and dashboard. For faster searching we use Gin index on product name and description.
Depending on your project goals, there are a few things you might do to fix the problem. If you're not using search, or search is already provided by elasticsearch, you might want to remove the index from a product model entirely. Same solution might apply if your product count is in under few hundred.
In case you want to make use of the PostgreSQL search, you might want to add a SearchVectorField to your model and keep it up to date on your own. This might be the best solution for a larger applications.

@salwator Why does this affect some deployments and not others? That does not seem right.

Hey, thanks for the reply!
I already removed the index cause I use elasticsearch (the new implementation is way better btw).
But I think I will not be the only one with this problem, and editing saleor model/migration might not be the best way to do it.

@mperesson  thank you for positive feedback regarding ES changes! As of GIN index size problem, you are absolutely right and this issue must be addressed anyway in a solution that works everywhere.


fix: update Realtime encrypted DB host to <IP_ADDRESS>

What kind of change does this PR introduce?
Bug fix, feature, docs update, ...
What is the current behavior?
Please link any relevant issues here.
What is the new behavior?
Feel free to include screenshots if it includes visual changes.
Additional context
Add any other context or screenshots.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 49.632%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2762

Relevant Lines:
5565

💛  - Coveralls


Single mesh constraint

Hi all,
Is there some reason the mesh needs to be the same for every sharding in the graph. Since the sharding fully specifies the device allocation and shard size, at the api level it doesn't seem necessary to me.
This is sometimes desirable since e.g. parameters need a different logical specification than model outputs. One reason you might want to do something like this is if you want to get something from the host that is massive, i.e. you want to avoid an all-gather to a single chip. Here is a snippet.
import jax
import functools as ft

num_hosts = 16

param_devices = mesh_utils.create_device_mesh((4, 4,  2))
param_mesh = Mesh(param_devices, axis_names=('data', 'fdsp', 'tensor'))

devices_by_host = mesh_utils.create_device_mesh((num_hosts, 4))
host_mesh = Mesh(devices_by_host, axis_names=('host', 'chip'))

jax.jit(
      some_multihost_job,
      in_shardings=tree_map(ft.partial(jax.sharding.NamedSharding, param_mesh), distributed_in_spec),
      out_shardings=tree_map(ft.partial(jax.sharding.NamedSharding, host_mesh), somewhat_locally_addressable_out_spec),
      static_argnums=(0,), donate_argnums=(1,3)
  )

Another reason this might be handy is if you have different code with differently name-spaced partition specs, this way you could run it all within a single jit without going into the code and manually renaming all the partition specs.

Thanks! I am very close to enabling this. Just need to fix some remaining failures.

Hi there, any update with this Yash?

Not yet but I am working on it. Was busy with other stuff but you do have a workaround which you can use


[msys2 add] disable-download-timeout & overwrite

+add full update dist

@strega-nil, could you help futhre review?

full update


Cap number of partitions from above, not below.

This doesn't impact correctness, but can make tests much more expensive than they need to be.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @kcweaver

Ping @ibzib .

LGTM
Though I'm curious what makes over-partitioning so expensive?

Though I'm curious what makes over-partitioning so expensive?

Previously, if you had a 1000-row dataframe, it would partition it into 1000 1-row dataframes and act on each separately.


Main: Fix freezing after disabling VSync

Here comes another PR, this time, it fixes freezing issue after disabling VSync and loading intense-enough scene before the first render frame.
Not sure if this solves the problem or not, please let me know.

Bugsquad edit, fixes: #83390

This feels like a bit of a band-aid solution, can you please open an issue report for this problem to allow for tracking it and discusssion of solutions

This doesn't look like a good way to fix the issue. What you probably want is https://github.com/godotengine/godot/pull/80566 instead.

Okay i didn't see it before which means this PR is going be useless, closing.


GoogleServices-Info.plist is imported but not locating

Although it has been imported firebase can not be initialized
VS Code

Xcode

Info.plist

Put it into the the Runner folder and it should work

Same advice as mentioned, also going to close this since it isn't a documentation issue.
If you run into any more issues like this, please either seek help in the community or open up a bug report and fill out the template. If you are able to solve your issue and found that the documentation is wrong or lacking in some area you can open a new documentation bug report.
Thank you


update expo usage guides

Expo apps didn't play well with detox 7 and above. I've since made some fixes for this, and it works for detox v9.0.6 now. Updating docs to reflect this change.

Thank you!
We can work on adding Detox Android support to expo app if you'd like.


Master layout: add dispatchers rollnext and rollprev

Describe your PR, what does it fix/add?
Closes #1300
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
No
Is it ready for merging, or does it need work?
Ready

Great work!

Nice, progress much faster than I expected! :)
I suggest defining these dispatchers like this:
| rollnext | rotates the stack forward, maintaining focus on the master |
| rollprev | rotates the stack backwards, maintaining focus on the master |

Line 48 is one sensible place for this addition
As you know since you often contribute to it, the file is at https://github.com/hyprwm/hyprland-wiki/blob/main/pages/Configuring/Master-Layout.md?plain=1
Thank you both very much! :grin:

cool, just needs a wiki mr

Added

Yay :D


Satisfy MyPy with Credential interface

@chrismeyersfsu why did you think this is needed, though?

Not needed.
I think my .pre-commit-config.yaml was pointed at an "old" interface version git+https://github.com/ansible/awx_plugins.interfaces.git@ad4a965  That version didn't have the class Credential. Adding Credential to the .pyi interfaces didn't solve my problem, pointing to a version of awx_plugins.interfaces with class Credential is what actually solved my problem.

Not needed.
I think my .pre-commit-config.yaml was pointed at an "old" interface version git+https://github.com/ansible/awx_plugins.interfaces.git@ad4a965 That version didn't have the class Credential. Adding Credential to the .pyi interfaces didn't solve my problem, pointing to a version of awx_plugins.interfaces with class Credential is what actually solved my problem.


Keys for NoteAir4C

These keys are untested; I don't have access to an update file at the moment.
The functions to directly obtain the key and IV are no longer available; instead, they are stored with a xor obfuscation that is reversed inline in RsaUtil.nativeDecryptFile.
Obfuscated keys in getKeyString():

Obfuscation reversed in nativeDecryptFile:

This same xor pattern is used for the key, IV, and also (oddly) the output file path.

For research purposes could you please post the libota_jni.so ?
Thank you for your work!

libota_jna.zip


Save source-map-explorer package as a dev dependency

Save source-map-explorer as a dev dependency.

This is intentional. There are many closed issues and PRs related to this. There's also an open PR that adds an explanation for this to the docs: #5885

@bugzpodder Oh, sorry, I didn't search closed issues :/
Thanks for the link!


Examples Add an example for using grid search, using a net in an sklearn pipeline, and other cases of interoperability with sklearn (possibly in a jupyter notebook).

Addressed in PR #57


How to download the results table?

Hi,
Thanks for writing this great extension.
Can you advise how I can download/save the results to a file?
I thought I saw something in the Extension settings earlier - where I could change the output to a file.
But the extension was changed and I had to reload it - and now I cannot see the same setting?
I tried restarting VS Code - but I still cannot see it.
Thanks.

@umernalla
Thanks for asking the question 😉
I added a download button to the viewer in v1.0.0.
If you want to save a table to a file, you can do so from the viewer's download button.
I have also added some options to the download process.

bigqueryRunner.downloader.csv.delimiter.
bigqueryRunner.downloader.csv.header.
bigqueryRunner.downloader.rowsPerPage.
The details are in the documentation.

I also removed the output destination option because it would make the code too complicated.
CHANGELOG.md | v1.0.0
I believe the flow of viewing the table results in the viewer and then downloading satisfies most of the use cases.
However, if you must output directly to a file, please let me know the specific use case 👍

Hi @minodisk
Thanks for the prompt reply. Sorry for the silly question, I did notice the download button.
However, when I try to download, there is no file created.
I tried several different format - CSV, MD and plain text and also tried saving in various folders.
I also tried to create the blank file first and then select the file for output - same - nothing is written to disk.
The VS Code output window certainly shows progress e.g.
[downloader] [markdown] start downloading to /C:/Temp/test.md
[downloader] [markdown] job created
[downloader] [markdown] table fetched
[downloader] [markdown] flat created SecondsAgg, UpdateCount
[downloader] [markdown] writing head
[downloader] [markdown] writing body
[downloader] [markdown] fetched 10000 rows
[downloader] [markdown] page 1 - 10000
[downloader] [markdown] written 10000 rows
[downloader] [markdown] fetched 10000 rows
[downloader] [markdown] page 10001 - 20000
[downloader] [markdown] written 10000 rows
[downloader] [markdown] fetched 10000 rows
[downloader] [markdown] page 20001 - 30000
[downloader] [markdown] written 10000 rows
[downloader] [markdown] fetched 7954 rows
[downloader] [markdown] page 30001 - 37954
[downloader] [markdown] written 7954 rows
[downloader] [markdown] writing foot
[downloader] [markdown] complete
But there is no file present once complete.
I also got a colleague to try the same on his PC and he also confirms that no file is written?

@umernalla
I didn't check it on Windows OS, I'll check it when I'm free 🪟

Reproduced.

@umernalla
I fixed it in v1.1.1, try it.

@minodisk Thank you for the prompt fix.
I just tested a CSV file and MD file and they worked!

Now we can download with command in v1.6.0
#20

We can now see the download progress in v1.10.0.
#19


Disable context menu enter shortcut for web platform

Details

The enter shortcut for context menu causes double enter which adds new line.
Fixed Issues

$ https://github.com/Expensify/App/issues/48451
PROPOSAL: https://github.com/Expensify/App/issues/48451#issuecomment-2326344409
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

Open any chat
Send a message
Right-click/long-press the message
Use arrow key to focus on the Edit comment
Press Enter
Verify there is no new line added to the edit composer

For Android, you need to focus on the option below Edit comment first and then focus back to Edit comment

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/user-attachments/assets/3fcb67fe-94c2-45ab-bdd8-4a02f26d511a

Android: mWeb Chrome

https://github.com/user-attachments/assets/a240d0ed-a258-4106-8564-796b61f0ded4

iOS: Native

https://github.com/user-attachments/assets/e6e29f84-8af8-4714-aebe-a124340dfa7d

iOS: mWeb Safari

https://github.com/user-attachments/assets/c5934126-f491-4d28-a027-824d1a5fc85b

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/3f0d5425-e88d-4c42-b257-9e91b049bdbe

MacOS: Desktop

https://github.com/user-attachments/assets/ec7c07fc-66e6-49b5-85dc-a9212aa0ead9

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/lakchote in version: 9.0.35-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/grgia in version: 9.0.35-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


[Peek] Retrieving image sizes for ImagePreviewer is inefficient and doesn't respect EXIF rotation data

Microsoft PowerToys version
0.83.0
Installation method
PowerToys auto-update
Running as admin
No
Area(s) with issue?
Peek
Steps to reproduce
Peek's ImagePreviewer uses WICHelper.GetImageSize to determine the resolution of a file, which uses WICImageFactory under the hood. This approach requires loading the file before the details can be queried, which is less efficient than querying the Windows Shell property store.
I have a solution for this in development, so would like to be assigned this task.
✔ Expected Behavior
File metadata is first queried using the Shell Property Store. The existing WICHelper method may still be used as a fallback. EXIF rotation data is respected and the width and height dimensions swapped if necessary.
❌ Actual Behavior
The file is loaded and decoded just so its dimensions can be queried. The rotation data is not retrieved, meaning the size information is incorrect for images rotated 90 or 270 degrees.
Other Software
No response

Closing as not needed. This has already been implemented in IFileSystemItemExtensions, but WICHelper was not updated to remove the TODO comment. Apologies.


API: Update Objects

We can create and delete objects from the API, now we would also like to update them :)
I'm envisioning a system where you just pass in a patch object with the values you want updated, see https://dev-blog.apollodata.com/designing-graphql-mutations-e09de826ed97
Example:
updateProject(input: {name: "dockerhub2slack", patch: {git_url: "git@github.com:amazeeio/dockerhub2slack.git", branches:"master|develop"}}) {
  git_url
}

this would at the same time update the fields git_url and branches while not touching the others at all.
additionally we have some fields with default values, we need a way to tell the API that we want to reset fields to their default, not sure what to use here, maybe just null on the field? (seeking help here :) @ryyppy )

#239 merged, this is done.


failed to load import.meta augmentation

Describe the bug

the declaration file of<EMAIL_ADDRESS>have some issue with ImportMeta interface.
Reproduction
install<EMAIL_ADDRESS>restart vscode typescript language server
type import.meta.env to see error
System Info
System:
    OS: macOS 10.15.7
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 67.80 MB / 16.00 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 14.17.6 - /usr/local/bin/node
    Yarn: 1.22.4 - /usr/local/bin/yarn
    npm: 6.14.15 - /usr/local/bin/npm
  Browsers:
    Chrome: 96.0.4664.110
    Edge: 96.0.1054.43
    Firefox: 95.0
    Safari: 15.0
  npmPackages:
    @vitejs/plugin-legacy: ^1.6.4 => 1.6.4
    @vitejs/plugin-vue: ^1.2.4 => 1.2.4
    vite: ^2.7.4 => 2.7.4

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/vue-next instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

This is happening to us as well. You can repro with a fresh yarn create vite --template react-ts

Caused by #5835

same here


When updating to latest tailwind version?

The tailwind version used in this lacks many features compared to the current version of tailwind. i was wondering if there will be an updated version of this?

#36

Upgraded to version 3 by macCesar


AttributeError: module 'eeweather' has no attribute 'match_zcta'

Good morning,
I tried using the match_zcta function in eeweather (I'm using Python 3.6.5):
import eeweather
print(eeweather.__version__)
zcta = '70001'
result = eeweather.match_zcta('70001')
result

Which resulted in:
0.2.1
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-5-857f81446776> in <module>()
      2 print(eeweather.__version__)
      3 zcta = '70001'
----> 4 result = eeweather.match_zcta('70001')
      5 result

AttributeError: module 'eeweather' has no attribute 'match_zcta'

It looks like the match_zcta function, while referenced in the documentation, doesn't actually exist in the package/the master branch. I'm wondering if match_zcta exists in another branch, and maybe hasn't been merged into master yet?

@philngo Awesome, that's exactly the workaround that I was doing! Thank you.
zcta = '70001'
result = eeweather.match_lat_long(*eeweather.zcta_to_lat_long(zcta))
result

Released version 0.2.2 which updates the docs and adds requests, pyproj, and shapely to the required packages.


Jonmv/remove tags wiring

@bratseth

Failed to execute goal com.yahoo.vespa:abi-check-plugin:8-SNAPSHOT:abicheck (default) on project config-model-api: ABI spec mismatch.

Yes, fixed. Removed method is in use in older models, just not on my branching point ...

Sorry, accidentally removed a line of xml unit test helper. Resulted in killing the dependency instead. PTAL.


Remove FSharp.Compiler.Service.ProjectCracker

In fsharp/FsAutoComplete we replaced FSharp.Compiler.Service.ProjectCracker with Dotnet.ProjInfo.Workspace.FCS
We can maybe retire projectcracker and update docs to use the new library.
Main Features:

get FCS project options from sln/list of fsproj/fsx
use installed msbuild or dotnet, doesnt ship or use msbuild assemblies
support an easy to use api for loading a workspace (multiple fsprojs or a sln)
editor features (solution explorer view, background loading with notifications)

Example
let fcs = FSharp.Compiler.SourceCodeServices.FSharpChecker.Create(..)

// environment info
let msbuildLocator = MSBuildLocator()
let netFwInfo = NetFWInfo.Create(NetFWInfoConfig.Default msbuildLocator)

let fcsBinder = FCSBinder(netFwInfo, loader, fcs)

// blocking load of a list of fsproj. For sln use LoadSln
loader.LoadProjects [ projPath ]

// fcsBinder.Projects contains info about loaded projects, use that to convert to FCS args
let fcsPoOpt = fcsBinder.GetProjectOptions(projPath) |> Option.get

// usual parse and check
fcs.ParseAndCheckProject(fcsPo)

Main differences
requirements
require msbuild or dotnet msbuild.
no xbuild.
for mono a recent version in required (>= 5.16 is tested)
fsproj

support both .NET Sdk (slim) and Old Sdk (verbose) fsproj using the same api
use msbuild out of process as console, no references to msbuild assemblies. So works with any msbuild or dotnet msbuild.
support loading a sln or a list of fsproj
support fsx scripts
always read fsc arguments from invoked FcsTask (not calculating these from fsproj property). For both .net sdk fsproj and old sdk fsproj.

info about environment

support discovery of installed msbuild locations
support .NET Framework versions installed
sane defaults for default environment (dotnet in PATH, latest .net msbuild)

@dsyme @baronfel @cartermp @KevinRansom What do you think?
If ok, i'll send a PR to remove it and update all docs to use Dotnet.ProjInfo.Workspace.FCS, maintaining the same scenarios.
/cc @Krzysztof-Cieslak

Sounds great!

Should code flow here be dotnet/fsharp -> this repo?

This post was very helpful for me

@cartermp yes, I agree it should happen upstream and then be merged down

Yes i’ll send to dotnet/fsharp

This was already done, we can close it


DEV: use Meson for doc CI

Supersede part of https://github.com/scipy/scipy/pull/13917

Use Meson as build system for doc/bench
Add ccache for build caching

Oh! I found the issue with the benchmarks, it's because asv dev is using --quick which is not in the dev.py. For now I will not use dev.py.

Ok even using the debug version did not do anything.

@rgommers seems like it's not just interpolator which is very slow, looking at benchs needing seconds, lot of things from linalg are also taking too much time.
Ex.
# this PR

[ 11.79%] ··· ...ench.time_det ok
[ 11.79%] ··· ====== ============ ======== ==========
               size   contiguous   module
              ------ ------------ -------- ----------
                20      contig     numpy    1.64±0ms
                20      contig     scipy    121±0ms
                20      nocont     numpy    298±0μs
                20      nocont     scipy    186±0ms
               100      contig     numpy    3.74±0s
               100      contig     scipy    1.54±0s
               100      nocont     numpy    4.24±0s
               100      nocont     scipy    1.45±0s
               500      contig     numpy      n/a
               500      contig     scipy    16.3±0s
               500      nocont     numpy      n/a
               500      nocont     scipy    18.3±0s
               1000     contig     numpy      n/a
               1000     contig     scipy    26.3±0s
               1000     nocont     numpy      n/a
               1000     nocont     scipy    27.6±0s
              ====== ============ ======== ==========

# another job

[ 11.79%] ··· ...ench.time_det ok
[ 11.79%] ··· ====== ============ ======== ==========
               size   contiguous   module
              ------ ------------ -------- ----------
                20      contig     numpy    307±0μs
                20      contig     scipy    517±0μs
                20      nocont     numpy    293±0μs
                20      nocont     scipy    497±0μs
               100      contig     numpy    4.72±0s
               100      contig     scipy    742±0μs
               100      nocont     numpy    6.59±0s
               100      nocont     scipy    766±0μs
               500      contig     numpy      n/a
               500      contig     scipy    11.4±0ms
               500      nocont     numpy      n/a
               500      nocont     scipy    14.1±0ms
               1000     contig     numpy      n/a
               1000     contig     scipy    86.9±0ms
               1000     nocont     numpy      n/a
               1000     nocont     scipy    72.5±0ms
              ====== ============ ======== ==========

That makes very little sense to me. That's an order of magnitude slower than what I see locally:
[100.00%] ··· linalg.Bench.time_det                                                      ok
[100.00%] ··· ====== ============ ============= =============
              --                             module
              ------------------- ---------------------------
               size   contiguous      numpy         scipy
              ====== ============ ============= =============
                20      contig     6.13±0.06μs   9.85±0.04μs
                20      nocont     6.22±0.09μs    10.6±0.2μs
               100      contig       133±1μs      67.4±0.6μs
               100      nocont       130±1μs      71.2±0.6μs
               500      contig         n/a       3.02±0.04ms
               500      nocont         n/a       2.90±0.08ms
               1000     contig         n/a        16.8±0.4ms
               1000     nocont         n/a        17.1±0.5ms
              ====== ============ ============= =============

OpenBLAS is getting installed and used in the build on CircleCI. It's a 2 year old version of OpenBLAS (0.3.8), but that should be recent enough I'd think. Although we do want a more recent version anyway to avoid some bugs.
I can't think of good suggestions for where to look next.

Maybe something related to the infrastructure then. What about if I moved this job to GH actions?

Yes browsing artifacts is easiest with CircleCI.
We could try using a machine executor rather than docker to see if it helps with speed: https://circleci.com/docs/2.0/executor-types/#using-machine , e.g.:
jobs:
  build:
    machine:
      image: ubuntu-2004:current

Also setting the OPENBLAS_NUM_THREADS=1 in the env might help (if it's not using runtests.py, which I think might already do this?).

Also setting the OPENBLAS_NUM_THREADS=1 in the env might help

Ah that could be it, good catch. Consistently installing threadpoolctl as a test dependency is the other way to manage this.

oh! So just installing threadpoolctl is enough or I need to set the env variable as well?

oh! So just installing threadpoolctl is enough or I need to set the env variable as well?

That should be enough, see scipy/conftest.py. Hardcoding the env var can be done in CI jobs because we never get more than 2 vCPU's per job, but doing it in runtests.py/dev.py is not great because it limits the performance for local development for no good reason.

Is conftest.py used when running asv, though?

Is conftest.py used when running asv, though?

You ask a lot of good questions:) ... no it isn't

Is conftest.py used when running asv, though?

You ask a lot of good questions:) ... no it isn't

Also only OMP_NUM_THREADS is set there not OPENBLAS_NUM_THREADS. If that makes a difference.
I added OPENBLAS_NUM_THREADS=1 in the CI job. Let's see 🤞

Oh victory! Thank you both for helping!
Since this is working now, I propose to move to use dev.py (will just revert another commit). And I will change the name of the cache to invalidate it and have something green here.

CircleCI doc build is red

CircleCI doc build is red

Yes, just fixed it. At some point we fixed dev.py to set the PYTHONPATH for the --doc, but another update moved this down in dev.py so it's again not working. I put again PYTHONPATH then on this part.

Looks like it has ran for ~42 minutes, only made it to 42.52%] ··· Running (stats.BinnedStatisticDD.... Looking at this list, none take longer than 41:
https://app.circleci.com/pipelines/github/scipy/scipy?branch=main&filter=all
I'm not sure why this PR would be so much worse :(
It probably won't make a ~20 minute difference, but could you try the machine executor config I mentioned above? https://github.com/scipy/scipy/pull/15686#issuecomment-1072490880

Looks like it has ran for ~42 minutes, only made it to 42.52%] ··· Running (stats.BinnedStatisticDD.... Looking at this list, none take longer than 41:
app.circleci.com/pipelines/github/scipy/scipy?branch=main&filter=all
I'm not sure why this PR would be so much worse :(
It probably won't make a ~20 minute difference,

From what I see in other runs, the count goes to 50% (ex here) and then it's another step which finishes the job. Here the output is a bit different so I thought it might just print everything and the reason of the failure. So I wanted to try to increase the output timeout.
It does seem to take too long as the job which went through above was over under 20 minutes. But now the difference is between calling with dev.py or directly asv.

but could you try the machine executor config I mentioned above? #15686 (comment)

It should not be necessary now, above I have a run which ran just fine but was just not using dev.py.

Ok yes we have a difference in the arguments of asv. We need --quick. I thought I checked it correctly last time, must have missed something or it changed, I don't remember now. Anyway, either way I revert to use plain asv (will do this now, changing dev can be done after since we are in a rewrite there too) or we fix this in dev.py.

It should not be necessary now, above I have a run which ran just fine but was just not using dev.py.

Yes but in principle I think it should still be better/faster, so might as well add it here if possible!

... but I guess we could do it in another PR if you want to stop working on this :)

Yes but in principle I think it should still be better/faster, so might as well add it here if possible!

Ah ok sure then!

... but I guess we could do it in another PR if you want to stop working on this :)

Haha I am, but I am also very stubborn so I don't mind continuing 😅 I will do this tmr then.

Not sure if it will help, but this is how I ended up making an env using a cimg docker image (should be similar to the machine image)
https://github.com/mne-tools/mne-python/blob/72841b35551bf85d332468b486a496c97f0fc2a9/.circleci/config.yml#L114-L117

Not sure if it will help, but this is how I ended up making an env using a cimg docker image (should be similar to the machine image)
<EMAIL_ADDRESS>
I will have a look, thank you. I was about to explicitly call python3.8, python3.8 -m pip now.

Not sure if it will help, but this is how I ended up making an env using a cimg docker image (should be similar to the machine image)
<EMAIL_ADDRESS>
@larsoner I tried to do this (changes here but I also connected with SSH to the node and exported PATH and made a symlink as you did) but Meson does not like it:
scipy/meson.build:48:0: ERROR: Tried to form an absolute path to a source dir.
You should not do that but use relative paths instead.

To get include path to any directory relative to the current dir do

incdir = include_directories(dirname)

After this incdir will contain both the current source dir as well as the
corresponding build dir. It can then be used in any subdirectory and
Meson will take care of all the busywork to make paths work.

Dirname can even be '.' to mark the current directory. Though you should
remember that the current source and build directories are always
put in the include directories by default so you only need to do
include_directories('.') if you intend to use the result in a
different subdirectory.

I will revert the use of a venv and try again without. At least it was compiling but not finding SciPy right after. I will see if I find something if I SSH after the build. Otherwise I will revert the change to machine.

@larsoner I did not manage to use the machine executor. I never used pyenv and installing another python is very slow with that. And even after that, I still got issues.
So I propose to leave this for later (and someone who knows better what to do maybe 😅)

Okay nobody else objects and this seems to be working well so let's get it in. Thanks @tupui !


Patch broke existing functionality for NeoTree

Describe the bug
After https://github.com/ellisonleao/gruvbox.nvim/pull/209 change NeoTree floating window borders became the wrong color
My config (via Lazy.nvim):
return {
  'ellisonleao/gruvbox.nvim',
  -- commit = "73f009df5ed929a853244c413bb52c1d02c117ce", // Comment this to see bug, uncomment to see how it should be
  enabled = true,
  init = function()
    vim.cmd([[colorscheme gruvbox]])
  end,
  opts = {
    inverse = false,
    contrast = "",
    invert_selection = false,
    transparent_mode = true,
  },
  priority = 10000,
}

To Reproduce
Steps to reproduce the behavior:

Install neo-tree
Use 'a' to open adding menu

Expected behavior
Backgrounds should be same color
Screenshots
Current:

Expected:

Additional context
NVIM v0.9.0-dev-1059+g2c9fbe34b-dirty
Build type: Release
LuaJIT 2.1.0-beta3

hey @npupko thanks for the report. Do you mind checking that menu highlight group?


Fix CI break caused by asmdef file renames

The CI process validates the build against a collection of approved .asmdef files. Change #8668 broke this validation by forgetting to update the list to reflect the new names.
This change addresses the above as well as clean up a small set of files that were incorrectly renamedf.

/azp run

/azp run


train fails to load tub specified

when given a single tub dir, fails to open tub
(donkey) C:\cygwin\home\tkramer\projects\d2.2>python manage.py train --tub=data\tub_1_17-11-03 --model=models\test.h5
using donkey v2.2.0 ...
Using TensorFlow backend.
loading config file: C:\cygwin\home\tkramer\projects\d2.2\config.py
config loaded
path_list: data\tub_1_17-11-03
Traceback (most recent call last):
File "manage.py", line 183, in
train(cfg, tub, model)
File "manage.py", line 148, in train
tubgroup = TubGroup(tub_names)
File "c:\cygwin\home\tkramer\projects\donkey\donkeycar\parts\datastore.py", line 645, in init
tubs = [Tub(path) for path in tub_paths]
File "c:\cygwin\home\tkramer\projects\donkey\donkeycar\parts\datastore.py", line 645, in
tubs = [Tub(path) for path in tub_paths]
File "c:\cygwin\home\tkramer\projects\donkey\donkeycar\parts\datastore.py", line 179, in init
raise AttributeError(msg)
AttributeError: The tub path you provided doesn't exist and you didnt pass any meta info (inputs & types)to create a new tub. Please check
ide meta info to create a new tub.

path mask also fails:
(donkey) C:\cygwin\home\tkramer\projects\d2.2>python manage.py train --tub=data* --model=models\test.h5
using donkey v2.2.0 ...
Using TensorFlow backend.
loading config file: C:\cygwin\home\tkramer\projects\d2.2\config.py
config loaded
path_list: data*
Traceback (most recent call last):
File "manage.py", line 183, in
train(cfg, tub, model)
File "manage.py", line 148, in train
tubgroup = TubGroup(tub_names)
File "c:\cygwin\home\tkramer\projects\donkey\donkeycar\parts\datastore.py", line 645, in init
tubs = [Tub(path) for path in tub_paths]
File "c:\cygwin\home\tkramer\projects\donkey\donkeycar\parts\datastore.py", line 645, in
tubs = [Tub(path) for path in tub_paths]
File "c:\cygwin\home\tkramer\projects\donkey\donkeycar\parts\datastore.py", line 179, in init
raise AttributeError(msg)
AttributeError: The tub path you provided doesn't exist and you didnt pass any meta info (inputs & types)to create a new tub. Please check your tub path or prov
ide meta info to create a new tub.

comma separated tubs also fail:
(donkey) C:\cygwin\home\tkramer\projects\d2.2>python manage.py train --tub=data\tub_1_17-11-03,data\tub_2_17-11-03 --model=models\test.h5
using donkey v2.2.0 ...
Using TensorFlow backend.
loading config file: C:\cygwin\home\tkramer\projects\d2.2\config.py
config loaded
path_list: data\tub_1_17-11-03,data\tub_2_17-11-03
Traceback (most recent call last):
  File "manage.py", line 183, in <module>
    train(cfg, tub, model)
  File "manage.py", line 148, in train
    tubgroup = TubGroup(tub_names)
  File "c:\cygwin\home\tkramer\projects\donkey\donkeycar\parts\datastore.py", line 645, in __init__
    tubs = [Tub(path) for path in tub_paths]
  File "c:\cygwin\home\tkramer\projects\donkey\donkeycar\parts\datastore.py", line 645, in <listcomp>
    tubs = [Tub(path) for path in tub_paths]
  File "c:\cygwin\home\tkramer\projects\donkey\donkeycar\parts\datastore.py", line 179, in __init__
    raise AttributeError(msg)
AttributeError: The tub path you provided doesn't exist and you didnt pass any meta info (inputs & types)to create a new tub. Please check your tub path or prov
ide meta info to create a new tub.

I'll add tests for these to see if I can replicate. Masking without quotes wasn't working for me but with quotes it worked.

All three of these cases used to work.

@tawnkramer The comma separated and single tub work for me. Can you check that your paths were correct? I can't reproduce those. For masking it's OK to require quotes. I've added this to the help command. Closing, reopen if you can reproduce.

If I add a line @ 153 in datastore.py
    def __init__(self, path, inputs=None, types=None):
        print('tub is using path:', path)
        self.path = os.path.expanduser(path)
        self.meta_path = os.path.join(self.path, 'meta.json')
        self.df = None

then I can see it's somehow duplicated the path on itself:
(env) tkramer@tkramer-VirtualBox:~/d2.2$ python manage.py train --tub ./data/left_lane_hive_track_09_02_2017_tkramer --model models/test.h5
using donkey v2.2.0 ...
Using TensorFlow backend.
loading config file: /home/tkramer/d2.2/config.py
config loaded
tub_names ./data/left_lane_hive_track_09_02_2017_tkramer
path_list: ./data/left_lane_hive_track_09_02_2017_tkramer
tub is using path: ./data/left_lane_hive_track_09_02_2017_tkramer/./data/left_lane_hive_track_09_02_2017_tkramer

have the same problem - it seems to be within def find_tub_paths(self, path)
`    def find_tub_paths(self, path):
matches = []
path = os.path.expanduser(path)
for file in glob.glob(os.path.join(path)):
print('Loop:',file)
if os.path.isdir(file):
matches.append(os.path.join(path, file))
print('Loop: Matches',matches)
    return matches`

The append joins the path (which already contains the filename) with the filename
Unfortunately my Python is quite poor - don't want to change it fearing some side effects

This is fixed in the dev branch.

V 2.2.1 is now merged to master.


PX4FMU driver: minor typo

I'm not sure but It's seems like a typo:
https://github.com/PX4/Firmware/blob/master/src/drivers/px4fmu/fmu.cpp#L1322
...
		} else {
			// Scan the next protocol
			set_rc_scan_state(RC_SCAN_SUMD);
		}
...

in the case statement
https://github.com/PX4/Firmware/blob/master/src/drivers/px4fmu/fmu.cpp#L1288
	case RC_SCAN_SUMD:
		if (_rc_scan_begin == 0) {

I don't understand. What would you change to what?

@@ -1319,10 +1319,9 @@ PX4FMU::cycle()

                } else {
                        // Scan the next protocol
-                       set_rc_scan_state(RC_SCAN_SUMD);
+                       set_rc_scan_state(RC_SCAN_PPM);
                }

-               set_rc_scan_state(RC_SCAN_PPM);
                break;

That looks like a necessary fix. I guess SUMD has never been tested? Because it looks like the extraneous line 1325 would switch to PPM even if SUMD were detected.

https://github.com/PX4/Firmware/blob/master/src/drivers/px4fmu/fmu.cpp#L1325
looks like temporary hook for SUMD disabling. So SUMD correctly works now?

@akru I'm unable to test that case, since I don't have any Graupner equipment.

@akru thanks for reporting! A fix has been merged.


split the README, resolving #315

split the README to separated .rst files for documentation

Superb! This looks and works great @shajoezhu. We can elaborate on things later and update the various parts of the documentation later, but right now I think we should merge this much and test it to see if read-the-docs picks it up correctly.
+1.

a temporary doc can be found at http://ga4gh-server-shajoezhu.readthedocs.org/en/latest/index.html

This is all standard sphinx boiler plate @dcolligan. When you run sphinx-quickstart it sets up all this stuff for you. We'll need to refine quite a lot of this as we go on, so I'm not really bothered if there's some details that aren't quite right.

Alright, since you guys seem to want to merge this quickly I'll put my objections aside for now.

Excellent, thanks @dcolligan. I want to make a push on the docs tomorrow and be ready to tag 0.1.0a3 when you get online. Hopefully it'll just be a case of checking things through on Friday, making a few final adjustments and tagging 0.1.0b1.


imp: ByteBufferSerde

Close: #603
Based on Jackson implementation:
https://github.com/FasterXML/jackson-databind/blob/2.16/src/main/java/com/fasterxml/jackson/databind/ser/std/ByteBufferSerializer.java
https://github.com/FasterXML/jackson-databind/blob/2.16/src/main/java/com/fasterxml/jackson/databind/deser/std/ByteBufferDeserializer.java
Not 100% complete see NativeTest excluded in the serde tck

theres easier ways, i will look at it tomorrow.

ive implemented a smaller copy mechanism. also i discovered a jackson-databind bug which might break the tck: https://github.com/FasterXML/jackson-databind/pull/4164


[U26C] Pipeline reproduction

Softwares
SPM
Input data
derivatives (fMRIprep)
Additional context
Link to shared analysis code : https://github.com/gladomat/narps
List of tasks
Please tick the boxes below once the corresponding task is finished. :+1:

[x] :ok_hand: A maintainer of the project approved the issue, by assigning a :checkered_flag:status: ready for dev label to it.
[x] :deciduous_tree: Create a branch on your fork to start the reproduction.
[x] :sunrise: Create a file team_{team_id}.py inside the narps_open/pipelines/ directory. You can use a file inside narps_open/pipelines/templates as a template if needed.
[x] :inbox_tray: Create a pull request as soon as you completed the previous task.
[x] :brain: Write the code for the pipeline, using Nipype and the file architecture described in docs/pipelines.md.
[x] :blue_book: Make sure your code is documented enough.
[x] :snake: Make sure your code is explicit and conforms with PEP8.
[x] :microscope: Create tests for your pipeline. You can use files in tests/pipelines/test_team_* as examples.
[ ] :microscope: Make sure your code passes all the tests you created (see docs/testing.md).

Final correlation values

Team
Number of subjects
Test status
Correlation values

U26C
20 subjects
success
[0.67, 0.61, 0.67, 0.61, 0.53, 0.49, 0.53, 0.49, 0.4]

U26C
40 subjects
success
[0.84, 0.79, 0.84, 0.79, 0.8, 0.71, 0.8, 0.71, 0.75]

U26C
60 subjects
success
[0.9, 0.85, 0.9, 0.85, 0.93, 0.78, 0.93, 0.78, 0.86]

U26C
80 subjects
success
[0.95, 0.96, 0.95, 0.96, 0.96, 0.91, 0.96, 0.91, 0.94]

U26C
108 subjects
success
[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]


Slot filling of times

Pull Request Test Coverage Report for Build 1319

3 of 20 (15.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.2%) to 65.615%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

almond/almond_api.js
3
20
15.0%

Files with Coverage Reduction
New Missed Lines
%

routes/my_conversation.js
1
64.6%

Totals

Change from base Build 1316:
-0.2%

Covered Lines:
5823

Relevant Lines:
8348

💛  - Coveralls


Cleanup markup and badly formatted attributes

This PR cleans up a lot of the markup on the page and is related to issue #305

awesome 👍


Update dependency @types/cors to v2.8.13

This PR contains the following updates:

Package
Type
Update
Change

@types/cors
devDependencies
patch
2.8.12 -> 2.8.13

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

Renovate Ignore Notification
As this PR has been closed unmerged, Renovate will now ignore this update (2.8.13). You will still receive a PR once a newer version is released, so if you wish to permanently ignore this dependency, please add it to the ignoreDeps array of your renovate config.
If this PR was closed by mistake or you changed your mind, you can simply rename this PR and you will soon get a fresh replacement PR opened.


Additions to contract list

From OMB meeting:
At-a-glance information requested in contract list view (like a plus sign to expand each row):

Using dept
Contact info
Controller #

Is the contact info for the using department? If so, how do we know what to display? Is it the same stuff that's in the email bit?
For controller numbers, we're in the same confusing position as we are for spec numbers, as contracts that are currently "in progress" in conductor don't actually have this information associated with them.

Some possible ideas

Some ability to toggle show/hide on columns
Tooltips/hovers to get additional information
Add more information to the "Name" column (such as using department/department contact)

@hamhands @shellicious still not sure what to do about the contact information. Is that contained in the tracking spreadsheet somewhere? I feel like we should be smart about how we handle that.

Doing this in datatables isn't actually super complex:

How do we feel about this?

I think that looks pretty good. Plus there's enough space to add more properties if they ask for them later.

I'd like to see it without the outer border around the table. Looks good tho!


Pylinter test failed with circle-ci

This merge https://github.com/plotly/dash-sample-apps/pull/405 into master has broke black check.  Looks like flake8 only inspects instead of fix changes, and the moment I apply black pylinter in another branch keeps breaking ci check.

You can use autopep8 to fix Flake8 issues.  The command below runs inplace recursive aggressive.
autopep8 -i -r -a -a --select=E203,E265,E711,W291 .

This is related to E203 which was introduced in #405. It's not actually a PEP8 rule, just a pet peeve to do it a certain way. This is covered here in the psf's black docs.
Filing a PR to remove E203 and apply black.


pjax fragment will load full page

I create a modal and content is loaded via pjax
I want to reload modal content and only replace .modal-body , so I use fragment property.

Here is my code
    $.pjax.reload('#container-checkpoint .modal-body' , {
                url : 'this is my url',
                async: false,
                container: '#container-checkpoint',
                fragment: '.modal-body',
                push: false,
                replace: false
    });

This code can work , and modal content reload is correct  ,  but server response full page html !!

(pjax request)

(full html)

In your action you should detect if request is PJAX and render partial instead of doing full render.

Why  render partial ? my view is using Pjax::begin.
If I never use fragment property , server will response correct data .
But I don't want replace all content to modal. I want replace  .modal-body only.
Is the header X-PJAX-Container correct ?

Yes.

Is it sending X-PJAX-Container in this case? If yes, could you try adding it to https://github.com/yiisoft/yii2/blob/master/framework/web/Request.php#L328 and checking again with your use case?

Why I need use Request::isPjax ?
In my case , my view is using Pjax::begin() , but it will render full page(with layout).
If I change render() to renderAjax() . its also work fine. but why I need change to renderAjax() ?
The widget Pjax::begin() will auto do the same thing when I don't use fragment.
Now I change YII2's Pjax Source Code.
    protected function requiresPjax()
    {
        $headers = Yii::$app->getRequest()->getHeaders();
        return  $headers->get('X-Pjax') && explode(' ', $headers->get('X-Pjax-Container'))[0] === '#' . $this->options['id'];
        // return $headers->get('X-Pjax') && $headers->get('X-Pjax-Container') === '#' . $this->options['id'];
    }

It works fine . but I don't know is it correct for PJAX spec ?

Wa ha..
I fixed the problem in my case.
I  add the line in my action before render.
            Yii::$app->getRequest()->headers->set('X-Pjax-Container' , explode(' ', Yii::$app->getRequest()->headers['X-Pjax-Container']));
            return $this->render('attachment', [
                'model' => $model
            ]);

Weird.

@samdark
U can see my first comment . It send "X-PJAX-Container: #checkpoint-container .modal-body" .You can see it in first picture.
So Pjax::requiresPjax() will return false , and render full page.

Ah! Got it. Yes, the fix seems to be correct.

Hi,
Is this issue still active? I cannot solve it with the solution u provided.
In my case, I have declared a Pjax which wraps a GridView such as:

<?php Pjax::begin([
  'id' => $gridviewId,
  'enablePushState' => false,
  'enableReplaceState' => false,
  'timeout' => -1,
]); ?>

<?= GridView::widget([
//...

I want to avoid the page reload/refresh as for now it ONLY works when the dataset is small. Meaning, the more data I have to display in the GridView, the page will be reloaded.


Do not use XLA. Build configuration

Hi,
this is related to building TensorFlow from source, but in case it's my wrongdoing I didn't want to mark it as a bug.
Tensorflow 2.2.1
Keras 2.3.1
I have a VAE model in which decoder is autoregressive and and one of the layer looks like this:
class AutoregressiveGRU(layers.Layer):

    def __init__(
            self,
            output_dim: int,
            output_len: int,
            recurrent: layers.Recurrent,
            **kwargs,
    ):
        self.output_dim = output_dim
        self.output_len = output_len
        self.initial_state = None
        self.recurrent = recurrent
        super(AutoregressiveGRU, self).__init__(**kwargs)

    def build(self, input_shape):
        super(AutoregressiveGRU, self).build(input_shape)

    def call(self, x):
        outputs = []
        current_output = backend.zeros_like(backend.repeat(x, 1))
        current_state = x
        for _ in range(self.output_len):
            current_output, current_state = self.recurrent(
                current_output,
                initial_state=current_state,
            )
            outputs.append(current_output)
        result = layers.concatenate(outputs, axis=1)
        result = backend.reshape(result, (-1, self.output_len, self.output_dim))
        return result

I am calculating some higher-order gradients and I am getting errors such as:
InvalidArgumentError: Operation 'gradients_2/autoregressive_gru_1_3/gru_3/while_grad/autoregressive_gru_1_3/gru_3/while_grad' has no attr named '_XlaCompile'.

I looked at XLA known issues and found out that this might be related to the for-loop that is not bounded to constant number of iterations. I have rewritten the for-loop in that layer with tf.while_loop that has maximum_iteration parameter set, but the problem (error mentioned above) persists:
    def call(self, x):
        outputs = []
        current_output = backend.zeros_like(backend.repeat(x, 1))
        current_state = x
        i = tf.constant(0)
        c = lambda i, a, b, ta: i < 25
        def turn(i, current_statex, current_outputx, ta):
            current_output_cur, current_state_cur = self.recurrent(
                current_outputx,
                initial_state=current_statex,
            )
            ta.write(i, current_output_cur)
            tf.add(i, 1)
            return [i, current_state_cur, current_output_cur, ta]

        i, a, b, ta =  tf.while_loop(c, turn, [i, current_state, current_output, tf.TensorArray(tf.float32, size=25)], maximum_iterations=tf.constant(25))
        result = ta.stack()
        return backend.reshape(result, (-1, self.output_len, self.output_dim))

I decided to drop XLA all together and so I compiled TensorFlow from source setting:
build:xla --action_env=TF_ENABLE_XLA=0
build:xla --define=with_xla_support=false

And it still  comes with the same error. Is there something wrong with what I am doing?
I apologize but I am not able to put the entire model here for various reasons. If I remove the autoregressive layer, everything works.
EDIT:
tf.config.list_physical_devices()

now returns only cpu physical_device:CPU ano no physical_device:XLA_CPU. So why is XLA even used during training?
[PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU')]

Solved by cherry-picking https://github.com/tensorflow/tensorflow/commit/cf09044d9e7b232080f95f0f910a6803904df1de  and adapting to v.2.2.1. For anyone that cannot update to >v2.2.x:  https://github.com/prokotg/tensorflow/tree/v2.2.1-fix

Solved by cherry-picking https://github.com/tensorflow/tensorflow/commit/cf09044d9e7b232080f95f0f910a6803904df1de  and adapting to v.2.2.1. For anyone that cannot update to >v2.2.x:  https://github.com/prokotg/tensorflow/tree/v2.2.1-fix


DATABASE_URL should take precedence over database.yml

ActiveRecord/Rails prefers the DATABASE_URL environment variable over the configuration in database.yml, if both are set the environment variable is used.
IMO sequel-rails should match this behaviour.
Being able to override the config via an environment variable is very useful for a number of reasons. It makes it easy to fire off a debugging session against a different database, for example I could load a db dump into a different database and then fire up a DATABASE_URL=... rails server and don't have to mess with the configuration, and don't have to throw away my dev database and can easily switch back.
Another reason is that services like Heroku configure the database via this environment variable. When using their new CI service for example, it's pretty annoying to get the database connection to use the local database in development, but use the environment variable for CI.

Hi @jnicklas, thanks for raising the issue.
We're indeed using what's in the database.yml file first, and only if there's no url in there we're setting it from ENV["DATABASE_URL"] (see: https://github.com/TalentBox/sequel-rails/blob/master/lib/sequel_rails/configuration.rb#L76-L77).
Then later when calling Sequel.connect, we're using the url if it's there otherwise just forwarding the config as is (see: https://github.com/TalentBox/sequel-rails/blob/master/lib/sequel_rails/configuration.rb#L76-L77)
There's multiple issue there:

We're not constructing an URL from the params in the database.yml file, nor trying to extract information from URL to what would have been equivalent params.
When we have an URL, we're using it, but we're also sending all the params to the Sequel.connect method. This means if you're config contains keys which are already in the URL, the values will act as override of the URL ones.

Not sure what's the best way to tackle them.
For 1, If I recall correctly (it's been more than 3 years I checked), there's a good chunk of code in Rails/AR, specific to each supported database to handle the conversion from URL to connection params, I'm really not fond of trying to do such thing. I would prefer to let Sequel handle most of that itself.
For 2, this allows to easily pass specific database connection options to Sequel.connect, without having to specifically handle them in sequel-rails.
I'm open to propositions to better handle those cases.

To be fair, we're in fact already constructing url to handle jdbc and do (see: https://github.com/TalentBox/sequel-rails/blob/master/lib/sequel_rails/db_config.rb)...
I'm wondering how much people are relying on the combo of DATABASE_URL from env + merge other option from config...

When using their new CI service for example, it's pretty annoying to get the database connection to use the local database in development, but use the environment variable for CI.

I think the best practice is to put database.yml (used in development) in .gitignore

+1 for this feature. I also expected DATABASE_URL to override the database.yml config values and mimic how AR works in rails.

Bringing this up again. Really helpful for heroku deploys

@jacquescrocker hi Jacques wondering if you have a very basic hello world rails app deployed to heroku - i'm having trouble getting heroku to connect to the sequel database and run some basic migrations. any pointers would be much appreciated. chrs

I've got a basic one up and  running on heroku, with instructions: https://github.com/BKSpurgeon/testing_in_sequel
For anyone who comes across this thread in the future and is interested.
Hope it helps!

For containerized Rails applications, with this issue present, the only way to make DATABASE_URL fully effective is by putting config/database.yml into .containerignore or .dockerignore.


text protocol and meta command support

With the addition of the new metacommands to memcached (available in the text protocol), would there be interest to support the text protocol with dalli? (and supporting the meta commands with it also).
Addition of text protocol support would also allow the use of dalli with proxies like mcrouter.
Are there any caveats/issues to be concerned about in adding this support.
We use dalli, (in some cases), text protocol  (in many cases) mcrouter and currently are working towards using the meta commands. As it stands our applications that use dalli cannot use mcrouter, and applications that use text protocol (and mcrouter) cannot use dalli, and these clients will soon be adding the use of the meta commands also.
@ndurks @dormando

I wonder if it makes sense for this to be done with dalli, since that was always a binprot-first client. You might have better luck with a compatibility wrapper over something really minimalist/simple.

Dalli is in long-term maint mode, we don't have a maintainer that can spend a lot of time on major overhauls. You can fork Dalli or you can step up if you have a vision for 3.0 and are willing to do the work.

are willing to do the work

Of course. I'll submit a few PRs soonish. Also I've seen https://github.com/petergoldstein/dalli/issues/758, I can help with that TODO list.


Fix client block proposal race condition

Motivation

There were some occasional test failures with the error message saying that messages were out of order on the local node. After some discussion and debugging during the offsite, @afck suggested it could be a race condition because the client may try to propose a block with some messages that are already in a pending block that will be proposed first.
Proposal

Retrieve the list of incoming messages to include in the block proposal after handling the pending block. That way the messages are not repeated in both blocks.
Test Plan

After this fix, I could not reproduce the error that I was running into periodically.
Release Plan

Fixes a bug. There are no visible changes, so nothing is needed besides publishing a patch version.
Links

reviewer checklist

Nice fix!

Thanks @afck for the suggestion :D


Added X Forwarded listener parameters

Description
Adds the ability to define X Forwarded parameters in config.

          1 Error

:no_entry_sign:
Please include a CHANGELOG entry.

          1 Warning

:warning:
This Pull Request is probably missing tests.

  Generated by :no_entry_sign: Danger


Parsing numbers starting with + is not supported

This could be considered an edge case, but the standard library's parsing routines do support it, so reporting it for your consideration. Example on which the divergence can be observed: +0

There is a check for -. Probably it's an easy fix, but I did not need that previously

I think this and zeroes are the only two things that std supports and your crate doesn't. So if you can support them, that would make atoi_simd a drop-in replacement for std functions :raised_hands:
I'd like to see a release without UB first though. It's easy to get sidetracked :sweat_smile:

Done in separate function atoi_simd::parse_full


feat(call): Speaking indicator

What this PR does 📖

Adds indicator for when a user is speaking in a call
Username will be enlarged and highlighted
Adds system to check if a participant stopped speaking as there is only the blinkevent for when someone actually speaks BlinkEventKind::ParticipantSpeaking and not when someone stops.

This is achieved by keeping track of when a SpeakEvent comes on and checking if the last time a participant spoke was longer than 3 sec

Which issue(s) this PR fixes 🔨

Resolve #1177

linter is failing 🔨


[RFC] [CIT-309] Thin Edge Json builder/visitor

Proposed changes
Alternative proposal to the traits defining ThinEdgeJson

Variation around https://github.com/thin-edge/thin-edge.io/pull/158
Blur the differences between visitor and builder:

A single struct may implement both. This will be the case for an in memory representation.
An implementation can be just a consumer replicating a series of measurements defined elsewhere (e.g a serializer)
An implementation can be just a producer producing a series of measurements (e.g a parser or a data source).
These producers/consumers can be chained to add validation steps (e.g checking unicity of measurements).

Playing with two alternatives to build multi-valued measurements

Using start_group/end_group methods.
Using measurement/sub_mesaurement methods.

Still to be done:

Use nom to implement a streaming parser that use a GroupedMeasurementCollector
to parse a ThinEdgeJson document and build whatever is built by the collector.
Example of intermediate transducer that add validation steps as checking unicity of measurements.
Example + tests of a chain: parser -> validator -> serializer

Types of changes
What types of changes does your code introduce to thin-edge.io?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[x ] New feature (non-breaking change which adds functionality)
[ ] Documentation Update (if none of the other choices apply)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Paste Link to the issue

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA (in all commits with git commit -s)
[x] I ran cargo fmt as mentioned in CODING_GUIDELINES
[ ] I used cargo clippy as mentioned in CODING_GUIDELINES
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments

See https://github.com/thin-edge/thin-edge.io/pull/158

@didier-wenzek

I do think there is a different between the Visitor and Builder.

The Builder is just some API that is used by the programmer to build "something". You can name the builder functions to suit the programmers needs... For instance you can have a ThinEdgeJsonBuilder that uses the naming common for ThinEdge JSON, but internally uses a impl Visitor.

The Visitor on the other hand is more implementation detail. It is the interface between all components.

You can use the Builder to restrict what you can build at the type level. For instance the ThinEdgeJsonBuilder would not have a typename method, even so the Visitor has a visit_typename method.

I agree that the previous naming was not appropriate. I renamed the main traits Consumer and Producer.

A Producer is a source of measurements - it can be a concrete structure representing a series of measurements or it can be something more dynamic as a parser that extracts the measurements out of a stream of bytes.
A Consumer is driven by a producer consuming the measurements to build a different representation.


Yoga 11e event source?

I am running a Yoga 11e which the readme implies has been tested with this script, but I can't figure out where the event should come from.  Any of the monitoring commands I run, nothing seems to print when I fold the laptop to tablet mode.
I got something working based on the old version in git history using accelerometers and that works fine, but I guess probably that approach was stopped because you need to poll often and it can suck battery?
Thanks for any tips about this.

I didn't test it personally, here's the pull-request where it was added https://github.com/alesya-h/linux_detect_tablet_mode/pull/30/files . It specifically mentions 11e gen6 , so you might have a different device.
As for the older approach, no, it was sunset because modern laptops standardised on using this event, and before that using a pair of accelerometers was an implementation detail for some Lenovo laptops (maybe some others too), when this event wasn't issued by the kernel. Once this event became supported on my laptop I made the current version of the script because it seemed both simpler and more generic. If the old version works for you it's great, that's why I kept it around.


⚠ Samsung has degraded performance

In 69cbc5f, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2003 ms

Resolved: Samsung performance has improved in 842f6c6.


[WIP] Bundler endpoints

PR-Codex overview
The focus of this PR is to introduce bundler functionality, update dependencies, and improve database interactions.
Detailed summary

Added entrypoint to schema/extension.ts
Updated thirdwebClient secret key
Updated dependencies: thirdweb, prisma
Added database functions for bundler operations
Implemented bundler user operation listener
Added routes for bundler creation, update, and revocation

The following files were skipped due to too many changes: src/prisma/schema.prisma, src/server/utils/userop.ts, src/worker/tasks/bundleUserOps.ts, src/server/routes/bundler/index.ts, yarn.lock, src/constants/bundler.ts

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Unstale


Add tests for date-times with non-ASCII digits

At least in Python, the de-facto library for validating RFC3339 incorrectly allows these through.
See https://github.com/danielrichman/strict-rfc3339/issues/8
We should add tests to ensure implementations are aware / also reject these.

e.g. BENGALI DIGIT FOUR:
$ uniprops "BENGALI DIGIT FOUR"
U+09EA ‹৪› \N{BENGALI DIGIT FOUR}
    \w \d \pN \p{Nd}
    All Alnum X_POSIX_Alnum Any Assigned Beng Bengali Is_Bengali Chakma Is_Chakma ID_Continue Is_IDC Syloti_Nagri Is_Syloti_Nagri Cakm Decimal_Number X_POSIX_Digit Digit Nd N Gr_Base Grapheme_Base
       Graph X_POSIX_Graph GrBase IDC Number Print X_POSIX_Print Sylo Unicode Word X_POSIX_Word XID_Continue XIDC

It appears this was added in #506.


Deadline argument

I may be wrong, but at no moment do I see the Deadline argument in the script.
At what point do we retrieve the Deadline value from the configuration file?

Assuming you're on a mac, you can use Command+F in any browser or text editor to search for a word within a file.
The word "Deadline" appears 9 times in the latest version of Renew.sh, perhaps you're looking at an old version from before this feature was added.
In any case, please open a new issue if you have a specific problem or question with this feature and provide details about your configuration, what you expect to be happening, and what is actually happening.
Providing output of this command can streamline diagnosing the issue: /bin/zsh -x /usr/local/Renew.sh

I'm sorry, the git pull had not retrieved the latest version and I had the script version Beta 0.1.8. Even a cmd-f search didn't find anything

That explains it! Thanks for the follow up.


Tests silently pass when there is a broken import in the test code

What are you trying to achieve?
For the tests to fail if there is a broken import in the Codecept testing code.
What do you get instead?
The tests silently do not run. There is no output to say there is an error. Our build pipeline passes.

Provide console output if related. Use --verbose mode for more details.

$ codeceptjs run --verbose
✨  Done in 10.10s.

Provide test source code if related

This occurred when we had a broken import, which was incorrectly copied from our actual website source code, so it didn't resolve in the codecept project:
import { SOMETHING } from 'some/path/which/does/not/exist';

Feature('Some feature to test');

Scenario('Some scenario', ...

Details

CodeceptJS version: 1.4.6
NodeJS Version: v11.1.0
Operating System: Mac OS 10.14.2. Also replicated in Docker on Linux.
Protractor || WebDriverIO || Nightmare version (if related): Puppeteer 1.11.0
Configuration file:

(Ommitting some additional parts of the file for brevity, here's the crux of it)
const config = {
  name: process.env.E2E ? 'e2e-tests' : 'functional-tests',
  helpers: {
    Puppeteer: {
      fullPageScreenshots: true,
      url,
      restart: true,
      show,
      waitForNavigation: 'networkidle0',
      waitForTimeout: 5000,
      windowSize: screenRes.windowSize,
      chrome: {
        args: [
          '--no-sandbox',
          '--disable-setui-sandbox',
          '--ignore-certificate-errors',
          '--ignore-certificate-errors-spki-list',
          '--allow-insecure-localhost',
        ],
        ignoreHTTPSErrors: true,
      },
    },
  },
  output: './output',
  include: {},
  multiple: {},
  mocha: {},
  bootstrap: done => {
    // Waits until the url returns a 200 response before any tests are performed
    waitOn({
      resources: [queryBuilder(url)],
      strictSSL: false,
      timeout: 10000,
    })
      .then(() => {
        done();
      })
      // i.e. most likely a timeout has occurred
      // In this case a get request is performed for access to more diagnostic information
      .catch(() =>
        requestPromise({
          url: queryBuilder(url),
          strictSSL: false,
        })
      )
      .catch(err => {
        console.error(`Something is wrong with the application at ${url}`);
        console.error(`Response code ${err.response.statusCode}`);
        console.error(err.response.body);
        process.exit(1);
      });
  },
  hooks: process.env.E2E ? ['./utils/helpers/custom-hook.js'] : [],
  gherkin: {},
  plugins: {
    screenshotOnFail: {
      enabled: true,
    },
  },
  tests,
  timeout: 10000,
};

C02XR2AGJHD2:ucb-client-tests trung.nguyen$ ./node_modules/.bin/codeceptjs run --grep @test --verbose
2019-03-19T14:31:36.748Z DEBUG wdio-config: @wdio/sync not found, running tests asynchronous
[ 3, 42, 'foo' ]
Before tests clean up data Finished
(node:53995) UnhandledPromiseRejectionWarning: Error: Cannot find module 'some/path/which/does/not/exist'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
    at Function.Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at Object.<anonymous> (/Users/trung.nguyen/Desktop/ucb-client-tests/tests/smokeCheck/linkedin.js:17:18)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions.(anonymous function) [as .js] (/Users/trung.nguyen/Desktop/ucb-client-tests/node_modules/node-hook/index.js:73:14)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
(node:53995) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:53995) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

are you running against latest codeceptJs 2.0.7?

I'm seeing unhandled promise rejections in our steps file that are not causing tests to fail. Might be something similar.
(node:118) UnhandledPromiseRejectionWarning: AssertionError [ERR_ASSERTION]: '393-494-951-070-6' == '039-349-494-818-0'

Scenario('This test is lying', async () => {
  const one = await Promise.resolve(1);
  if (one !== 2) throw new Error('Test error');
});

Test always green. Any exceptions broken in async scenarios.

hi! Thank you for issue!
Your CodeceptJS version is oldest!
And in last version this problem must to resolved.
But CodeceptJS is terrible works with import/export. Example, on my project I must to setting babel config for this.

Your CodeceptJS version is oldest!

Same bug in latest stable 2.6.6 version.

I found a bug, problem with typescript + target: 'es5'
Uncomment target: "es2017" in https://github.com/zerkalica/codecept-ts-assert-bug/blob/master/tsconfig.codecept.json#L3
May be describe this moment in codecept documentation? I can't found anything about ts setup.
Related:
#1520 #2005


Add dev dependency badge

https://david-dm.org/

Hey,
i created a pull request #10 for this issue.


[BUG] 3 nodes upgrade from v1.2.1 to v1.2.2-rc1 with Rancher integrated stuck in Upgrading System Service

Describe the bug

While Harvester v1.2.1 integrated with Rancher v2.8.2 and have other vm created.
We shutdown the vm from operating system (not from dashboard UI)
When upgrade to v1.2.2-rc1, the upgrade process stuck in Upgrading System Service

Check the upgrade apply manifest pod log, it get error and prompt message
Error from server (NotFound): deployments.apps "fleet-agent" not found
│ Wait for Rancher dependencies helm releases...                                                                                │
│ Wait for Rancher dependencies rollout...                                                                                │
│ deployment "fleet-agent" successfully rolled out                                                                                │
│ deployment "fleet-controller" successfully rolled out                                                                                │
│ deployment "rancher-webhook" successfully rolled out                                                                                │
│ Wait for cluster settling down...                                                                                │
│ Waiting for CAPI cluster fleet-local/local to be provisioned (current phase: Provisioned, current generation: 472)...                                      │
│ Waiting for CAPI cluster fleet-local/local to be provisioned (current phase: Provisioned, current generation: 472)...                                      │
│ Waiting for CAPI cluster fleet-local/local to be provisioned (current phase: Provisioned, current generation: 472)...                                      │
│ CAPI cluster fleet-local/local is provisioned (current generation: 476).                                                                                │
│ cluster.fleet.cattle.io/local patched                                                                                │
│ Error from server (NotFound): deployments.apps "fleet-agent" not found                                                                                │
│ Stream closed EOF for harvester-system/hvst-upgrade-j4qxs-apply-manifests-7rgtw (apply)

To Reproduce
Steps to reproduce the behavior:

Prepare the 3 nodes Harvester
Integrate with Rancher v2.8.2
Provision the RKE2 v1.27.12 guest cluster
Create a windows server 2019 vm
Create a opensuse leap 15.4 no cloud vm
Open web console to access then shutdown windows and opensuse vm
Upgrade Harvester to v1.2.2-rc1

Expected behavior

Can upgrade Harvester from v1.2.1 to v1.2.2-rc1 with Rancher v2.8.2 integrated
Support bundle
supportbundle_60c51d7a-78b5-4182-8a75-bfca43a14c5d_2024-04-29T17-38-44Z.zip
Upgrade log
hvst-upgrade-j4qxs-upgradelog-archive-2024-04-29T17-37-38Z.zip
Environment

Harvester ISO version: v1.2.2-rc1
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630): 3 nodes on remote kvm machines

should be duplicated with https://github.com/harvester/harvester/issues/5690

Close this issue since duplicated with #5690

During testing upgrade from v1.2.1 to v1.2.2-rc2 on 3 nodes Harvester on kvm machines.
I also encounter the issue again to stuck in the upgrading system service

With the failure deployments.apps "fleet-agent" not found

@ibrokethecloud Seems the last PR hit another bug, the wait_for_fleet_agent may fetch deploy failed as the previous deploy was deleted and the new one is not created yet
https://github.com/harvester/harvester/blob/95bb0270d4b121e8b4cbaf013b92be731be3c24b/package/upgrade/upgrade_manifests.sh#L1373
  patch_fleet_cluster
  wait_for_fleet_agent $pre_patch_timestamp

Duplicated with https://github.com/harvester/harvester/issues/5690

Verifying on v1.2-9b75c2bf-head (24/05/07).
Result
$\color{green}{\textsf{PASS}}$ Upgrade from v1.2.1 to v1.2-head did not stuck in "upgrading system service" $~~$

The upgrade can proceed to "Upgrading Node"

Did not encounter the "fleet-agent" not found" error in the apply manifest log

$\color{red}{\textsf{FAILED}}$ Can completely upgrade to v1.2-head  $~~$

The upgrade stuck in "Pre-draining" the node-1

Check the pre-drain log, it looping in message

Waiting for VM live-migration or shutdown...(count: 1)

This may probably related to issue #5008

Test Information

Test Environment: Three nodes on remote kvm machines
Harvester version: v1.2-9b75c2bf-head (24/05/07)

Verify Steps
 Upgrade process

Prepare the 3 nodes v1.2.1 Harvester
Integrate with Rancher v2.8.2
Provision the RKE2 v1.27.12 guest cluster
Create a windows server 2019 vm
Create a opensuse leap 15.4 no cloud vm
Open web console to access then shutdown windows and opensuse vm
Upgrade Harvester to v1.2-head

@TachunLin From your post, there seems to be one migrating VM
did you observe something?

From the RKE2 guest cluster vm events. it kept in "migrating"

From the hvst-upgrade-l25l8-pre-drain-harvester-node-1 pod log keep looping
echo 'Waiting for VM live-migration or shutdown...(count: 1)'
https://github.com/harvester/harvester/assets/29251855/b0636c53-b704-42da-86d0-a911c3604bf7
Checking the vmi log of the guest cluster rke2-v12712-pool1-efda1178-fw2k, it stuck in Migrating

Just create #5756 to track this issue.

As per discussed, since under the same environment the upgrade did not stuck in Upgrading System Service with apply mainifest log error deployments.apps "fleet-agent" not found
We can assume the original issue stated in this ticket have been fixed.
Thus we can close this issue and track the RKE2 guest cluster vm migrating failure in #5756


Add Russian translation

This PR only adds the Russian translation for the Builder plugin :)

Thanks @dragomano!


Python STDOUT is captured instead of streamed in bitrise run output

Troubleshooting

[x] I've searched discuss.bitrise.io for possible solutions.

Issue description
Hello 👋
I'm recently building a complex automation in Python to run it on Bitrise. My Python script takes a long time to run and it prints a lot of useful logs on the way. To have better insights for debugging, I'd love to see those logs on Bitrise as soon as possible. Unfortunately, it appears to me that the STDOUT for Python scripts doesn't behave the same as for Bash scripts.
When running Python, the STDOUT seems to be captured and only printed after the script completes.
When running Bash, the STOUT is nicely streamed to Bitrise log and can be seen as soon as the script starts.
Steps to reproduce
Run this script:
    - script:
        title: Running Python script
        inputs:
        - runner_bin: /usr/bin/python3
        - content: |-
            import time

            print('one')
            time.sleep(2)
            print('two')
            time.sleep(2)
            print('three')

and observe the output of bitrise run:

all values (one, two, three) will be printed after ~4s at once - when the script completes.

Expected behaviour
I'd expect Python script to be run similar to bash script:
    - script:
        title: Running Bash script
        inputs:
        - runner_bin: /bin/bash
        - content: |-
            echo one
            sleep 2
            echo two
            sleep 2
            echo three

where each value can be seen early in bitrise run output (one, 2s later: two, 2s later: three).
This could be a FR rather than a bug 🐞, but I report it here as the behaviour differs per runner_bin.
Is there any workaround that I could install to see streamed Python STDOUT in Bitrise log? I tried launching python script form a bash script (python3 script.py), but unfortunately this doesn't help.

Hello @ncreated 👋
Thank you for the info! Can you please send us the log file or the URL of the related build and also enable Support Access on the Settings tab of the app ( https://devcenter.bitrise.io/troubleshooting/enabling-bitrise-support-user/ ) so that we can take a more in-depth look? 🙂

Hello @Roland-Bak 👋 . I guess this requires contacting you through support channel - will do 🙂. I assumed that this might be an issue related to script step only, but I'll loop through support.


Add a flag to install/upgrade packages without creating desktop shortcuts

Description of the new feature/enhancement
Add a new flag to give the user the option to add/ upgrade a package without creating a desktop shortcut
I think there are many people out there that, like me, love to keep their desktops clean, without any shortcuts.
So every time I run "winget upgrade --all" I need to go to the desktop and manually delete all the created shortcuts.
The same happens when adding a new package or upgrading a specific one.
What I do believe will help a lot it's a new flag. Something like "-ns"(no shortcut). So the final command should be something like "winget upgrade --all -ns".
Proposed technical implementation details (optional)
At this point, I don't know the complexity of this task in terms of implementation.
The winget-cli is already an amazing tool and I like it a lot. I believe this feature could make the winget even better, but again, I don't know how complex it could be as every installer is different from the others.

And have an option to designate destination for the shortcut, maybe the user uses the Quick Launch folder.

Some installers don't have switches to not create a desktop shortcut/start menu shortcut, it is only possible by using interactive installation but that defeats purpose of using winget. Some installers don't even give option to not create desktop shortcut.
So here is what I'm suggesting.
In .yaml manifest file, there should be two fields for desktop shortcut and start menu shortcut, possibly in installer.yaml
where desktop shortcut includes location to where the installer will create shortcut and so on for start menu shortcut
Here is what it should look like in Publisher.App.installer.yaml
Shortcut:
  Desktop: "C:\Users\<username>\Desktop\App.lnk"
  StartMenu: "C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\App.lnk"

These fields should contain wherever the installer creates following shortcuts. Person who submits the package needs to take care of that.
With this winget will now know where this installer created shortcut.
Lets assume in winget settings I have set it to not create desktop shortcut, just start menu shortcut. Then It should look something like this.
    "installBehavior": {
        "preferences": {
            "desktopshortcut": "no",
            "startmenushortcut": "yes"
        }
    },

As desktopshortcut is set to no, winget should check if the installer created a shortcut or no, if created then it should delete it. winget should also check if the installer created a shortcut when using winget upgrade App and delete it if so.
Doesn't sound like most elegant solution but I don't see any other way.

Deleting files on the users machine seems rather risky, the manifest schema must enforce a specific list of approved root shell folders. Maybe just Start menu, Start Menu\Programs and Desktop. Winget would also have to check the creation date of the shortcut to make sure it only deletes new shortcuts created after Winget started.
Without bothering to look it up, I would assume that there is a Windows Logo requirement or recommendation that installers should not create shortcuts anywhere except under "Start Menu\Programs". Installer authors should be encouraged to follow reasonable guidelines.

Adding to the complexity

Desktop shortcut from installers designed to run as admin or from system context, is often added to the shortcut the public folder.
What if a shortcut already exists before upgrade with option of no shortcut, what should winget-cli do then?

An optional entry in the manifest that some developers can fill.
Most installation programs have this option, so I think this would be easy
for developers to use, or to ignore.
On Fri, Feb 18, 2022 at 11:51 AM denelon @.***> wrote:

I haven't invested enough time to know how reasonable this feature is.
I'll flag this as "Area-Settings" and "Area-Manifest" so it shows up in
searches when we're looking at settings and schema changes. If someone
could provide a couple of examples for packages that support this in
"silent" mode, and some that don't, we can have a couple of packages to
evaluate edge cases and the impact to user experience and expectations.
The manifest would need to inform us what a package does and does not
support. Generally, when we add arguments and settings, things get tricky.
If a user requires the behavior, it's likely to impact how many packages a
user could successfully install. We would also likely want to look at the
search experience if a user requires this ability so we wouldn't show them
packages they couldn't install.
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/winget-cli/issues/1045#issuecomment-1044916012,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACPC5BQVFKBYSZ6ZLANQCXTU32BLBANCNFSM452YKHSQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

--
Gabriel Moises

Inno Setup:
/NOICONS disables start menu shortcuts
/MERGETASKS="!desktopicon,!quicklaunchicon,!startupicon" disables desktop icon, quick launch icon and startup icon.
Examples: Appest.TickTick and FancyNode.PxCook
NSIS doesn't have official switchs for shortcuts., so it rests with installer authors.
Example: Tencent.YingYongBao
/NODESKLINK No desktop icon
/NOQUICKLINK No quick launch icon
EXE example: Tencent.QQMusic
https://github.com/microsoft/winget-pkgs/blob/master/manifests/t/Tencent/QQMusic/18.22/Tencent.QQMusic.installer.yaml

Thank you.
Let's see if some developers take advantage of this.
On Sat, Feb 19, 2022 at 4:48 AM SpecterShell @.***>
wrote:

Inno Setup:
/NOICONS disables start menu shortcuts
/MERGETASKS="!desktopicon,!quicklaunchicon,!startupicon" disables desktop
icon, quick launch icon and startup icon.
Examples: Appest.TickTick and FancyNode.PxCook
NSIS doesn't have official switchs for shortcuts., so it rests with
installer authors.
Example: Tencent.YingYongBao
/NODESKLINK No desktop icon
/NOQUICKLINK No quick launch icon
EXE example: Tencent.QQMusic
https://github.com/microsoft/winget-pkgs/blob/master/manifests/t/Tencent/QQMusic/18.22/Tencent.QQMusic.installer.yaml
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/winget-cli/issues/1045#issuecomment-1045989409,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACPC5BQH4YEIOXGOMBVLXCDU35YPJANCNFSM452YKHSQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

--
Gabriel Moises


Pomodoro - Stage 2

Codecov Report

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

@@             Coverage Diff             @@
##           master      #32       +/-   ##
===========================================
+ Coverage   77.24%   91.56%   +14.32%
===========================================
  Files          20        5       -15
  Lines         167       83       -84
  Branches       17        4       -13
===========================================
- Hits          129       76       -53
+ Misses         36        6       -30
+ Partials        2        1        -1

Impacted Files
Coverage Δ

angular/src/app/navpages/svg/svg.component.ts

angular/src/app/navpages/home/home.component.ts

angular/src/test.ts

...lar/src/app/service/increment-decrement.service.ts

angular/src/app/navbars/navbar/navbar.component.ts

...gular/src/app/service/notification-post.service.ts

angular/src/app/navpages/auth/auth.component.ts

angular/src/app/navpages/page0/page0.component.ts

angular/src/app/navpages/main/main.component.ts

angular/src/app/navpages/page1/page1.component.ts

... and 5 more

Continue to review full report at Codecov.

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


Submit does not work on Firefox

After getting part way through a playlist and then leaving it for half an hour, then finishing and trying to submit, I get these errors in the console:
TypeError: n.elements[0].innerText is undefined
 application-e1c028e800a8812ba5cc7563fae93cd30c2abe69656347933ebe5d995abdaecf.js:38:18449
Error getting csrf Error: Not Acceptable
Stack trace:
h/<@https://wiki-playlist.herokuapp.com/assets/application-e1c028e800a8812ba5cc7563fae93cd30c2abe69656347933ebe5d995abdaecf.js:35:809
n.prototype.emit@https://wiki-playlist.herokuapp.com/assets/application-e1c028e800a8812ba5cc7563fae93cd30c2abe69656347933ebe5d995abdaecf.js:56:7628
h.prototype.end/n.onreadystatechange@https://wiki-playlist.herokuapp.com/assets/application-e1c028e800a8812ba5cc7563fae93cd30c2abe69656347933ebe5d995abdaecf.js:35:5607

Maybe we need a longer session time in the Rails config?

Actually, it looks like Submit is not working at all any more, with that csrf error every time I try.

Should be fixed now