Track tax - Track tax feature is still available when Taxes feature is disabled offline

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

Version Number: 9.0.20-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause - Internal Team
Action Performed:

Go to staging.new.expensify.com
Go to workspace settings > More features
Enable Distance rates and Taxes
Go to Distance rates > Settings
Enable Track tax
Go offline
Disable Taxes in More features
Go to Distance rates > Settings
Note that Track tax switch is still enabled but locked
Click on any distance rate
Note that Tax rate and Tax reclaimable on fields are still present when Taxes is disabled

Expected Result:
When disabling Taxes feature offline
Step 9 - Track tax switch should be disabled and locked
Step 11 - Tax rate and Tax reclaimable on fields should disappear
Actual Result:
When disabling Taxes feature offline
Step 9 - Track tax switch is enabled and locked
Step 11 - Tax rate and Tax reclaimable on fields are still present
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/user-attachments/assets/bb5ff826-f161-4a92-bd85-39379f58a489
View all open jobs on GitHub

@lschurr  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

We think that this bug might be related to #wave-collect - Release 2

Proposal
Please re-state the problem that we are trying to solve in this issue.
Track tax feature is still available when Taxes feature is disabled offline
What is the root cause of that problem?
We are using isDistanceTrackTaxEnabled to determine if we should display tax features for

Tax rates
https://github.com/Expensify/App/blob/29fb6bba4cdff75247ee52154359c6925a2390c9/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx#L140-L142
Tax reclaimable
https://github.com/Expensify/App/blob/29fb6bba4cdff75247ee52154359c6925a2390c9/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx#L157-L159
Track tax
https://github.com/Expensify/App/blob/29fb6bba4cdff75247ee52154359c6925a2390c9/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx#L140-L142

When user disable tax rate in offline mode, we are not optimistialy updating isDistanceTrackTaxEnabled (policy?.customUnits.customUnitID.customUnit?.attributes?.taxEnabled) to false as we do for isPolicyTrackTaxEnabled (policy?.tax?.trackingEnabled)
What changes do you think we should make in order to solve the problem?
We should check also for isPolicyTrackTaxEnabled in the above places where we are using isDistanceTrackTaxEnabled, since isPolicyTrackTaxEnabled updated optimistically.
 <Switch
     isOn={isDistanceTrackTaxEnabled && isPolicyTrackTaxEnabled}

We will do the same for tax rates, and tax reclaimable as well
What alternative solutions did you explore? (Optional)

@mountiny - looks like we just need a quick check from you. Can I assign this over to @etCoderDysto?

Assigned, thanks for your patience

@Ollyws PR is ready for review

Payment summary:

Contributor: @etCoderDysto $250 (paid in Upwork)
Reviewer: @Ollyws $250 (please request in NewDot)

$250 approved for @Ollyws


Improve message when attempting to remove package from wrong dependency group

uv version: 0.5.9
If you have dependency groups and attempt to remove a package from the wrong group the warning message provided gives an incomplete command.
[project]
name = "myproject"
version = "0.1.0"
description = "Add your description here"
requires-python = ">=3.11"
[dependency-groups]
dev = [
        "black",
]
test = [
        "pytest",
        "pytest-cov",
]

uv remove pytest --group dev
warning: `pytest` is in the `test` group; try calling `uv remove --group test`
error: The dependency `pytest` could not be found in `dev-dependencies` or `dependency-groups.dev`

The command suggested uv remove --group test is incomplete - the suggestion could just include pytest to make it a valid command.
In addition, the error message for the command below seems confusing too - the black dependency was found in dependency-groups after-all.
uv remove black --group test
warning: `black` is in the `dev` group; try calling `uv remove --group dev`
error: The dependency `black` could not be found in `dependency-groups`

Thanks for letting us know!


fixBug PropertyNotFoundException

During deploy on clean Wildfly 19 installation there were the foollowing exception:
org.hibernate.PropertyNotFoundException: Could not locate setter method for property [org.apache.roller.weblogger.pojos.WeblogEntryComment#emptyString]
Adding missing  element for emptyString property in orm descriptor fixes the problem.

@snoopdave do you remember why emptyString is used here instead of listValue=""? Maybe we can remove the method (org.apache.roller.weblogger.pojos.WeblogEntryComment#getEmptyString) again.
https://github.com/apache/roller/blob/19f7f12bcd6d73681e3aa68360bcfa003e495512/app/src/main/webapp/WEB-INF/jsps/editor/Comments.jsp#L213-L214

No, unfortunately, I don't know. I only build this project once and tried it for couple hours.
When I discovered the issue and created this pull request I remember that I browsed commit history and conclude that somebody simply forgot to add the line to orm descriptor. I did not analyze weather it could be removed altogether.

@DKARAGODIN i would like to remove it if possible, i am only waiting for @snoopdave maybe he remembers why he added the getEmptyString method. It does seem to work for me when I set listValue="" without a method call.
I just want to make sure that we don't remove a workaround which was probably there for a reason.

I do not remember why I had to add that weird and annoying getEmptyString() method and if things work now without it then we should remove.

@snoopdave thanks for the info. I ran a quick test and the checkboxes seem work fine without the method call.
@DKARAGODIN since you contributed the original fix, would you like to change it so that:
https://github.com/apache/roller/blob/19f7f12bcd6d73681e3aa68360bcfa003e495512/app/src/main/webapp/WEB-INF/jsps/editor/Comments.jsp#L213-L223
all 3 checkboxes use listValue=""
and remove the following method
https://github.com/apache/roller/blob/19f7f12bcd6d73681e3aa68360bcfa003e495512/app/src/main/java/org/apache/roller/weblogger/pojos/WeblogEntryComment.java#L295-L298
?
feel free to force push a new commit to this PR. If you don't want to or don't have time its completely fine.

I think I can't do it. I deleted forked repository from which i suggested this PR.
And I also could not find this commit in my local repository.

no worries. I can close this PR no problem. I am going to create a new one this weekend for this issue, unless someone else already created one. If you want to give it another try feel free to do so.


Show all authors in the news card

Related to #409

Please use joinToString method to concatenate authors

Done


Fixed second part of the issue where hyperparameters are colliding

Introduced a unique id for every object, which is added to the parameter name.

model JiGen is still missing?

Trainers like mldg dial also have gamma, that can be done also with id?

From what I can see, jigen has not hyper_init and hyper_update functions, so I assumed hyperparameters are not updated.
To the other question: In your initial issue, you split it into two parts. The first part, the gamma collision when combining trainers, is not addressed with this. The second part, where the naming of model parameters collides, is. Will need to think about the first part, as this won't work with ids

you are right, i forgt, sorry, jigen is a subclass of dann

I read the pr several times since it first launched, the key point i want to make sure is that this design will be consistent with extensions, for example, if we have hyperscheduler_dial_mldg trainer, training diva_hduva model.

Solved gamma_reg naming collision by introducing functionality to pass different gamma values for different trainers and models based on the naming of the class. Also added parameter printing for models and trainers.

Codecov Report
Attention: Patch coverage is 88.40580% with 8 lines in your changes are missing coverage. Please review.

Project coverage is 95.00%.  Consider uploading reports for the commit b680380 to get more accurate results

Files
Patch %
Lines

domainlab/models/a_model.py
78.57%
3 Missing :warning:

domainlab/algos/trainers/a_trainer.py
33.33%
2 Missing :warning:

domainlab/arg_parser.py
83.33%
2 Missing :warning:

domainlab/utils/hyperparameter_retrieval.py
90.90%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #806      +/-   ##
==========================================
- Coverage   95.10%   95.00%   -0.11%
==========================================
  Files         127      128       +1
  Lines        5026     5083      +57
==========================================
+ Hits         4780     4829      +49
- Misses        246      254       +8

Flag
Coverage Δ

unittests
95.00% <88.40%> (-0.11%)
:arrow_down:

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

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

@MatteoWohlrapp , could you fix the yaml according to my review?

Can't see a review

see the screenshot, the same scene not on your side?

@MatteoWohlrapp, the test coverage must be above 95%
currently
Attention: Patch coverage is 88.05970% with 8 lines in your changes are missing coverage. Please review.

Codecov Report
Attention: Patch coverage is 88.05970% with 8 lines in your changes are missing coverage. Please review.

Project coverage is 95.00%. Comparing base (af8a238) to head (cc650ad).
Report is 4 commits behind head on master.

Files	Patch %	Lines
domainlab/models/a_model.py	78.57%	3 Missing ⚠
domainlab/algos/trainers/a_trainer.py	33.33%	2 Missing ⚠
domainlab/arg_parser.py	83.33%	2 Missing ⚠
domainlab/utils/hyperparameter_retrieval.py	88.88%	1 Missing ⚠
Additional details and impacted files
☔ View full report in Codecov by Sentry. 📢 Have feedback on the report? Share it here.

@MatteoWohlrapp see detailed coverage report in quotes.

@MatteoWohlrapp , what is the test coverage at the moment?
One way to find this is run the pytest locally on a GPU node,  or even better, change the CI yaml to display the coverage each time

You can also check it on the Codacity website here or refer to the screenshot below; it seems like it is fine now:

@MatteoWohlrapp

@MatteoWohlrapp
Run poetry run python examples/api/jigen_dann_transformer.py
Traceback (most recent call last):
  File "/home/runner/work/DomainLab/DomainLab/examples/api/jigen_dann_transformer.py", line 9, in <module>
    from domainlab.mk_exp import mk_exp
  File "/home/runner/work/DomainLab/DomainLab/domainlab/mk_exp.py", line 4, in <module>
    from domainlab.arg_parser import mk_parser_main
  File "/home/runner/work/DomainLab/DomainLab/domainlab/arg_parser.py", line 33
    my_dict = {}        if "=" in values:
                                        ^
SyntaxError: invalid syntax
Error: Process completed with exit code 1.

@MatteoWohlrapp
Run poetry run python examples/api/jigen_dann_transformer.py
Traceback (most recent call last):
  File "/home/runner/work/DomainLab/DomainLab/examples/api/jigen_dann_transformer.py", line 9, in <module>
    from domainlab.mk_exp import mk_exp
  File "/home/runner/work/DomainLab/DomainLab/domainlab/mk_exp.py", line 4, in <module>
    from domainlab.arg_parser import mk_parser_main
  File "/home/runner/work/DomainLab/DomainLab/domainlab/arg_parser.py", line 33
    my_dict = {}        if "=" in values:
                                        ^
SyntaxError: invalid syntax
Error: Process completed with exit code 1.

lookes like error introduced by my commit

@MatteoWohlrapp
Run poetry run python examples/api/jigen_dann_transformer.py
Traceback (most recent call last):
  File "/home/runner/work/DomainLab/DomainLab/examples/api/jigen_dann_transformer.py", line 9, in <module>
    from domainlab.mk_exp import mk_exp
  File "/home/runner/work/DomainLab/DomainLab/domainlab/mk_exp.py", line 4, in <module>
    from domainlab.arg_parser import mk_parser_main
  File "/home/runner/work/DomainLab/DomainLab/domainlab/arg_parser.py", line 33
    my_dict = {}        if "=" in values:
                                        ^
SyntaxError: invalid syntax
Error: Process completed with exit code 1.

lookes like error introduced by my commit

you corrected that already in the last two commits.


⚠ GTru has degraded performance

In a7dfe92, GTru ($GTRU) experienced degraded performance:

HTTP code: 200
Response time: 12229 ms

Resolved: GTru performance has improved in 1902bb1 after 16 minutes.


Fixing the package script to not fail totally on one failure

Fixing the package script to not fail totally on one failure
@KrzysztofCwalina

After this, the branch should be in a good, stable state where our daily builds pass every day again :)

looks good.

This file does not interact with the build or build process at all so it should be fine to merge without a build

@sokket, have you started a nightly to push the packages to myget?

Yes, build is in progress right now

@sokket, Thanks!


Make highlight color match theme

Highlights were the default yellow, even if the minimal theme accent was set to another color.
These new rules make the highlight color into --text-selection so they match.

Thank you for the contribution however the current colors are chosen intentionally to differentiate between text selection, highlights, search results, and selected search result:

Alright then. I'll go ahead and close this request.


[Native Functions] Need a default way to handle/log run-time errors

Description:
At the moment, there is no any default mechanism to handle/log the runtime errors that caused when calling native function.
Let's say, there is a native function defined but function definition does not explicitly says there is a possibility of an error can be thrown. In this situation, if there is any runtime exception thrown by the native function then the respective error trace is logged anywhere.
Steps to reproduce:

Create a native function without specifying error as possible return type.
Throw an exception from the native function implementation.

@SupunS This seems to be fixed with JBallerina. When panic happens original error is included in the stack trace. For others, developers can use runtime API to attache the cause to Ballerina error value.  Can you verify?

This can be achieved using BallerinaErrors class in runtime.


Android: bugfixes

Fixes and improvements for the 5.0.0 beta, ready to become b2.

Oh gosh, this is so, so beautiful. Releasing to the beta channel. I'd like to get this out before we put notifications in so we can have 2 android releases. You feeling ready for a release?

Yep, should be good to go after another several daysa to soak in Beta.  The massive resource load for the new thumbnails has countless edge case effects, so the time in Beta is proving quite fruitful, and I'd like to ensure we actually caught everything in this patch.


Fails to download sources using msys2 git on the path

Describe the bug
We're building on a CI machine that has both msys2 and MSVC installed. The msys2 installation is in the system PATH to make msys2 git available to the rest of the system including Jenkins, which uses it to check out sources for both msys2 and MSVC based projects. Since there is only a single git installation, there are no incompatibilities between calling git from a shell script running under msys2 and calling git from the Jenkins plugin.
When building a package that pulls dependencies through vcpkg, the same git installation is used, but the PATH appears to be reset, causing git's helper subprocesses to fail to load due to missing DLLs. There are various bug reports for individual ports that fail to build with an error message similar to
Starting package 1/106: bzip2:x86-windows
Building package bzip2[core]:x86-windows...
Could not locate cached archive: C:\Users\Build\AppData\Local\vcpkg\archives\86\8611ad05a77a0986b4ea7a56e4257a4aba1629b8.zip
-- Fetching https://sourceware.org/git/bzip2.git...
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:85 (message):
    Command failed: C:/Users/Build/kicad-winbuilder/msys64/usr/bin/git.exe fetch https://sourceware.org/git/bzip2.git 75a94bea3918e612b879d6a11ca64b8689526147 --depth 1 -n
    Working Directory: C:/Jenkins/workspace/test/vcpkg/downloads/git-tmp
    Error code: 3328
    See logs for more information:
      C:\Jenkins\workspace\test\vcpkg\buildtrees\bzip2\git-fetch-x86-windows-err.log

The error message in the stderr log is
 C:/Users/Build/kicad-winbuilder/msys64/usr/lib/git-core/git-remote-https.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory

This can be easily reproduced using vcpkg env:
C:\Jenkins\workspace\test>vcpkg\vcpkg env
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Jenkins\workspace\test\vcpkg>git clone https://sourceware.org/git/bzip2.git
'git' is not recognized as an internal or external command,
operable program or batch file.

C:\Jenkins\workspace\test\vcpkg>"C:\Users\Build\kicad-winbuilder\msys64\usr\bin\
git.exe" clone https://sourceware.org/git/bzip2.git
Cloning into 'bzip2'...
C:/Users/Build/kicad-winbuilder/msys64/usr/lib/git-core/git-remote-https.exe: er
ror while loading shared libraries: ?: cannot open shared object file: No such f
ile or directory

So it seems that the git downloader happily uses a git installation on the regular system path, but the cleaned environment is unsuitable to actually run git.
Environment

OS: Windows 7
Compiler: Visual Studio 2019 Build Tools

To Reproduce
Steps to reproduce the behavior:

On a fresh machine, install msys2 with git and point PATH at the msys2 git executable
Install Visual Studio without git integration
./vcpkg install bzip2

Expected behavior
I'd expect this either to fail earlier (by failing to look up git.exe along the sanitized PATH, with a sensible error message), or not at all. I'd be happy with vcpkg creating a private git installation for downloading files, as it will only access public repositories, so no consistency with the system-wide installation (e.g. ssh agent socket paths) is required.
Failure logs

https://jenkins.simonrichter.eu/job/test/59/execution/node/44/log/

@ras0219-msft, could you help have a look?

Duplicated to #16282, let's track this issue there.


401 error.

[Enter feedback here]
{"error":{"code":"ExpiredAuthenticationToken","message":"The access token expiry UTC time '4/24/2019 7:44:20 AM' is earlier than current UTC time '4/25/2019 1:49:14 AM'."}}

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

ID: fac3ad92-eb8f-554a-5de3-14c430e594aa
Version Independent ID: fab1ceb3-5110-4452-0a0d-99346cc31230
Content: Integrate Microsoft Flow with websites and apps - Microsoft Flow
Content Source: flow-docs/developer/embed-flow-dev.md
Service: flow
GitHub Login: @bbarath
Microsoft Alias: barathb

@luoyong0201 Thanks for using Microsoft Flow. Looks like you are getting this error because the token for the account you are logged in with seems to have expired. Log out and back in and try again. It also seems like your clock is set to April. Did this happen a month ago, or is your clock set incorrectly?

Yes, this happen a month ago, the clock is right. Did you investigate the problem?


Merge 1.4.1/master back to develop

Summary

Concisely describe the issue and your solution:
Link to existing issue (type "#" to check):
Specify the tests done so far:

Solutions (Optional)
Please describe the details of your solution if it might be too complicated for reviewers.

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@8402225). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop      #90   +/-   ##
==========================================
  Coverage           ?   49.37%
  Complexity         ?     1241
==========================================
  Files              ?      159
  Lines              ?     8287
  Branches           ?     1035
==========================================
  Hits               ?     4092
  Misses             ?     3764
  Partials           ?      431

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 8402225...edf8a94. Read the comment docs.


Performance overlay is not working

Steps to Reproduce
On master -

flutter run any app (flutter_gallery repro the issue for me)
hit 'P'

The app just freezes.
Logs
$ flutter run
Building flutter tool...
Downloading package sky_engine...
Downloading common tools...
Downloading linux-x64 tools...
Downloading linux-x64 tools...
Downloading android-arm-profile/linux-x64 tools...
Downloading android-arm-release/linux-x64 tools...
Downloading android-x86 tools...
Downloading android-x64 tools...
Downloading android-arm tools...
Downloading android-arm-profile tools...
Downloading android-arm-release tools...
Running "flutter packages get" in flutter_gallery...
Launching lib/main.dart on Pixel in debug mode...
Initializing gradle...
Resolving dependencies...
Running 'gradlew assembleDebug'...
Built build/app/outputs/apk/app-debug.apk (28.3MB).
Installing build/app/outputs/apk/app.apk...
I/FlutterActivityDelegate( 6423): onResume setting current activity to this
Syncing files to device Pixel...
🔥  To hot reload your app on the fly, press "r". To restart the app entirely, press "R".
An Observatory debugger and profiler on Pixel is available at: http://<IP_ADDRESS>:8104/
For a more detailed help message, press "h". To quit, press "q".
D/skia    ( 6423): OpList failed to instantiate.
I/chatty  ( 6423): uid=10142(io.flutter.examples.gallery) gpu_thread identical 85 lines
D/skia    ( 6423): OpList failed to instantiate.
D/skia    ( 6423): OpList failed to instantiate.
I/chatty  ( 6423): uid=10142(io.flutter.examples.gallery) gpu_thread identical 2 lines
D/skia    ( 6423): OpList failed to instantiate.
D/skia    ( 6423): OpList failed to instantiate.
D/skia    ( 6423): OpList failed to instantiate.
D/skia    ( 6423): OpList failed to instantiate.
Flutter Doctor
$ flutter doctor
[✓] Flutter (on Linux, locale en_US.UTF-8, channel master)
• Flutter at /usr/local/google/home/amirha/git/flutter
• Framework revision efe2892081 (4 minutes ago), 2017-11-14 10:53:39 -0800
• Engine revision 242ce44af5
• Tools Dart version 1.25.0-dev.11.0
[✓] Android toolchain - develop for Android devices (Android SDK 26.0.2)
• Android SDK at /usr/local/google/home/amirha/Android/Sdk
• Platform android-26, build-tools 26.0.2
• Java binary at: /usr/local/google/home/amirha/progs/android-studio/jre/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)
[✓] Android Studio (version 2.3)
• Android Studio at /opt/android-studio-with-blaze-2.3
• Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)
[✓] Android Studio (version 2.3)
• Android Studio at /usr/local/google/home/amirha/progs/android-studio
• Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)
[✓] IntelliJ IDEA Community Edition (version 2017.2)
• Flutter plugin version 18.0
• Dart plugin version 172.4155.35
[✓] Connected devices
• Pixel • FA6890301419 • android-arm • Android 8.1.0 (API 27)

@chinmaygarde

This was introduced in https://github.com/flutter/engine/commit/0a7155d4e1e254c2642d2c273cc1f484be3845b9
Stopwatch::Visualize() in flutter/flow/instrumentation.cc is unable to draw the graph path using the new surface/canvas configuration
@brianosman


ElasticSearch Indexing example: TypeError: init() missing 1 required positional argument: 'scheme'

Describe the bug
I am following the example in the documentation for elastic search step by step (on google colab): https://huggingface.co/docs/datasets/faiss_es#elasticsearch
from datasets import load_dataset
squad = load_dataset('crime_and_punish', split='train[:1000]')

When I run the line:
squad.add_elasticsearch_index("context", host="localhost", port="9200")
I get the error:
TypeError: __init__() missing 1 required positional argument: 'scheme'
Expected results
No error message
Actual results
TypeError                                 Traceback (most recent call last)

[<ipython-input-23-9205593edef3>](https://localhost:8080/#) in <module>()
      1 import elasticsearch
----> 2 squad.add_elasticsearch_index("text", host="localhost", port="9200")

6 frames

[/usr/local/lib/python3.7/dist-packages/elasticsearch/_sync/client/utils.py](https://localhost:8080/#) in host_mapping_to_node_config(host)
    209         options["path_prefix"] = options.pop("url_prefix")
    210
--> 211     return NodeConfig(**options)  # type: ignore
    212
    213

TypeError: __init__() missing 1 required positional argument: 'scheme'

Environment info

datasets version: 2.2.0
Platform: Linux, Google Colab
Python version: Google Colab (probably 3.7)
PyArrow version: ?

Hi, @MoritzLaurer, thanks for reporting.
Normally this is due to a mismatch between the versions of your Elasticsearch client and server:

your ES client is passing only keyword arguments to your ES server
whereas your ES server expects a positional argument called 'scheme'

In order to fix this, you should align the major versions of both Elasticsearch client and server.
You can have more info:

on this other issue page: https://github.com/huggingface/datasets/issues/3956#issuecomment-1072115173
Elasticsearch client docs: https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/overview.html#_compatibility

Feel free to re-open this issue if the problem persists.
Duplicate of:

#3956

Check elastic version

import elasticsearch
print(elasticsearch.__version__)

Ex: 7.9.1
2. Uninstall current elasticsearch package
pip uninstall elasticsearch
3. Install elasticsearch 7.9.1 package
pip install elasticsearch==7.9.1


[Feature Request]: Enable CDC configuration for cross language StorageWrite API usage

What would you like to happen?
As an Apache Beam Python SDK developer, when wanting to write to BigQuery using its CDC capabilities, I would like to be able to configure what is the primary key of the table data will be written to and include the information of the row mutation to each record that will be written into the table.
Issue Priority
Priority: 2 (default / most feature requests should be filed as P2)
Issue Components

[X] Component: Python SDK
[X] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[X] Component: IO connector
[ ] Component: Beam YAML
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Infrastructure
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

.take-issue


DelayProcedure which implements InputProcedure

Hi,
The scenario is this:

Tell the server to start converting a file (NetworkDataProcedure). The server responds with the estimated time for the conversion to complete
Wait for the conversion to complete (DelayProcedure)
Download the converted file (NetworkDownloadProcedure).

Is there a way to use DelayProcedure and inject the delay interval as an input instead of passing it on init?
Thanks!

Hi @golanb,
Well, this sounds like a scenario for a GroupProcedure. In pseudo code, you effectively want to do:

create a network request to perform the download
decode the response to extract the estimated time
inject the estimated time (with some tolerance?) into a DelayProcedure
inject the file destination into a NetworkDownloadProcedure
add the delay as a dependency of the download procedure.

All of this you can package up into a GroupProcedure subclass, so that you init (or inject) the URL, and output the downloaded file (or its location on disk).
Do you have a sample of the 1st network response?

But yeah, if DelayProcedure conformed to InputProcedure it would certainly make the scenario easier.

Hi @danthorpe ,
That's exactly what I was trying to do. The only limitation is that I cannot inject the estimated time value from the first network procedure into the delay procedure because delay procedure does not conform to InputProcedure. Here is some sample code to illustrate the problem:
`class DownloadConvertedFileProcedure: GroupProcedure {
init(fileId: String) {
    let conversionStartProcedure = ConversionStartProcedure(fileId)
    let conversionWaitProcedure = DelayProcedure()
    let downloadFileProcedure = DownloadFileProcedure(fileId)

    // The next line is what I wish I could do with a DelayProcedure
    conversionWaitProcedure.injectResult(from: conversionStartProcedure) { status in
        return status.estimatedTime
    }

    downloadFileProcedure.addDependency(conversionWaitProcedure)

    let operations = [
        conversionStartProcedure,
        conversionWaitProcedure,
        downloadFileProcedure
    ]
    super.init(operations: operations)
}

}`

@golanb hey, #891 is a PR which adds support to DelayProcedure - you could checkout your project against it. You could then do this:
// The next line is now possible
conversionWaitProcedure.injectDelay(from: conversionStartProcedure) { $0.estimatedTime }

This will get merged into development branch this week - and will be released either in 5.0.0 final build, or 5.1.x.

Super! Thanks!


Added KMP example

I added a KMP example with Android, iOS, Desktop and Web (using Kobweb).

@bitspittle Or if you find a place, you can just link it to this repo. Then I can keep it updated and expand it myself.
https://github.com/charlee-dev/SAMPLE-KMP_SharedUI

Hey Adrian! I replied in the Discord but I'll add a note here as well for completion.
First of all, if you spent any time on this PR at all, please accept my apologies. I was originally thinking you were going to add some sort of Kobweb example to your own and were asking me if I wanted to link to it.
When I originally started Kobweb, I did intend for this to become a growing collection of examples (like I do in Kotter: https://github.com/varabyte/kotter/tree/main/examples).
However, I found over time with Kobweb that it was a different beast and maintaining multiple examples was a PITA. More and more, I moved examples over into the kobweb-templates directory instead, which feels like a better home for them.
However, I always wanted to keep around one project (helloworld) because I used it to quickly experiment / test APIs with (since it uses a Gradle Composite build setup, which means if I run kobweb run inside of it, it automatically finds and builds all dependencies as necessary -- very convenient for any Kobweb dev!)
I kind of forgot about this, but after your PR, I realized that I should be more explicit with what I'm doing. So if you check the latest branch (0.13.5 at the time of writing this response), you'll see I killed the "examples" directory and created a "playground" directory instead, where I moved the old "examples/helloworld" project into it.
Hope this is more information than you cared to know :D However, I will open a bug that at some point there should be a KMP demo project which has at least Android and Kobweb running side by side.


Strictly check for HTTP code 200.

In many cases, we really should only proceed if we get http code 200.
This changes several of the checks to only accept 200. The only exception is in pam_oslogin_login.cc, which cares specifically about server failures.

Thanks! Can you add a short comment to each of the non-200 error code lines?

Thanks for the comments! PTAL

Thanks for making the changes! LGTM


Recommend running rustfmt last

As rustfmt checks fail, they might hide errors of more importance.
Running it last makes sure that the serious bugs have been found and is less frustrating.

Sounds reasonable, thank you!


deserialize is failing in Distributed task due to null value in variableGroupProjectReferences

Deserialize is failing in Distributed Task due to null value in variableGroupProjectReferences
Error Message:

    pub provider_data: Option<VariableGroupProviderData>,
    #[doc = "Gets or sets type of the variable group."]
    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
    pub type_: Option<String>,
    #[doc = "all project references where the variable group is shared with other projects."]
    #[serde(
        rename = "variableGroupProjectReferences",
        default,
        skip_serializing_if = "Vec::is_empty"

Initially I thought I might be able to fix this via autorust config, which allows you to force specific fields to be optional (wrapped in Option):
optional = [
    [
        "../../vsts-rest-api-specs.patched/specification/distributedTask/7.1/taskAgent.json",
        "VariableGroup",
        "variableGroupProjectReferences",
    ],
    [
        "../../vsts-rest-api-specs.patched/specification/distributedTask/7.1/taskAgent.json",
        "VariableGroupParameters",
        "variableGroupProjectReferences",
    ],
]

However, it turns out that Vec is treated specially (it currently is never wrapped in Option).  I tried fixing this up, but started to break other things.
In the end I have fixed by implementing a custom deserializer for Vecs that maps null to the default value (empty vector), and use this for all Vec deserialization.

Fixed with a custom deserializer


Should it work with current sidekiq?

Reaching way back here, but back in #66 (almost 10 years ago!) some discussion was happening about how to get fakeredis to work with sidekiq, but I haven't had any luck.  It might be related to redis changes moreso than sidekiq, but I'll lay out what I have tried...
Just setting the driver as stated like redis_details.merge!(:driver => Redis::Connection::Memory) if defined?(Redis::Connection::Memory) doesn't work as sidekiq's adapter is expecting a symbol:
Minitest::UnexpectedError: NoMethodError: undefined method `to_sym' for Redis::Connection::Memory:Class

        opts[:driver] = opts[:driver].to_sym
                                     ^^^^^^^
Did you mean?  to_s
    sidekiq (7.1.0) lib/sidekiq/redis_client_adapter.rb:79:in `client_opts'

Ok,  so I attempt to register the driver myself:
  RedisClient.register_driver :memory do
    Redis::Connection::Memory
  end

  redis_details.merge!(:driver => :memory) if defined?(Redis::Connection::Memory)

But the redis-client can't initialize the Memory object because the arguments don't line up:
Minitest::UnexpectedError: ArgumentError: wrong number of arguments (given 2, expected 0..1)
    fakeredis (0.9.2) lib/redis/connection/memory.rb:57:in `initialize'
    redis-client (0.14.1) lib/redis_client.rb:671:in `new'

Is there some other way to make this happen, or is the Memory driver no longer compatible?

@maurercw Unfortunately, fakeredis isn't compatible with redis-client and Sidekiq 7 depends on redis-client.
There are more details about redis-client/sidekiq at https://github.com/sds/mock_redis/issues/253 (the issue with fakeredis is exactly the same)

FWIW, depending on what you need in the test env for sidekiq, you can enable inline mode
require 'sidekiq/testing'
Sidekiq::Testing.inline!


More nnet1 component

Can I just import the original nnet1 components, conv, maxpool, etc, to the eesen src/nnet code? Do they still fit into the framework?

Yes, other Kaldi nnet1 components fit into the framework.


Work with application default credentials

TL;DR
Not sure if it is already possible or not.  But I'd like to use this to work with pushing to an artifact registry private npm repo usiing the credential help approach.
Detailed design
After successfully authentication to Google Cloud I try to use the credential helper approach to be able to connect to an artifact registry private npm repo using the credential helper (https://cloud.google.com/artifact-registry/docs/nodejs/authentication#auth-helper) via the command `npx google-artifactregistry-auth` which should be able to work with application default credentials but it fails with the error:

npx: installed 47 in 3.842s
Retrieving application default credentials...
Retrieving credentials from gcloud...
Error: Fail to get credentials. Please run:
`gcloud auth application-default login`, `gcloud auth login`, or
`export GOOGLE_APPLICATION_CREDENTIALS=<path/to/service/account/key>`
    at Object.getCreds (/home/runner/.npm/_npx/1612/lib/node_modules/google-artifactregistry-auth/src/auth.js:40:9)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

Is it possible to do this if I also set GOOGLE_APPLICATION_CREDENTIALS to some path?  Perhaps the credentials_file_path output of auth?

### Additional information

_No response_

I did try setting GOOGLE_APPLICATION_CREDENTIALS to the credentials_file_path output of the auth step, in the step where I run npx google-artifactregistry-auth and it still fails with the same error above so it looks like currently this does not work

Hi @ggprod
Thank you for opening an issue. The auth action does set Application Default Credentials. GOOGLE_APPLICATION_CREDENTIALS is already set too. It would be helpful if you could share a complete Action YAML and debug logs.

and here is the logs:
2022-02-01T18:47:23.4754497Z Waiting for a runner to pick up this job...
2022-02-01T18:47:24.0906593Z Job is waiting for a hosted runner to come online.
2022-02-01T18:47:28.5339513Z Job is about to start running on the hosted runner: GitHub Actions 3 (hosted)
2022-02-01T18:47:32.8303546Z Current runner version: '2.287.1'
2022-02-01T18:47:32.8329917Z ##[group]Operating System
2022-02-01T18:47:32.8330515Z Ubuntu
2022-02-01T18:47:32.8330749Z 20.04.3
2022-02-01T18:47:32.8331023Z LTS
2022-02-01T18:47:32.8331268Z ##[endgroup]
2022-02-01T18:47:32.8331632Z ##[group]Virtual Environment
2022-02-01T18:47:32.8332008Z Environment: ubuntu-20.04
2022-02-01T18:47:32.8332291Z Version: 20220123.1
2022-02-01T18:47:32.8332804Z Included Software: https://github.com/actions/virtual-environments/blob/ubuntu20/20220123.1/images/linux/Ubuntu2004-Readme.md
2022-02-01T18:47:32.8333424Z Image Release: https://github.com/actions/virtual-environments/releases/tag/ubuntu20%2F20220123.1
2022-02-01T18:47:32.8333906Z ##[endgroup]
2022-02-01T18:47:32.8334223Z ##[group]Virtual Environment Provisioner
2022-02-01T18:47:32.8334585Z <IP_ADDRESS>-main-20220120-1
2022-02-01T18:47:32.8334889Z ##[endgroup]
2022-02-01T18:47:32.8335480Z ##[group]GITHUB_TOKEN Permissions
2022-02-01T18:47:32.8336067Z Contents: read
2022-02-01T18:47:32.8336504Z Metadata: read
2022-02-01T18:47:32.8336828Z ##[endgroup]
2022-02-01T18:47:32.8340476Z Secret source: Actions
2022-02-01T18:47:32.8341362Z Prepare workflow directory
2022-02-01T18:47:32.9362423Z Prepare all required actions
2022-02-01T18:47:32.9547472Z Getting action download info
2022-02-01T18:47:33.2161210Z Download action repository 'actions/checkout@v2' (SHA:ec3a7ce113134d7a93b817d10a8272cb61118579)
2022-02-01T18:47:33.8919901Z Download action repository<EMAIL_ADDRESS>(SHA:f3c3e206c94d56ae17c8fa97b102276d24dc2108)
2022-02-01T18:47:34.4099434Z Download action repository 'actions/setup-node@v2' (SHA:1f8c6b94b26d0feae1e387ca63ccbdc44d27b561)
2022-02-01T18:47:34.9926037Z Download action repository 'actions/cache@v2' (SHA:937d24475381cd9c75ae6db12cb4e79714b926ed)
2022-02-01T18:47:35.7688908Z ##[group]Run actions/checkout@v2
2022-02-01T18:47:35.7689190Z with:
2022-02-01T18:47:35.7689401Z   repository: tealbook/tealbook
2022-02-01T18:47:35.7689891Z   token: ***
2022-02-01T18:47:35.7690079Z   ssh-strict: true
2022-02-01T18:47:35.7690314Z   persist-credentials: true
2022-02-01T18:47:35.7690534Z   clean: true
2022-02-01T18:47:35.7690715Z   fetch-depth: 1
2022-02-01T18:47:35.7690907Z   lfs: false
2022-02-01T18:47:35.7691117Z   submodules: false
2022-02-01T18:47:35.7691307Z env:
2022-02-01T18:47:35.7691478Z   CI: true
2022-02-01T18:47:35.7691725Z ##[endgroup]
2022-02-01T18:47:36.0429940Z Syncing repository: tealbook/tealbook
2022-02-01T18:47:36.0431641Z ##[group]Getting Git version info
2022-02-01T18:47:36.0432175Z Working directory is '/home/runner/work/tealbook/tealbook'
2022-02-01T18:47:36.0432651Z [command]/usr/bin/git version
2022-02-01T18:47:36.0553849Z git version 2.34.1
2022-02-01T18:47:36.0555029Z ##[endgroup]
2022-02-01T18:47:36.0555476Z Deleting the contents of '/home/runner/work/tealbook/tealbook'
2022-02-01T18:47:36.0556873Z ##[group]Initializing the repository
2022-02-01T18:47:36.0559274Z [command]/usr/bin/git init /home/runner/work/tealbook/tealbook
2022-02-01T18:47:36.0641311Z hint: Using 'master' as the name for the initial branch. This default branch name
2022-02-01T18:47:36.0641885Z hint: is subject to change. To configure the initial branch name to use in all
2022-02-01T18:47:36.0642338Z hint: of your new repositories, which will suppress this warning, call:
2022-02-01T18:47:36.0642708Z hint:
2022-02-01T18:47:36.0643085Z hint: 	git config --global init.defaultBranch <name>
2022-02-01T18:47:36.0643382Z hint:
2022-02-01T18:47:36.0643824Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
2022-02-01T18:47:36.0644348Z hint: 'development'.  You can look around, make experimental
2022-02-01T18:47:38.8655219Z changes and commit them, and you can discard any commits you make in this
2022-02-01T18:47:38.8655956Z state without impacting any branches by switching back to a branch.
2022-02-01T18:47:38.8657145Z
2022-02-01T18:47:38.8657484Z If you want to create a new branch to retain commits you create, you may
2022-02-01T18:47:38.8658264Z do so (now or later) by using -c with the switch command. Example:
2022-02-01T18:47:38.8706381Z
2022-02-01T18:47:38.8706783Z   git switch -c <new-branch-name>
2022-02-01T18:47:38.8707017Z
2022-02-01T18:47:38.8707236Z Or undo this operation with:
2022-02-01T18:47:38.8707444Z
2022-02-01T18:47:38.8707524Z   git switch -
2022-02-01T18:47:38.8707704Z
2022-02-01T18:47:38.8707941Z Turn off this advice by setting config variable advice.detachedHead to false
2022-02-01T18:47:38.8708499Z
2022-02-01T18:47:38.8708778Z HEAD is now at 64e1020 Merge 39b1b763b5d708163d4f6bcedeca44c59e9f6361 into 0b3976155965c8a8d5f119f3c0bd738abfa07097
2022-02-01T18:47:38.8709896Z ##[endgroup]
2022-02-01T18:47:38.8724935Z [command]/usr/bin/git log -1 --format='%H'
2022-02-01T18:47:38.8753606Z '64e1020e255add763d085fe044381134c0f26ee8'
2022-02-01T18:47:38.8963938Z ##[group]Run<EMAIL_ADDRESS>2022-02-01T18:47:38.8964181Z with:
2022-02-01T18:47:38.8964380Z   token_format: access_token
2022-02-01T18:47:38.8964756Z   workload_identity_provider: projects/757929719377/locations/global/workloadIdentityPools/github-wif-pool/providers/github-wif-provider
2022-02-01T18:47:38.8965206Z   service_account<EMAIL_ADDRESS>2022-02-01T18:47:38.8965515Z   create_credentials_file: true
2022-02-01T18:47:38.8965740Z   activate_credentials_file: true
2022-02-01T18:47:38.8965966Z   access_token_lifetime: 3600s
2022-02-01T18:47:38.8966267Z   access_token_scopes: https://www.googleapis.com/auth/cloud-platform
2022-02-01T18:47:38.8966570Z   id_token_include_email: false
2022-02-01T18:47:38.8966761Z env:
2022-02-01T18:47:38.8966915Z   CI: true
2022-02-01T18:47:38.8967082Z ##[endgroup]
2022-02-01T18:47:38.9390131Z
2022-02-01T18:47:39.4725396Z
2022-02-01T18:47:39.4727718Z
2022-02-01T18:47:39.4819798Z ##[group]Run actions/setup-node@v2
2022-02-01T18:47:39.4820027Z with:
2022-02-01T18:47:39.4820229Z   node-version: 12.x
2022-02-01T18:47:39.4820449Z   always-auth: false
2022-02-01T18:47:39.4820667Z   check-latest: false
2022-02-01T18:47:39.4821182Z   token: ***
2022-02-01T18:47:39.4821372Z env:
2022-02-01T18:47:39.4821558Z   CI: true
2022-02-01T18:47:39.4821846Z   GOOGLE_APPLICATION_CREDENTIALS: /home/runner/work/_temp/2b6d6888bf436ed23ad9d5f3
2022-02-01T18:47:39.4822128Z ##[endgroup]
2022-02-01T18:47:39.6363472Z Found in cache @ /opt/hostedtoolcache/node/12.22.9/x64
2022-02-01T18:47:39.6499290Z ##[group]Run npx google-artifactregistry-auth --repo-config=auth-service/.npmrc --credential-config=auth-service/.npmrc
2022-02-01T18:47:39.6499939Z npx google-artifactregistry-auth --repo-config=auth-service/.npmrc --credential-config=auth-service/.npmrc
2022-02-01T18:47:39.6553918Z shell: /usr/bin/bash -e {0}
2022-02-01T18:47:39.6554147Z env:
2022-02-01T18:47:39.6554344Z   CI: true
2022-02-01T18:47:39.6554646Z   GOOGLE_APPLICATION_CREDENTIALS: /home/runner/work/_temp/2b6d6888bf436ed23ad9d5f3
2022-02-01T18:47:39.6554945Z ##[endgroup]
2022-02-01T18:47:44.2986206Z npx: installed 47 in 4.47s
2022-02-01T18:47:44.3775002Z Retrieving application default credentials...
2022-02-01T18:47:44.8059556Z Retrieving credentials from gcloud...
2022-02-01T18:47:45.5756228Z Error: Fail to get credentials. Please run:
2022-02-01T18:47:45.5764078Z `gcloud auth application-default login`, `gcloud auth login`, or
2022-02-01T18:47:45.5765099Z `export GOOGLE_APPLICATION_CREDENTIALS=<path/to/service/account/key>`
2022-02-01T18:47:45.5767915Z     at Object.getCreds (/home/runner/.npm/_npx/1616/lib/node_modules/google-artifactregistry-auth/src/auth.js:40:9)
2022-02-01T18:47:45.5768633Z     at processTicksAndRejections (internal/process/task_queues.js:97:5)
2022-02-01T18:47:45.6417739Z ##[error]Process completed with exit code 1.
2022-02-01T18:47:45.6506599Z Post job cleanup.
2022-02-01T18:47:45.7683930Z [command]/usr/bin/git version
2022-02-01T18:47:45.7732371Z git version 2.34.1
2022-02-01T18:47:45.7771747Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2022-02-01T18:47:45.7811027Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :
2022-02-01T18:47:45.8061961Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2022-02-01T18:47:45.8091839Z http.https://github.com/.extraheader
2022-02-01T18:47:45.8103043Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2022-02-01T18:47:45.8142400Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :
2022-02-01T18:47:45.8610495Z Cleaning up orphan processes

I did find a hacky workaround that seems to work... by adding in the following after the auth action but before calling npx google-artifactregistry-auth.. ideally this wouldn't be necessary though
       # Install gcloud, `setup-gcloud` automatically picks up authentication from `auth`.
      - name: 'Set up Cloud SDK'
        uses: 'google-github-actions/setup-gcloud@v0'

      # Now you can run gcloud commands authenticated as the impersonated service account.
      - id: 'gcloud'
        name: 'gcloud login'
        run: gcloud auth login --cred-file=${{ steps.auth.outputs.credentials_file_path }}

I updated the title to better reflect that this is an issue when trying to use the npm credential helper to read/publish npm packages to an artifact registry private npm repo

Can you try this? I haven't had a chance to build a reproduction case yet:
steps:
  - uses: 'actions/checkout@v2'

  - uses: 'google-github-actions/auth@v0'
    with:
      workload_identity_provider: 'projects/757929719377/locations/global/workloadIdentityPools/github-wif-pool/providers/github-wif-provider'
      service_account<EMAIL_ADDRESS>
  - uses: 'actions/setup-node@v2'
    with:
      node-version: '12.x'

  - name: NPM auth with Google cloud artifact registry
    run: npx google-artifactregistry-auth --repo-config=auth-service/.npmrc --credential-config=auth-service/.npmrc

Updated auth to pin to @v0 (0.3.1 is a bit old)
Removed auth generating an access token - you aren't using a token, so this is unnecessary
Removed create_credentials_file - this is the default behavior
Removed env declaration from npx step - this is exported by auth.

The auth action exports default credentials, so there should be no reason to install gcloud or set gcloud's credential file. If that doesn't working, I would suggest filing an issue against https://github.com/GoogleCloudPlatform/artifact-registry-npm-tools, since the auth action is correctly exporting all the ADC.

yes, you are correct, it looks like the problem was due to the older version (0.3.1) of the auth action.  When I changed to @v0 I could remove the extra gcloud auth login --cred-file and it worked correctly.  Thanks!


Can't use strokeWidth as a channel for links/arrows on a map

The finite state machine example shows the use of strokeWidth as a channel to vary widths. But getting this going on a map is proving tricky:
https://observablehq.com/@jimjamslam/vary-stroke-width-on-map
Without varying stroke widths I see the expected links. But once I add strokeWidth as a channel, the values appear to be interpreted literally, making them too large enough to overwhelm the plot. (I can see them vary if I manually scale the values with something like strokeWidth: d => d.count / 100.
I've tried adding a strokeWidth object with a range and type: "log", but that doesn't seem to get me the result I'm looking for, unfortunately!

The strokeWidth channel is not bound to a scale, so you can only it express it as literal values (currently). As you discerned, you’ll need to say something like strokeWidth: (d) => d.count / 100, replacing 100 with whatever value is appropriate to your data.
https://github.com/observablehq/plot/blob/41a63e372453d2f95e7a046839dfd245d21e7660/src/style.js#L144

Thanks v much for confirming!


Validating the function which deals with the BMC over IPMI

I have verified the primary side by checking the return value and updated the code.
I have resent the patch with the changes as suggested.

I have renamed all the files to reflect the testing of Firmware updates of BMC and PNOR images on the Open Power Hardware's.


[stable/heapster] bump heapster version

[stable/heapster] bump heapster version

Closing due to @timstoop's comment.

Honestly, there might be a good reason for that update that I just don't know about.


Refactor

Add platform classes
Use kebab-case for subcommands/args

An example of using this as a package is in https://github.com/infracost/compost-action/pull/7.

the help text descriptions are quite faint.

That seems to be an oclif thing. I haven't looked into customising the help yet, but it seems possible.

I'm not fully understanding the latest behavior appearing next to other behavior that update the comments. I get that it fetches the latest comment, does it work with target-type too?

latest works with target type. It either returns the latest comment on the PR or commit, depending on what target you specify.

Should we update https://github.com/infracost/actions to be kebab case?

Yeah, once we release this then I'll update the actions to be consistent.


Python: Minor changes to Record to support old test cases

This updates Record so that the old test cases are valid. Record now supports instantiation using positional data, named data, and optionally passing a struct type for both.
For ManifestFile and other classes, the schema is defaulted in the constructor.

Looks good, thanks @rdblue


Kinds as rdfs:subClassOf

Instances of kind_of_X are new entity types, so as well as being rdf:type kind_of_X they should also be rdfs:subClassOf X.
E.g. for an instance of kind_of_organization the triples should be:
ex:1 rdf:type hqdm:kind_of_organization.
ex:1 rdfs:subClassOf hqdm:organization.
ex:1 hqdm:data_EntityName "National Government". # optional entity name

The ClassServices.createKindOfX() methods should add the rdfs:subClassOf X predicate.
Also, any entity that is a member_of_kind of, for example, ex:1 above, should also be rdf:type ex:1†
E.g.:
ex:2 hqdm:member_of_kind ex:1.
ex:2 rdf:type ex:1.

This allows standard RDFS entailments to infer that:

ex:1 is an rdfs:class
ex:1 is of type hqdm:kind_of_organization and all its supertypes.
ex:2 is of type organization and all of its supertypes.
When read from a triple store by MagmaCore, ex:2 will implement the Organization interface and all of its super interfaces so instanceof Organization will be true and it can be cast to that type rather than simply being a Thing.

† I'm not sure how we enforce this, so some additional changes might need to be included to enforce this constraint, if it is even possible to do that.

Sorry it as taken me a while to take a look at this.  I agree that this is something we should be looking to address / accommodate.  When Magma Core was originally created we took the decision to minimise reliance on external specifications to interpret/enforce the book from which we implemented the library.  We tried to rely only on Developing High Quality Data Models by Matthew West, as documented except where there were errors, and implementing code that we had control over to assert what was documented.  However, we did use RDF as we needed a database to store the records. One of the wrinkles that we introduced was using rdf:type.  While this looks as if it is only part of the base RDF concept it is formally part of the RDF Schema (as linked).  This was a compromise that gave the benefit of asserting a type-instance relation (types and their instances sound trivial, but turn out to be less-so).  So, some questions for discussion:

Are we happy relying on RDFS more?

By using more of RDFS we open up the risk of RDF Semantics being adopted.  This can introduce constraints that are not in accord with HQDM and ambiguity in interpretation (see the Elephant example in the RDF Primer.  We already have this problem but will it cause additional issues?

Another aspect of using the predicate rdfs:subClassOf is that it is also equivalent, in the way that Magma Core is implemented, to the EXPRESS "SUBTYPE OF" keyword (see it's use for the Entity Type organization.  This is similar to the RDF version of HQDM you submitted to hqdmTop RDF.  Is there a useful way to introduce these rdfs:subClassOf statements into MagmaCore all the way up to Thing?

I suggest that we discuss these.  The changes you proposed look sound to me other than this.


Add runner for function/tool messages

This is an alternate version of AIChain from #10 that supports using functions directly (not through tool_calls) and is a little more flexible. I imagine we will add more functions like the extract function on top of runners to expose more specific interfaces without having to continually rewrite the core runner code.
Let me know what you think, @transitive-bullshit

We ended up going with createAIRunner instead of createAIChain.

🙏🏻🚀


GUI for editing, running, debugging, etc

A simple png reader can show running status. But, need more elegant GUI to edit STL and builtin function files, show current transition state, etc.

2017 Q3 key results are tracked by

(OKR 2017 Q3) Design doc for GUI options
(OKR 2017 Q3) Design the protocol between GUI and test_driver


VideoDubber: The fairseq code for task and model architecture is not present in the folder and the folder seems to be empty.

In the VideoDubber project the fairseq folder seems to be empty. The code for the translation_speech_length task and the transformer_speech_length model architecture is not present in the folder. Is there any way to access these code files?

Hi, sorry for missing these files. Now you can find related files in fairseq folder. (Following https://github.com/microsoft/NeuralSpeech/blob/master/VideoDubber/fairseq/models/transformer_speech_length.py)


custom SLS apks for custom GNU-fm server

I am running SLS v1.5.1 on Android 6.0.1/OxygenOS 3.2.7 on a OnePlus 3. When I try to add my Gnu FM credentials to SLS, the apps gets stuck at the "Authenticating" stage. Packet capture from server shows that no attempt is made by SLS to connect to it. For reference, server IP is <IP_ADDRESS> on local network, phone is <IP_ADDRESS>, and they are of course on the same network. HTTP access log is also blank on server. Other apps on the device (like Chrome) have no problems connecting to the server IP.
I'm not sure if this is relevant, but no music apps are seemingly picked up by SLS. Tried foobar2000, the built-in player and n7player. No luck on any of them. I've tried reinstalling SLS several times to no avail.

https://github.com/tgwizard/sls/blob/master/app/src/main/java/com/adam/aslfms/service/NetApp.java

Test these  urns directly.
0x03, "Gnu-fm server", "<IP_ADDRESS>/?hs=true", "custom",
"<IP_ADDRESS>", "<IP_ADDRESS>/user/%1", "<IP_ADDRESS>/2.0/");

It could also be the fact that it's trying to use ssl.

https://github.com/tgwizard/sls/blob/master/app/src/main/java/com/adam/aslfms/service/Handshaker.java#L357-L388

Interesting. I never got to try directly setting the URL's in source, but I did run a test against an HTTPS URL just now and it was immediately picked up by Wireshark. If I put in an HTTP URL, it does not show up at all. It fails (according to Wireshark) with an unknown certificate error, though I'll see if I can install a self-signed certificate onto my device and server and see if that allows authentication to pass. Seems to me like SLS forcing SSL is what could be the core problem here. I'll double-check.

I've tried both installing a certificate on my device and cloning the repository and running it with Android Studio but I just cannot get it to work. The certificate is not recognized by any installed apps, Android Studio does not recognize the repository as a project and Gradle fails to run. I'm probably doing something wrong here, but it could take me hours just to set up a development environment for this and I unfortunately don't have time to do all that just to confirm whether there is an error in SSL or not.
I'd guess it's most likely due to the app forcing SSL; if you could have it distinguish between http:// and https:// URLs then I'd guess that'd fix the problem. Unfortunately, I cannot verify this myself. I'd love to test it on my device, but it looks like I'll need an APK to do that. :-(

I'll rewrite some code for you. You can also check out Let's Encrypt for apache. I can't get GNUFM server working myself. I'm interested in how you did that.

CA-signed certificates only really work for domain names, and I'm just setting this up locally on an IP address with no associated domain, so getting SSL to work properly is difficult.
It's also worth noting that my GNU.FM isn't technically a GNU.FM server. It's a PHP solution I wrote myself that implements the audioscrobbling protocol and stores scrobbles locally in a database. It allows me to nicely chart my listening statistics without having to hand over my listening data to third parties. I can also do interesting queries against my database to show statistics that last.fm and libre.fm can't produce, such as hourly listening trends, etc. It accepts the same input format as GNU.FM, so it should work with SLS. (It works with other scrobblers)
Also thank you for looking into this. When you get them done, I'll test out the changes and see if they work for me.

@bilde2910 Do you need a fully custom url
    CUSTOM(             0x03, "Gnu-fm server", "[[GNUKEBOX_URL]]", "custom",             "[[NIXTAPE_URL]]", "[[NIXTAPE_URL]]/user/%1", "[[NIXTAPE_URL]]");
OR
you can add the folder /2.0/
and
/?hs=true
    CUSTOM(             0x03, "Gnu-fm server", "[[GNUKEBOX_URL]]/?hs=true", "custom",             "[[NIXTAPE_URL]]", "[[NIXTAPE_URL]]/user/%1", "[[NIXTAPE_URL]]/2.0/");

Also what version of GNU FM are you trying to use?
2.0 or the older method?

It doesn't matter what URL I use, since I have access to the server anyway and can create directory structures/edit the scripts as needed. I think it might be best to keep it as-is, though, for compatibility and consistency reasons. (Changing it would cause problems for everybody who uses SLS for GNU.FM servers right now.)
My API implements the old protocol (1.2 IIRC) but I can easily implement 2.0 if need be. I'll probably have to do that anyway at some point, so don't worry about that. I'm not entirely sure what the real GNU.FM uses, though. Just do whatever is easiest for you, or whatever works with the official GNU.FM. The main problem that I'm finding is the forced HTTPS, preventing any requests to the server from coming through. Once that part is sorted, I'm sure I can work around whatever protocol is in place so that it works with SLS.

app-debug.zip
This one should give you API 2.0

app-debug.zip
This one should give you API 1.2

I won't commit those changes to the official build now, but I might eventually.

I would need a "developer button" to change the the custom scrobbler to GNU.fm to API 1.2
It's just not sensible at the moment. Users have a hard enough time understanding Android's new power saving options.

I could make the change official though if you use 2.0
technically both changes could be made but that would increase the code size for 4 files.

The only reason that the nixtape url's are still inside the code is because version of android with GingerBread and lower do not have the correct cipher suite for Cloudflare (Libre.fm) server where as Last.fm accepts everything.
If you migrate your code to 2.0 I can maybe add the 2.0 http handshake to the official build.

Thank you for the APKs. The 1.2 API APK works wonderfully. I'll give 2.0 a shot and see if I can get a proper implementation of it. There's no real reason to stay on 1.2 anyway, because GNU FM seems to use the 2.0 API. There's no reason to keep it there if I'm the only person in the universe who uses SLS with 1.2 on a custom server. I'll get back to you once I've tested the 2.0 implementation.

I developed a working 2.0 implementation. I can get the 1.2 APK to work perfectly fine, but 2.0 refuses to connect. It only wants to connect over HTTPS, not standard HTTP. In effect, that's the same issue as the published version of the app. Wireshark log is attached. Server IP is .248, device IP is .247. I attempted HTTP first, then HTTPS, then HTTP again. Only the HTTPS connection attempt went through.

Sorry about that, I'll go over the code again.

No worries! I managed to finally set up an external server after a lot of hassle, with SSL, and that definitely works with SLS. So the only thing I really see is distinguishing between http:// and https://. Last.fm etc. don't have the SSL problem, but for the average Joe running a GNU FM server, I'd imagine it's a bit more work to set up SSL properly.
SSL solves every issue I've detailed in this thread, so adding support for HTTP is really the only thing I can see at the moment. :) I can see if I can create a PR for that if you'd like.

@bilde2910 I am currently working on listenbrainz.org compatibility. I will get back on this project shortly.
It's seems like it would be easier to setup a listenbrainz.org server as it can be setup via Docker.
I'll get back to this soon.
This will give 3 official scrobbling address and 2 custom server options in Simple Last.fm Scrobbler.

I will add the http:// vs https:// support in the README.md


Extend README with introduction to workspaces

Summary
This PR adds an introduction to workspaces into the README.  It is needed because there was not really such a thing there before.  This was noted in https://github.com/kcp-dev/kcp/pull/1584#discussion_r926798368 .
Related issue(s)
none

/lgtm
/approve


build(dev-dependency): update webpack build notifier

Resolves #125

Coverage remained the same at 99.567% when pulling 096c047121b0752b1016e2aaef94ef66bac79308 on update-webpack-build-notifier into 86c9765bbac45054f274bdddf2a5fa533185296c on master.


Blue/Purple Dots in the image

I'm using the DFM 37UX226-ML camera. For image capturing, I used "IC Capture 2.5" in Windows and "tcam-capture" in Ubuntu 18.04, but images are so noisy, and there are some dots in the image. What causes this noise and how we can solve it?

Hello
First of all, reduce gain. Gain amplifies hotpixels.
Do you see them in Windows and Linux?
Stefan

I set the gain to zero and also exposure to 24000-66000. It works well in full resolution 15fps, but I have dots in dark areas when the fps is 30 and also when the exposure is auto.
How can I fix this issue?

Hello
You mean, you have the dots only at 30 fps, not at 15? I must admit, that is new to me. However, I think, that is an issue of hot pixels on the sensor. We do not have a hot pixel fix for Linux, as we have it in Windows.
You may need to save the hot pixel coordinates in a list and interpolate them by using the neighbors.
I must admit, I am somewhat puzzled.

Hey
Using the T-cam Capture in Ubuntu, I set the format in rggb16 and everything is fine. But there are two points:
1- I can't set this format in my code:
pipeline = Gst.parse_launch("tcambin name=bin"
" ! video/x-raw,format=BGRx,width=4000,height=3000,framerate=15/1"
" ! tee name=t"
" ! queue"
" ! videoconvert"
" ! ximagesink"
" t."
" ! queue"
" ! videoconvert"
" ! avimux"
" ! filesink name=fsink")
When I change the format, I get error.

I need 30fps capturing at 4000x3000 and 15fps is low for me and causes motion blurry. So any idea to get images in 30fps and full resolution without hot pixels (those dots)?

Unfortunately, I can not test that on my own, because I am in home office without that camera model.
But motion blur is created by exposure times. There should be a property "Exposure max", which allows to limit the maximum used exposure time. If you lower that property value, the the motion blur will be much less, regardless, which frame rate is set.
However, the rolling shutter effect will stay.
Next Monday I will be back in the office and can check the x226 camera model in Linux. You may trigger me on Monday!
Stefan

I'm using auto exposure, here is my config for exposure:
camera.set_tcam_property("Exposure Auto", True)
camera.set_tcam_property("Exposure Auto Upper Limit Auto", True)
Thanks a lot for your support.

Hello
I can see something similar extremely short, if i use a 16 bit video format and have a fast change from bright to dark light. But then these dots are away.
Can you try to show all camera properties? Maybe with tcam-capture screenshots? This will be helpful.
Stefan

Hello
Today I tried to reproduce the issue, but had no success. The dots are missing on my camera
In Windows I use RGB64 with 20 fps.
In Linux I use rggb with 15 fps.  So far, that is, as you write.
30 fps are available only, if I use an 8 bit pixel format. I did so on my Linux computer. I was not able to see the dots
The line
camera.set_tcam_property("Exposure Auto Upper Limit Auto", True)
Allows exposure times up to 1/15 second, if you set this to true. Therefore, set it to False and and set the property "Exposure Auto Upper Limit" to e.g. 200000. Then you should have less motion blurr.

@TIS-Stefan  tnx for your help.
I attached some screenshots from my configuration in windows. You can see the fps and also dots.

Hello
We would like to get the camera, because it shows the issue nicely.
Please contact your camera dealer for sending the camera in.
Stefan

Thank you so much, Stefan. So this is a hardware issue?

Hello
We think so, because we have no cameras in our lab, that show the same issue. Yours seems to be a nice specimen for checking, what is going on.
Stefan


2.3.0 Release notes

Signed-off-by: Suraj Singh<EMAIL_ADDRESS>Description
This changes adds the release notes for 2.3.0 release.
Post merge to 2.3, I plan to backport to main and 2.x branch
Issues Resolved
https://github.com/opensearch-project/job-scheduler/issues/226
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Can I get some reviews on this PR ?

There is no backport_main label, will raise PR manually for backport to main.

Waiting for one more review on this PR (merge requirement).


&caption causes "ran into an effor while running this command"

Command that caused the error
&caption
Image that caused the error
https://tenor.com/view/opossum-cute-roomba-eat-eating-out-gif-16016450
Steps to reproduce

Go to channel with esmBot in it
Type "&caption (text goes here)
Witness the error

Self-hosted instance?
No
Error file
errorpossumgif.txt
Additional context
No response

Seems that one of the image processing servers went down for some reason. Managed to restart it, it should be good to go now.

Spoke too soon, the server is down again. This is quite confusing.

I'm getting this issue too. Any idea when it will be fixed?

The server in question has been replaced. Should be fine now.


OMERO Downloads: add text and links

Adds text and links to OMERO Clients section of Downloads

https://snoopycrimecop.github.io/www.openmicroscopy.org/products/omero/downloads/ updated


DataHub Catalog Release 1.44 notes

Added Release notes for DataHub Catalog Release 1.44
Also please merge with this pull request: https://github.com/mendix/docs/pull/3610

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


Fix typo: tarminal -> terminal

Types of changes
What kind of change does this PR introduce? (check at least one)

[ ] Breaking change
[ ] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactoring
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[x] Other... Please describe: Just fixing typo in the page

Description
On creating, the modal dialog below is displayed.
Isn't the word tarminal a typo of terminal ?

Issue Number: N/A

@siketyan
Thanks!


Update issue status in README.

Two old issues (Array conformance to Differentiable, Dataset bug) have been resolved.
One remaining issue (joint parameter/gradient update) will be fixed soon.

Finishing fixing 09 and will update the README with the new notebooks/modules in a couple of hours.

Fixed by this commit


Don't allow user to delete last project

Create generic Informational Modal

change confirmation modal to a be more generic to pass in the buttons
create new informational modal to use the confirmation modal and only pass in one button ok

use the new modal to tell the user they can't delete the last project. They have to create another blank project in order to delete the active project (last one).
https://www.figma.com/file/51JJzKlDh2O1nhZNuwzm3v/Playground-Hi-Fi’s-(Internal)?node-id=8%3A47531

completed


Separating GKE Standard and Autopilot Modules

This Pull request contains changes for separating GKE autopilot and Standard Modules.
I have commented out changes in the autopilot module, so it becomes easy to find what blocks I have removed before merging.

@ludoo @juliocc  I am facing a lot of error because of the naming convention of the module. There are a lot of reference for gke-cluster and since I have divided them to gke-autopilot-cluster and gke-standard-cluster, few of the checks are not passing ?
Please advice

@ludoo @juliocc I am facing a lot of error because of the naming convention of the module. There are a lot of reference for gke-cluster and since I have divided them to gke-autopilot-cluster and gke-standard-cluster, few of the checks are not passing ? Please advice

Hey @avinashkumar1289, it's not a naming convention issue. You actually removing a module that is a dependency elsewhere in the repo. The tests are failing because they depend on that module. This is exactly what should happen.
The PR should update those other parts of the codebase and ensure all the references to the existing module are updated and work as expected. The failing tests should actually help you figure out what is broken by the changes you're introducing.
If you want we can show you how to go about fixing some of those failures.

@ludoo Thanks .Pushed the changes !!

It's good to go for me, let's wait this morning so Julio can also give it a look, then you should be able to merge (do you see the green "Squash and merge" button?)

@ludoo Thanks !! Yes lets wait for @juliocc to confirm !!
Yes I see the "Squash and Merge" option under "Merge Pull request".

Hi, What is the reason why var.monitoring_config was removed from the autopilot version? Is it not supported in GKE?

Thanks, makes sense. Are all the components enabled, like SYSTEM_COMPONENTS, APISERVER, CONTROLLER_MANAGER, and SCHEDULER?

These are the details: https://cloud.google.com/kubernetes-engine/docs/resources/autopilot-standard-feature-comparison#:~:text=Logging and monitoring

Thanks for the link! The new modules are very clean and a good improvement.
Note that deleting the old module instead of deprecating it forces users to
upgrade to either autopilot or standard when they upgrade the cloud
foundation fabric version.
On Tue, 23 May 2023, 5:03 pm Julio Castillo, @.***>
wrote:

These are the details:
https://cloud.google.com/kubernetes-engine/docs/resources/autopilot-standard-feature-comparison#:~:text=Logging and monitoring
—
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/1330#issuecomment-1558859448,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFBBWAETIBXNE5XVWANPMLXHR4PPANCNFSM6AAAAAAXA7FZOM
.
You are receiving this because you were mentioned.Message ID:
@.***
com>

I am having trouble getting the gke autopilot cluster into BALANCED mode.
Although the provider says BALANCED is the default. The console is reporting something else.

Autoscaling profile | Optimize utilization

  cluster_autoscaling {

    autoscaling_profile = "BALANCED"
    dynamic "auto_provisioning_defaults" {
      for_each = var.service_account != null ? [""] : []
      content {
        service_account = var.service_account
      }
    }
  }

I tried adding     autoscaling_profile = "BALANCED" in modules/gke-cluster-autopilot/main.tf
But it didn't change the infrastructure.
I am not sure if this is user error, an issue with the google beta provider version "4.60" or the way it is called.

@intotecho I can confirm your findings. As far as I can tell, there are two bugs lurking here:

Providing autoscaling_profile in google_container_cluster does not change anything. As this is not editable on the cluster, it should destroy cluster and create new one. Nothing happens, because there is DiffSuppressFunc defined which for autopilot clusters ignores any changes to field. It needs to be ForceNew to force cluster recreation.
When cluster is created without providing autoscaling_profile, clusters are created as OPTIMIZE_UTILIZATION which is against API documentation

So as temporary workaround, after modifying gke-cluster-autopilot module force cluster recreation and it should recreate with proper profile:
terraform plan -out tf.plan -replace 'module.cluster-1.google_container_cluster.cluster'

(your module address may differ)

@intotecho Sorry, my bad. For autopilot clusters you can't modify this value.

Ok, thanks for looking into it.
Regards Chris
On Tue, 13 June 2023, 6:41 am Wiktor Niesiobędzki, @.***>
wrote:

@intotecho https://github.com/intotecho Sorry, my bad. For autopilot
clusters you can't modify this value.
—
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/1330#issuecomment-1589451276,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFBBWHP4VTPQYMVV6FK7SDXLB32NANCNFSM6AAAAAAXA7FZOM
.
You are receiving this because you were mentioned.Message ID:
@.***
com>


Added in static files for HeronUI so that Offline Heron Deployment works

Can we add versions to the  js file names?
Also, there a few more dependencies:
//cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js
//cdnjs.cloudflare.com/ajax/libs/d3-tip/0.6.3/d3-tip.min.js
See files:
config.html
exception.html
topologies.html
topology.html

I added the js files from the links they were being called from, added the files names and replaced the cloudera links in:
application.html
config.html
exception.html
topologies.html
topology.html

YAY it worked (:

Awesome!
Sent from my iPhone

On Nov 2, 2017, at 8:29 AM, Michael Schmidt<EMAIL_ADDRESS>wrote:
YAY it worked (:
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


add offline mode to installation

What would you like to be added:
add offline mode to installation
Why is this needed:
user may have limited or no network access to internet.
Without this feature, how does the current module work:
installation is failed with no network access to internet.
Components that may involve changes:
pai/contrib/kubespray/quick-start-kubespray.sh

#5592


[BUG] pyximport fails on Windows with multiprocessing at high concurrency

Describe the bug
pyximport seems to fail with a moderate to high number of parallel processes. If I build the .pyx explicitly, then there is no problem. I installed cython with pip just today. Windows 10, 16-core AMD Threadripper with 64GB RAM. If I use a low core count, like 2-3, sometimes higher, my scripts succeed. But as I increase the core counts, I'll run into these crashes. Sometimes at the same core count it will pass, while other times it will fail.
c:\>py test2.py
start 123
start 123
start 123
start 123
start 123
c:\>py test2.py
start 123
start 123
start 123
start 123
Traceback (most recent call last):
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\site-packages\pyximport\pyximport.py", line 216, in load_module
    mod = imp.load_dynamic(name, so_path)
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: DLL load failed while importing test3: The specified module could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\multiprocessing\spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\multiprocessing\spawn.py", line 125, in _main
    prepare(preparation_data)
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\multiprocessing\spawn.py", line 236, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\multiprocessing\spawn.py", line 287, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 265, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 97, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "c:\Steve\p4\py\pnet\pnet\test2.py", line 8, in <module>
    from test3 import test3
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\site-packages\pyximport\pyximport.py", line 459, in load_module
    module = load_module(fullname, self.path,
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\site-packages\pyximport\pyximport.py", line 231, in load_module
    raise exc.with_traceback(tb)
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\site-packages\pyximport\pyximport.py", line 216, in load_module
    mod = imp.load_dynamic(name, so_path)
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: Building module test3 failed: ['ImportError: DLL load failed while importing test3: The specified module could not be found.\n']

Another run looked like this:
c:\>py test2.py
Traceback (most recent call last):
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\site-packages\pyximport\pyximport.py", line 214, in load_module
    so_path = build_module(module_name, pyxfilename, pyxbuild_dir,
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\site-packages\pyximport\pyximport.py", line 192, in build_module
    assert os.path.exists(so_path), "Cannot find: %s" % so_path
AssertionError: Cannot find: C:\Users\Steve\.pyxbld\lib.win-amd64-3.8\test3.cp38-win_amd64.pyd.reload2

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\multiprocessing\spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\multiprocessing\spawn.py", line 125, in _main
    prepare(preparation_data)
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\multiprocessing\spawn.py", line 236, in prepare
start 123
    _fixup_main_from_path(data['init_main_from_path'])
start 123
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\multiprocessing\spawn.py", line 287, in _fixup_main_from_path
start 123
    main_content = runpy.run_path(main_path,
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 265, in run_path
start 123
    return _run_module_code(code, init_globals, run_name,
start 123
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 97, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "c:\Steve\p4\py\pnet\pnet\test2.py", line 8, in <module>
    from test3 import test3
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\site-packages\pyximport\pyximport.py", line 459, in load_module
    module = load_module(fullname, self.path,
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\site-packages\pyximport\pyximport.py", line 231, in load_module
    raise exc.with_traceback(tb)
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\site-packages\pyximport\pyximport.py", line 214, in load_module
    so_path = build_module(module_name, pyxfilename, pyxbuild_dir,
  File "C:\Users\Steve\AppData\Local\Programs\Python\Python38\lib\site-packages\pyximport\pyximport.py", line 192, in build_module
    assert os.path.exists(so_path), "Cannot find: %s" % so_path
ImportError: Building module test3 failed: ['AssertionError: Cannot find: C:\\Users\\Steve\\.pyxbld\\lib.win-amd64-3.8\\test3.cp38-win_amd64.pyd.reload2\n']

Seems related to https://github.com/cython/cython/issues/3566
To Reproduce
test3.pyx
def test3(num):
    print("start %d" % num)

test2.py
import concurrent.futures
import itertools
import pyximport
pyximport.install(setup_args={"script_args":["--compiler=msvc"]},
                reload_support=True)
from test3 import test3

if __name__ == '__main__':
    with concurrent.futures.ProcessPoolExecutor(max_workers=4) as executor:
        executor.map(test3, itertools.repeat(123))

It will sometimes fail with max_workers=4. It will always pass with max_workers=2. It will always fail with max_workers=32. It doesn't look like its a memory pressure issue, as my memory usage doesn't move much.
If I manually compile test3.pyx, it will always pass, since pyximport doesn't need to compile in that case.
Expected behavior
Should not crash at any level of parallelism as long as we're not out of memory.
Environment (please complete the following information):

OS:Windows 10
Python version 3.8.5
Cython version 0.29.21

Thanks for the report. It somehow seems to think that it needs to reload the module, thus tries to rebuild it. That that can fail under concurrency is not surprising. The fact that it would try to reload the module is.
Maybe you can do a bit of print debugging to investigate why it thinks that it needs a rebuild inside of the executor. (Pyx-)Importing the module before starting the executor, as you do in your example, is already the right thing to do.

Unfortunately I don't know enough about the expected behavior to do effective debugging. This is my first contact with cython. And no time. I'll try to switch to multithreading instead.

I'll try to switch to multithreading instead.

Your choice, but if you ask me, if multiprocessing otherwise works for you, I'd rather stick with that than add thread-concurrency to my application.

I don't know enough about the expected behavior to do effective debugging.

I guess it's easy to debug with a couple of prints sprinkled here and there. But if you prefer to degrade your own code rather than helping to fix a problem that others might run into as well, that's obviously your choice, too.

Threading without GIL should be more efficient than spinning up processes, especially on windows without fork, and cross-thread communication should be simpler and possibly more efficient. But it's not easy to get around GIL in cython, I'll give you that :) Sorry, just way too slammed...

I found that reload_support=False doesn't crash. I don't need that, so I'm good.


⚠ Processors has degraded performance

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

HTTP code: 200
Response time: 42 ms

Resolved: Processors performance has improved in 55ed76b.


Support generating and using a cache of the initial parser state

Adds the concept of a parser state cache which is conceptually the state of the parser after running an initial upfront parse. This parser state is built on top of the existing bytecode serialization code and can (basically) be thought of as the bytecode for all initially non-defer-parsed functions as well as stubs for all defer-parsed functions. When we deserialize this parser state, we hydrate the defer-parse functions and executing them will perform a full parse of the original source like an ordinary defer-parse function would be handled without the serialization step. Because of this defer-parse scenario, the parser state cache is not a standalone bytecode format like the buffers produced by the existing bytecode serialization APIs such as JsSerialize and reusing the generated parser state requires the original script text as well.
There are two new Jsrt APIs which allow hosts to use this functionality:
CHAKRA_API
    JsSerializeParserState(
        _In_ JsValueRef scriptVal,
        _Out_ JsValueRef *bufferVal,
        _In_ JsParseScriptAttributes parseAttributes);

CHAKRA_API
    JsRunScriptWithParserState(
        _In_ JsValueRef script,
        _In_ JsSourceContext sourceContext,
        _In_ JsValueRef sourceUrl,
        _In_ JsParseScriptAttributes parseAttributes,
        _In_ JsValueRef parserState,
        _Out_ JsValueRef * result);

JsSerializeParserState parses a script and returns the parser state cache via the bufferVal output parameter. The format of the parser state cache is runtime-independent and may be reused in any runtime.
JsRunScriptWithParserState takes in a parser state cache created via JsSerializeParserState and the same script and executes the script, returning the result.
Exposes the -GenerateParserStateCache ch.exe flag which exercises JsSerializeParserState. With this flag, ch.exe generates the parser state cache for the passed-in file and prints the returned buffer to the console. This switch is diagnostic in nature and is not intended to be used in a unit test or as a replacement for a tool calling JsSerializeParserState directly.
Adds one other ch.exe flag -UseParserStateCache which generates the parser state cache via JsSerializeParserState and then immediately uses the cache to execute the script via JsRunScriptWithParserState. This switch is meant as a way to exercise compatibility for the parser state cache set of features and is similar to the -ForceSerialized flag.
Also adds one config flag to control creation of the parser state cache. This flag (-ParserStateCache) is enabled by default in this PR.
Majority of the work for this feature is in refactoring the various parsing pipelines and plumbing-in additional arguments when needed. ScriptContext.h/cpp probably contain the majority of these changes. The next biggest part is probably the bytecode serialization changes to handle serializing and deserializing defer-parse functions and deferred stubs.
The parser state cache is written to (and read from) the same data cache we use for the startup function bitvector which uses the IActiveScriptDataCache interface. The interface is wrapped by two helper classes in SourceDynamicProfileManager, SourceDynamicProfileManager::SimpleStreamReader and SourceDynamicProfileManager::SimpleStreamWriter which act to read/write the data cache contents. These existing structures are not sufficient to support the addition of our parser state cache so I have added the (slightly less simple) SimpleDataCacheWrapper class. This wrapper allows us to write multiple blocks of data into the stream and supports seeking through the stream to find and read blocks of a specified type.
Parser state cache is turned off in debug scenarios, currently. To enable it we would need to have the data cache store both debug and non-debug bytecode or come up with another solution. In the medium-term, we can get away with just disabling the feature in debug modes.

I'm not sure how we can get those Travis CI checks to go away... If you make a new PR then it shouldn't make new ones (I believe I've disabled it automatically building on PRs)

Late to the party...
Is there any reason a host would use this over bytecode serialization?


ACME protocol updates (RFC8555)

Works to issue certificate from staging environment.

I came top realize that, contrary to what I had been thinking, the RFC8555 were now the most urgent changes.  With these in place I can actually test the protocol implementation, not just that the far end of a lever moves when I push down on the near end.  And not being able to do that was deterring me from considering other work finished enough for a PR.
@komuw, please sanity check me ASAP.  I can't see any reason not to merge, but if I could see it I would have fixed it.  :-)
Oh, wait, I forgot that one detail.  Wanted to get rid of the obviously obsolete Py2 versions listed in setup.py and add at least through 3.7.  Any other thoughts on that?
@AlecTroemel @kylejohnson , please check me if you have time.  You've both kept me thinking in prior discussions.  The work that follows this will be of more direct interest to you as challenge provider authors.  And of course anyone else, I'm sure I'm forgetting someone here...

After poking about, there are changes to the typing module that landed in 3.6, but they've been backported (it says) to 3.5.  I'm not using var annotations yet, but I also would not pretend to promise that I won't.  So 3.5 seems a reasonable lower bound, in theory.
Just the opportunistic annotations I've added have already caught a few little glitches, and mypy runs a good deal quicker than running unittests... and gives clear error messages, not piles of tracebacks to wade through in search of the root cause.  Granted that I am not a fan of mocked-up tests, but so far annotations seem to be have at least an order of magnitude better ROI.  So, nope, no promise from me not to make further use of them.

I'm not up to speed on the RFC8555 updates currently, so unfortunately I can't comment on those changes.
I am however all for getting rid of python 2.7, and adding in new features fro 3.6 - like variable annotations.  Unit tests and mockups still have their place, of course, but if variable annotations make our lives easier, than they are worth using.
On the subject of "make our lives easier", I'm currently at the tail-end of generating 350,000 SSL certificates with a custom-built python application that has sewer at the center (hence my interest in this project).  In generating those 350k certs, my life has been far from easy, and I've added and modified a ton of sewer's code around logging and monitoring, so I will likely have a PR or two around that, in the near future.

@kylejohnson the protocol changes are, to a first approximation, all GET requests turn into signed requests - no signed content, but reusing the existing mechanism to make forgery much more difficult.  Which means they become PUT requests, or "put as get" as they call it.  Anyway, this code has been run successfully against LE's staging, and my short list before merging includes setting up some unimportant (in case it breaks somehow) identity to test against production.
Also, and beyond this, feel free to tell me about the rough edges you're running into.  I have quite the pile of old bugs and changes (and some of them match up, even) in the in basket, and the more the merrier!  Sometimes they even help solve each other.

FWIW, I took the code from the PR and using it now. Works for me.


Icon styling doesn't work

See IconPreferenceData.class. When an icon is selected from the dialog (onPreference is called in the dialog listener), it sets the image view to the correct icon style, however when the object is instantiated it always goes back to the default style.

Update: the dialog displays the wrong icon when it's re-instantiated as well, regardless of whether the app is restarted first.


This site has been updated in the background

Regular curl command to test push notifications work for me.
Using the Gem i get a notification that says
"This site has been updated in the background" instead of the notification
Response is 200, success

You need to post a bit more info - closing for now since it's such an old issue - if you see this again open a new issue please with some details on your params Thx!


Improve usernaem behavior

Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

Solve a problem related to username validation in validations.py file. Now it will check the first letter is character or not

solve an issue related to username validation in validations.py file. Now it will ok with the first letter must be an alphabet.


ngCsp example in docs doesn't work

See https://code.angularjs.org/snapshot/docs/api/ng/directive/ngCsp#examples
You can do eval even though it should be disallowed. The e2e tests don't fail though.

Is that because we are not turning CSP on via the server for that page?

I actually don't know what that means 😱
We only set the ng-csp attribute on the html or body tag.

OK, so I actually took a look at the example :-)
The point of ng-csp is to tell AngularJS not to do anything that might trigger a CSP error. It does not "turn on" CSP protection for the application. That must be done by other settings outside of AngularJS.
What developers do in their own controllers is not affected by the ng-csp directive.
So this example is rather misleading, IMO, since the evil function will be called and will execute quite happily on a browser that does not have CSP turned on - whether or not ng-csp is there.
If we could setup the example so that the browser really does turn on CSP then it might make more sense.

Ah, that makes sense:
There's a not in the example:
<!-- Note: the .csp suffix in the example name triggers CSP mode in our http server! -->
I assume this was lost during some docs migration.
However, the example was not rendered / tested because the indentation was wrong, so it's unclear if this actually worked.


Everything working but nothing printed out.

W/BluetoothAdapter(28904): getBluetoothService() called with no BluetoothManagerCallback
D/BThermalPrinterPlugin(28904): android.bluetooth.device.action.ACL_CONNECTED
I/flutter (28904): bluetooth device state: connected
I/ample.testprin(28904): Waiting for a blocking GC ProfileSaver
I/ample.testprin(28904): WaitForGcToComplete blocked ProfileSaver on ProfileSaver for 15.452ms
and nothing happening.
I tested in SMK-M8 thermal printer

same here, detailed info about my problem in issue #152