Slow Loading multipart/form-data

When requests are multipart/form-data clicking on and off them is quite slow because the all the data is displayed. Would it be possible to have it only load when the user clicks on the Text or Binary buttons?

I tried making this code change myself and suffice to say, I failed miserably 🤦🏻♂

Could you test the fix? The docker tag is ghcr.io/tarampampam/webhook-tester:issue-306

Could you test the fix? The docker tag is ghcr.io/tarampampam/webhook-tester:issue-306

It works perfectly :)


Minor improvements

Global settings tab added, can be enabled/disabled, if enabled empty page or model meta_title and meta_description will be substituted by one specified in global settings, meta_title prefix/suffix with separator optional.
Optional favicon.ico support
Optional HTML minification
Optional robots.txt (enable/disable switch in settings)
Optional humans.txt (enable/disable switch in settings)
Optional security.txt (enable/disable switch in settings)
Added support for using external models and output form to controllers that using this model by
public $metadata_from = 'column_name';, stupid and simple.
Model's metadata can be set from page controller by $this->seoTags->useMetadataModel($modelEntity);

Does your adjustment to the metadata storage allow for it to be stored inside of already existing JSON blob columns alongside pre-existing data?

Are you talking about prefixing properties in JSON with "meta_"? Then I believe so, since it stored in seo property.
Real life example:
{
    "seo": {
        "meta_image":"",
        "meta_title":"Winter Blog Post Title",
        "meta_description":"Winter Blog Post Description",
        "meta_nofollow":"1"
    }
}

There's still some pending comments of mine that haven't been responded to. @VadBe is this still something you'd like to push across the finish line?


Make the secret config optional so it does not override

What this PR does / why we need it:
Many users still utilise oauth2-proxy
Secrets should be configurable to allow for management of sensitive oauth2 keys and cookies outside of this chart
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[X ] DCO signed
[X ] Chart Version bumped
[X ] Variables are documented in the README.md

/assign @mattfarina

/assign @unguiculus

/assign @davidkarlsen

@mattfarina @seanknox could I get a review on this very small modification to this chart please?

Thanks @unguiculus. I will go through the process to un-deprecate

@unguiculus @davidkarlsen should be good to go now if you have time. Have added the use of existingSecret

Closing, we have vendored the chart internally.


chore: 🔧 Make pushes on patches cancel previous workflows.

saves time and CPU power computing stale results.

Taken from: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#example-using-a-fallback-valueore:

Codecov Report

Merging #24 (d7272ee) into main (0137e6d) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #24   +/-   ##
=======================================
  Coverage   99.21%   99.21%
=======================================
  Files          23       23
  Lines         507      507
  Branches       79       79
=======================================
  Hits          503      503
  Misses          3        3
  Partials        1        1

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 0137e6d...d7272ee. Read the comment docs.


Created TextViewLayout

- Implemented methods from Layout protocol &
- calculates the `textView` height based on text to be displayed.

Please close this one as PR is moved to https://github.com/linkedin/LayoutKit/pull/98


Feature/dictionary generator

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

594 of 1928 (30.81%)  changed or added relevant lines in 20 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-29.2%) to 34.038%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

MultiDimensionDictionary/expirationalMultiDimensionDictionary/ExpirationalMulti1.cs
2
4
50.0%

MultiDimensionDictionary/multiDimentsionDictionary/multi2.cs
42
47
89.36%

MultiDimensionDictionary/multiDimentsionDictionary/multi3.cs
44
56
78.57%

MultiDimensionDictionary/expirationalMultiDimensionDictionary/expirationalMulti2.cs
25
40
62.5%

MultiDimensionDictionary/expirationalMultiDimensionDictionary/expirationalMulti3.cs
32
51
62.75%

MultiDimensionDictionary/expirationalMultiDimensionDictionary/expirationalMulti4.cs
40
59
67.8%

MultiDimensionDictionary/multiDimentsionDictionary/multi4.cs
46
65
70.77%

MultiDimensionDictionary/multiDimentsionDictionary/multi5.cs
48
74
64.86%

MultiDimensionDictionary/expirationalMultiDimensionDictionary/expirationalMulti5.cs
44
74
59.46%

MultiDimensionDictionary/multiDimentsionDictionary/multi6.cs
47
83
56.63%

Totals

Change from base Build<PHONE_NUMBER>:
-29.2%

Covered Lines:
789

Relevant Lines:
2289

💛  - Coveralls


Refresh dependencies

Codecov Report

Merging #263 into master will increase coverage by 13.51%.
The diff coverage is 16.66%.

@@              Coverage Diff              @@
##             master     #263       +/-   ##
=============================================
+ Coverage     44.41%   57.93%   +13.51%
+ Complexity     2732     2707       -25
=============================================
  Files           336      327        -9
  Lines          8969     6877     -2092
=============================================
  Hits           3984     3984
+ Misses         4985     2893     -2092

Impacted Files
Coverage Δ
Complexity Δ

src/Controller/Base/BaseController.php
43.33% <0%> (+5.09%)
14 <0> (-2)
:arrow_down:

src/Controller/LoginController.php
7.04% <20%> (ø)
26 <0> (ø)
:arrow_down:

src/Migrations/Version20190302092737.php

src/Migrations/Version20181216092743.php

src/Migrations/Version20181209114049.php

src/Migrations/Version20190419093333.php

src/Migrations/Version20190414125018.php

src/Migrations/Version20190428124405.php

src/Migrations/Version20190112113629.php

src/Migrations/Version20190317100207.php

... and 1 more

Continue to review full report at Codecov.

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


Merges .go-sdl2-libs as part of the repository

This fixes static and/or cross-platform build when using the new Go
Module system as it doesn't fetch the (previously) sub-module
go-sdl2-libs.
I thought that this is straightforward but perhaps it's good to have an okay from @gen2brain. I should not have asked him to make it into sub-module :joy_cat:

Hi,
Sure, this is fine, a simple change. It does add some weight in MB to the repo, but that should not be a big issue.
I planned to add libs for linux/arm separated with tags for generic GLES, RPi and vivante video drivers, that will probably add another 3-5M to repo, but is nice to have. Currently, linux/arm will just assume RPi.

Yeah, it will add quite a bit to the Git repo. I'm hopeful that since Go is making the Module system the default in Go 1.13, users won't notice the difference since they're going to download only the files without history :grin:
Alright then, I'm merging it!


Add quantity means pack field

This address the issue raised in #1284 where the calculated tariff costs for "Glyceryl trinitrate 400micrograms/dose pump sublingual spray" (0206010F0AACJCJ) were off by a factor of 200. In this case the quantities were "number of pumps dispensed" but we were treating it as "number of doses" and dividing it by "doses per pump" (which was 200).
This PR doesn't solve the issue in general, but it lays the groundwork for tackling it by adding a field to the presentations table which indicates whether quantity means "packs" or not and updating the NCSO logic to respect this flag.
It also adds a management command which sets this flag for all presentations. At present this just sets it for the one presentation above where we know it's needed and clears it for everything else, but the idea is that we can try various heuristics for setting it more widely or even (dream of dreams) find a canonical data source for it.

Incidentally, the random-data-plus-parallel-implementation approach to testing really paid off here. It was trivial to update the data generation to include random values for this flag and to update the parallel implementation to handle it.


Increase default expansion service timeout

Seems like number of open source runner tests are flaky due to timeout here not being adequate. For example,
https://ci-beam.apache.org/job/beam_PostCommit_XVR_Direct/3670/testReport/org.apache.beam.sdk.extensions.python/PythonExternalTransformTest/trivialPythonTransform/

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

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

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

LGTM

Run Java PreCommit

Thanks!

Noticed the same thing in #25111 actually the code path taking effect is here: https://github.com/apache/beam/blob/48712b26e67d4e6174c8425458a74a2e02a43636/sdks/java/extensions/python/src/main/java/org/apache/beam/sdk/extensions/python/PythonExternalTransform.java#L481

opened #25176

Yeah, correct. Makes sense to increase the timeout for all cases.


ChannelFutureAggregator.addFuture(...) is not thread-safe

ChannelFutureAggregator.addFuture(..) is not thread-safe and can so have some side-effects. We need to make sure its usable in multi-threaded systems

Done..


Quick "Invert condition" option

Hi,
It would be awesome if VS Code would allow quick inversions of logical statements.
Example 1:
if (x == y)
    /// Do A
else
    /// Do B

Quick invert and it would become:
if (x != y)
   /// Do B
else
   /// Do A

Example 2:
x > y ? A() : B()
Quick invert:
x <= y ? B() : A()
Cheers 🥂

For what language?

Well, the main ones for me would be JavaScript and TypeScript.


Google Project ID environment variable name not consistent

Story
Rubyist attempts to use environment variables to save GCP default values. After reading this (README)[https://github.com/GoogleCloudPlatform/ruby-docs-samples/tree/master/datastore] in Datastore, the Rubyist is overwhelmed by which environment variable to use.
Issue
Similar to issue #62. Environment variables are not consistent across the Ruby samples.
Possible-Solution
Similar to issue #62. Use a consistent environment variable.

Resolved.


Refs #33328 -- Added some advice regarding handling formset:added/removed in 3rd party libraries

Writing code which works with several versions of Django may be somewhat hard at times.
I tried (and failed) to rewrite the code in django-content-editor to use addEventListener instead of jQuery. However, code using addEventListener isn't triggered when using jQuery.trigger(...) (that's expected, see https://github.com/jquery/jquery/issues/2476)
I therefore propose this addition to the docs.
Here's the current version which works both with Django 4.0 and 4.1:
https://github.com/matthiask/django-content-editor/blob/e6b4b8b8dd54b922d1b30b625a38b5e3b765d043/content_editor/static/content_editor/content_editor.js#L508-L516

Looks good. Pleased to see the "hard work" already done for my task to update django-tinymce :-)

I'd (personally) be inclined to add in an actual code example into this note, to back up what's being said. I can reasonably interpret what's being added, based on seeing your solution in django-content-editor, but I'm not certain I'd grok it enough to produce an equivalent out of the gate, though I'd hopefully get there eventually ;)
I don't think that's a fault of the wording per-se (because I don't know what wording would give me the full picture without just showing me, a picture telling a thousand words) but of the nuance of the many ways to do things in JS, let alone with jQuery in the mix, and differing ideas of events etc.

Looks good. Pleased to see the "hard work" already done for my task to update django-tinymce :-)

Thanks!

I'd (personally) be inclined to add in an actual code example into this note, to back up what's being said. I can reasonably interpret what's being added, based on seeing your solution in django-content-editor, but I'm not certain I'd grok it enough to produce an equivalent out of the gate, though I'd hopefully get there eventually ;)

That's a good idea. I added a new subsection at the bottom of the page with an example and removed the addition to the versionchanged note. I think it's strange if the compatibility workaround appears before the description.
I was unsure if I should pass a jQuery object to the handleFormsetAdded function or not but I opted not to because it makes the new code look more complicated and I don't like that. I like using vanilla JS a lot 😊

🎉


[Bug]: Select event is not working in strict mode.

Would you like to work on a fix?

[ ] Check this if you would like to implement a PR, we are more than happy to help you go through the process.

Current and expected behavior
<Chart
chartEvents={[
{
eventName: "select",
callback: ({ chartWrapper }) => {
console.log('-------- console is not getting printed-')
const chart = chartWrapper.getChart();
      },
    },
  ]}
  chartType="GeoChart"
  width="100%"
  height="100vh"
  data={data}

/>
Reproduction
https://codesandbox.io/s/bold-fire-4x46vb?file=/App.tsx
react-google-charts version
v4.0.0
Possible solution
No response

Post a pull request for solve this problem https://github.com/rakannimer/react-google-charts/pull/709

Thanks @dorlanpabon,
Confirmed this is fixed in the sandbox above by just updating the version to latest (5)


How to check for Any?

Hello!
How can I check that one of the properties is an object? Let's say I described the following type:
const Person = Record({
name:String,
age: Number,
body: // what should I use here?
});
body is object - it can be filled with any values or empty ({}), but cannot be null or undefined
How I can describe it using runtypes?
Thanks!

I also needed this, where I want to permit an opaque dictionary. eg {} or {foo: 1, bar: "two", baz: { quux: [] }} should both be accepted.
Dictionary(Unknown, 'string') is pretty close, although it permits null and undefined at compile-time [although not in the default validator -- perhaps this is a bug?]
import { Dictionary, Record, Static, String, Unknown } from 'runtypes';

const X = Record({
  foo: Dictionary(Unknown, 'string')
});
type X = Static<typeof X>;

// Good: These fail to validate.
console.log(X.validate({}));
console.log(X.validate({foo: 1}));
console.log(X.validate({foo: null}));
console.log(X.validate({foo: undefined}));

// Good: These validate.
console.log(X.validate({foo: {}}));
console.log(X.validate({foo: {bar: 1}}));

// Good: These fail at compile time.
// const goodFooMustBePresent: X = {};
// const goodForbidsNonObject: X = { foo: 1 };

const goodPermitsEmptyObject: X = { foo: {} };
const goodPermitsArbitraryObject: X = { foo: {bar: 1, baz: { quux: false } } };

// Bad: These pass at compile time :(
//      They would fail the constraint check at runtime.
const badPermitsNull: X = { foo: null };
const badPermitsExplicitUndefined: X = { foo: undefined };

@annmirosh I'm sure what you want is not Any but NonNull, NonUndefined or similar thing. Maybe we'd implement some ways to "negate" runtypes in the future (along with https://github.com/microsoft/TypeScript/pull/29317 ?), but at this time the only option is Unknown.withConstraint(x => x !== undefined && x !== null).
@cldellow I can't confirm that your last two lines "pass at compile time", at least in runtypes 5.0.1 and TS 4.2.3. It expectedly emits static type-checking error. What versions of runtype and typescript are you using?

Well, please file a new issue if you found a bug on it. I believe the OP's issue is resolved by my previous comment, so I'll close this.


Bump yajsw to stable (from beta)

This commit bumps yajsw to a stable version, instead of a beta version. While here, cleanup some whitespaces errors.

Duplicate of #4092.

@ryanmkurtz while I agree it's a duplicate; not that this one is a big more complete, in updating all referenes (including some docs) and b) has a boyscout commit you might want to keep.
If attribution is a concern, I can rebase my patch uppon #4092 however.

Typically yajsw would be upgraded internally since the code changes are trivial but the required multiplatform testing is quite rigorous.  I kept #4092 open to give the contributor credit for initiating the starting point of the process, but only when I am ready to spend the day testing the various server startup modes on Linux, macOS, and Linux.  Also, keeping the change set minimal is preferred to adding whitespace cleanup which obscures the real changes and makes it harder to review.  This is mentioned in our CONTRIBUTING.md document.

I was also expecting the top-level directory bug I mention in the Server's build.gradle file to have been fixed with the newest version of yajsw.  Was that not an issue for you in your testing?

I did keep the whitespace cleanup minimal, as I only commited the changed to the files I touched upon (my editor/git client actually fixed those due to default settings). I completely agree with avoiding big white-space diffs over the whole code base; but is the intend ultimately not to clean it up entirely?
As for the pathing fix, I kept it initially as was, and all of that worked fine. Only after seeing the duplicate, I figured I must have been wrong ;)
So I'll let #4092 'deal' with that ;)
BTW, I'm more then happy to keep this one closed, and let all discussions be resolved there. Consider this MR a reference point for potentially missing updates if you will, once that branch is merged, we should have a zero diff here.
Thanks for your reply!


Wrong path in src/Commands/Publish/LayoutPublishCommand.php

In src/Commands/Publish/LayoutPublishCommand.php line 79
$path = config('infyom.laravel_generator.path.routes', app_path('routes/web.php'));

should be
$path = config('infyom.laravel_generator.path.routes', base_path('routes/web.php'));

Otherwise infyom searches for app/routes/web.php which does not exist.
Kind Regards
Andi

@inbaz great catch. I will fix it.

@inbaz fixed.


add more enemys

add some more enemys, now we just have 1 enemy, the frog

1 mimic chest
2 bat
3 slime


GitHub actions: first version

This runs flake8 syntax error tests and linting, plus pytest tests on the GitHub Actions.

Fixes #273.

Fixes #274.


chore: release 1.1.0

:robot: I have created a release *beep* *boop*
1.1.0 (2019-06-05)
Features

support apiEndpoint override in client constructor (#157) (0da529e)

Release is at https://github.com/googleapis/nodejs-asset/releases/tag/v1.1.0

The release build has started, the log can be viewed here. :sunflower:

:egg: You hatched a release! The release build finished successfully! :purple_heart:


Question (Ansible) - How to have more columns in status (kubectl get)?

Type of question
Are you asking about community best practices, how to implement a specific feature, or about general context and help around the operator-sdk?
I need some pointers to add more columns to status (kubectl get <crd> <resource>).
Question
What did you do?
I have followed the Ansible user guide to deploy a test Memcache operator.
What did you expect to see?
I want to have more columns in the kubectl get commands, in my example may be the number of pods (just an example)
$ kubectl get memcacheds.cache.example.com
NAME                AGE   SIZE
example-memcached   38m   3
$

What did you see instead? Under which circumstances?
$ kubectl get memcacheds.cache.example.com -o wide
NAME                AGE
example-memcached   38m
$

Environment

operator-sdk version: v0.15.2 (ffaf278993c8fcb00c6f527c9f20091eb8dd3352)

Kubernetes version information:

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.4", GitCommit:"8d8aa39598534325ad77120c120a22b3a990b5ea", GitTreeState:"clean", BuildDate:"2020-03-12T23:41:24Z", GoVersion:"go1.14", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2020-01-14T00:09:19Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes cluster kind:
I have spun up a cluster through kind

Hi @vikas027 Thanks for reaching out , this is a kubectl cli question. Perhaps a better place would be here.
Having said that, what you are looking for is to be able to add custom columns for kubectl get crd. One option for you is to distill information from kubectl describe memcacheds.cache.example.com, which gives you a lot more information than kubectl get.
Also, found this PR ,addressing the same,It has not been merged yet.
Please let us know if you need any further information from Operator-sdk point of view

Hey @bharathi-tenneti ,
AFAIK, this is not a kubectl thing. I am new to operator-sdk but have used kopf (python) operator in which I did not have to anything in kubectl. I just had to define an additional column as shown in this example.
Using GoLang, in operator-sdk too you can have the same behaviour. This guy has done it in his blog and git repo. See this output in the blog, it has additional columns - URL and DESIRED
$ kubectl get mywatchlist
NAME                 URL                       DESIRED
mywatchlist-sample   http://32.225.23.xxx:8080      1

I am just looking for some pointers to do the same in Ansible.
Please let me know if my understanding is incorrect.

Hi @bharathi-tenneti,
I think that @vikas027 is looking for how to create more instances of the pod created by the CR applied. Then, if I understood it properly I'd like to suggest checking the Ansible Memcached Sample. See that the number of instances in this example is defined here
@vikas027 could you please clarifies and let us know if is it what you are looking for?

Hey @camilamacedo86 ,
Thanks for looking into it. I am not looking to change the number of pods (or memcache instances), but looking to have more columns in the kubectl get output.
What I currently have
$ kubectl get memcacheds.cache.example.com -o wide
NAME                AGE
example-memcached   38m
$

What I want - a way to add more columns
$ kubectl get memcacheds.cache.example.com
NAME                AGE   SIZE
example-memcached   38m   3
$

Pls see the above comment in which I have explained how I achieved this using kopf operator and trying to do the same through operator-sdk

Hi @vikas027,
The CustomResources are from k8s api. See in the k8s docs here how to add more columns on it.
Note that it is not something specific to any operator tool indeed.
Then, it means that you are free to manually improve your CRD as you wish. See that it is the deploy/crds/ dir.
In this way, I think is all sorted out. Please, let us know if we can close this one or if it has anything else that you still needing help here over this subject.

Thanks for the explanation @camilamacedo86 , I think I have got it. I will raise a PR to have the size as well so it is easier to understand the same for others too.

HI @vikas027,
Please, feel free to contribute with PR's to improve the docs if you see that has some need. You are very welcome.


remove Table name check

Please assist to review the Table name checking method, because Azure Portal - Cosmos DB Data Explorer allows users to create a table name that disallowed in the regex match.
In the deprecated SDK azure-cosmosdb-table 1.0.6, it’s just simply checked the input shouldn't be empty only.
Ref: https://github.com/Azure/azure-cosmos-table-python/blob/master/azure-cosmosdb-table/azure/cosmosdb/table/common/_error.py#L127
def _validate_not_none(param_name, param):
if param is None:
raise ValueError(_ERROR_VALUE_NONE.format(param_name))
Description
Please add an informative description that covers that changes made by the pull request and link all relevant issues.
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

Cancel PR#22938, create a new Issue#23106 for tracking this issue.


support Cursor attribute to provide ANSI SQL State Code

While a Cursor attribute providing SQL State Code  is not officially a part of PEP 249: Python DB API 2.0 spec, there is an ANSI-standardized "SQL state code".
Many database drivers provide this as a Cursor attribute, dbt was able to depend on these drivers to provide it for ConnectionManager.get_response() method, which will report to users after successful queries the kind of operation performed (SELECT, INSERT, CREATE) and the numbers of rows affected. Originally the Redshift adapter for dbt, was supported by the psycopg2 driver, which provides this information in statusmessage.
As reported in https://github.com/dbt-labs/dbt-redshift/issues/785, after migrating the driver dependency to redshift-connector, users are in a degraded state and receive less information than previously due to the SQL state not being available.
Support for SQL state amongst popular analytics database drivers

Driver
Cursor attribute (docs)

psycopg2
statusmessage

snowflake-connector-python
sqlstate

Ideal implementation
Postgres's CommandComplete message

Command
Tag
rows indicates the number of rows

INSERT
INSERT 0 rows
inserted

DELETE
DELETE rows
deleted

UPDATE
UPDATE rows
updated

MERGE
MERGE rows
inserted, updated, or deleted

SELECT / CREATE TABLE AS
SELECT rows
retrieved

MOVE
MOVE rows
ursor's position has been changed by

FETCH
FETCH rows
that have been retrieved from the cursor

COPY
COPY rows
copied, only in PostgreSQL 8.2 and later

Hi @dataders , my apologies for the delay in response on this issue. Thank you for raising this gap and for providing an in-depth explanation of the feature request.
From a quick look at the redshift_connector handler for COMMAND COMPLETE, it appears this should be extremely straight forward i.e. modifying this method to set the value of some SQL state attribute on the Cursor.
The only place I anticipate friction is if there are commands for which Redshift server is not providing a command tag within the COMMAND COMPLETE message.
Things may have changed since I last looked into it, but last I remember SELECT commands are such a case i.e. Redshift server does not send the command tag in the COMMAND COMPLETE message following SELECT command execution.
Regardless, I will raise this feature request with the Redshift drivers team and advocate it's inclusion in our roadmap to help ease transitions to redshift-connector for DBT and all other customers coming from drivers which offer this attribute.


Microscope

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

It seems "notebooks/advanced/Compare_Multiple_Models/Compare_Multiple_Models.ipynb" was deleted unintentionally.

Please delete output cells.

# display ipython widgets in notebook
!jupyter nbextension enable --py --sys-prefix widgetsnbextension

In my environment, "jupyter" command cannot be found by environment PATH, and it causes following error.
'jupyter' is not recognized as an internal or external command,
operable program or batch file.

text_widget_bucket = create_text_widget( "bucket_name", "input your S3 bucket name"
                                             , default_value="bike-demo" )
text_widget_region = create_text_widget( "region", "input region name."
                                             , default_value="us-west-2" )

In these 2 lines, missing "util." and it causes following error.
NameError: name 'create_text_widget' is not defined

# arn:aws:forecast:us-west-2:XXXXXXXXXXX:predictor/bike_demo2_auto
# s3://christy-forecast/bike_share_open_data/demo/bike_backtest_export_files2/

These 2 comment lines have to be deleted.

* [Set up and install libraries](#setup)

Link text ("Set up and install libraries") is different from actual section name text ("Set up").

os.system('touch {}'.format(temp_file))

This is Linux/Mac dependend. On Windows "touch" command doesn't exist.

[ Optional ]
s3_resource = boto3.resource('s3')

"s3_resource" is not used after this line.
forecastquery = session.client(service_name='forecastquery') #Amazon Forecast Query api session

"forecastquery" is not used after this line.

delete_predictor_backtest_export_job() is missing in this notebook.

# copy concatted local .csv file back to S3
!aws s3 cp $temp_file $to_file_accuracies

This code is copying "bike_backtest_forecasts.csv" as "bike_backtest_accuracies.csv".
"to_file_accuracies" should be "to_file_forecasts".
$to_file_accuracies

I am not sure why, but in my environment, following line fails.
df = pd.read_csv(to_file_forecasts)

with following error:
---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-50-a199f0580ced> in <module>
      1 ## READ THE FORECASTS FILE
      2
----> 3 df = pd.read_csv(to_file_forecasts)
      4
      5 # correct data types

c:\python37-64\lib\site-packages\pandas\io\parsers.py in read_csv(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, dialect, error_bad_lines, warn_bad_lines, delim_whitespace, low_memory, memory_map, float_precision)
    686     )
    687
--> 688     return _read(filepath_or_buffer, kwds)
    689
    690

c:\python37-64\lib\site-packages\pandas\io\parsers.py in _read(filepath_or_buffer, kwds)
    435     # See https://github.com/python/mypy/issues/1297
    436     fp_or_buf, _, compression, should_close = get_filepath_or_buffer(
--> 437         filepath_or_buffer, encoding, compression
    438     )
    439     kwds["compression"] = compression

c:\python37-64\lib\site-packages\pandas\io\common.py in get_filepath_or_buffer(filepath_or_buffer, encoding, compression, mode, storage_options)
    220         try:
    221             file_obj = fsspec.open(
--> 222                 filepath_or_buffer, mode=mode or "rb", **(storage_options or {})
    223             ).open()
    224         # GH 34626 Reads from Public Buckets without Credentials needs anon=True

c:\python37-64\lib\site-packages\fsspec\core.py in open(self)
    132         been deleted; but a with-context is better style.
    133         """
--> 134         out = self.__enter__()
    135         closer = out.close
    136         fobjects = self.fobjects.copy()[:-1]

c:\python37-64\lib\site-packages\fsspec\core.py in __enter__(self)
    100         mode = self.mode.replace("t", "").replace("b", "") + "b"
    101
--> 102         f = self.fs.open(self.path, mode=mode)
    103
    104         self.fobjects = [f]

c:\python37-64\lib\site-packages\fsspec\spec.py in open(self, path, mode, block_size, cache_options, **kwargs)
    901                 autocommit=ac,
    902                 cache_options=cache_options,
--> 903                 **kwargs
    904             )
    905             if not ac:

c:\python37-64\lib\site-packages\s3fs\core.py in _open(self, path, mode, block_size, acl, version_id, fill_cache, cache_type, autocommit, requester_pays, **kwargs)
    313                       version_id=version_id, fill_cache=fill_cache,
    314                       s3_additional_kwargs=kw, cache_type=cache_type,
--> 315                       autocommit=autocommit, requester_pays=requester_pays)
    316
    317     def _lsdir(self, path, refresh=False, max_items=None):

c:\python37-64\lib\site-packages\s3fs\core.py in __init__(self, s3, path, mode, block_size, acl, version_id, fill_cache, s3_additional_kwargs, autocommit, cache_type, requester_pays)
    955         self.req_kw = {'RequestPayer': 'requester'} if requester_pays else {}
    956         super().__init__(s3, path, mode, block_size, autocommit=autocommit,
--> 957                          cache_type=cache_type)
    958         self.s3 = self.fs  # compatibility
    959         if self.writable():

c:\python37-64\lib\site-packages\fsspec\spec.py in __init__(self, fs, path, mode, block_size, autocommit, cache_type, cache_options, **kwargs)
   1222         if mode == "rb":
   1223             if not hasattr(self, "details"):
-> 1224                 self.details = fs.info(path)
   1225             self.size = self.details["size"]
   1226             self.cache = caches[cache_type](

c:\python37-64\lib\site-packages\s3fs\core.py in info(self, path, version_id)
    484             except ParamValidationError as e:
    485                 raise ValueError('Failed to head path %r: %s' % (path, e))
--> 486         return super().info(path)
    487
    488     def isdir(self, path):

c:\python37-64\lib\site-packages\fsspec\spec.py in info(self, path, **kwargs)
    589             return {"name": path, "size": 0, "type": "directory"}
    590         else:
--> 591             raise FileNotFoundError(path)
    592
    593     def checksum(self, path):

FileNotFoundError: shimomut-forecast-notebook/bike_share_open_data/demo/bike_backtest_forecasts.csv

Not sure if loading pandas DataFrame from S3 is stable. Why don't we load the data directly from local files without uploading onto S3?

On my environment, "axx = axs.ravel()" fails with following error:
AttributeError: 'AxesSubplot' object has no attribute 'ravel'

Does this API exist on your environment?
I checked the document of matplotlib, but I cannot find such a method:
https://matplotlib.org/3.1.0/api/axes_api.html#matplotlib.axes.Axes

Fixed.  I was missing “s3://” in the to_file name.
From: Tomonori Shimomura<EMAIL_ADDRESS>Reply-To: aws-samples/amazon-forecast-samples<EMAIL_ADDRESS>Date: Tuesday, November 24, 2020 at 12:29 AM
To: aws-samples/amazon-forecast-samples<EMAIL_ADDRESS>Cc: "Bergman, Christy"<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [aws-samples/amazon-forecast-samples] Microscope (#96)
I am not sure why, but in my environment, following line fails.
df = pd.read_csv(to_file_forecasts)
with following error:

FileNotFoundError                         Traceback (most recent call last)
 in
  1 ## READ THE FORECASTS FILE

  2

----> 3 df = pd.read_csv(to_file_forecasts)
  4

  5 # correct data types

c:\python37-64\lib\site-packages\pandas\io\parsers.py in read_csv(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, dialect, error_bad_lines, warn_bad_lines, delim_whitespace, low_memory, memory_map, float_precision)
686     )

687

--> 688     return _read(filepath_or_buffer, kwds)
689

690

c:\python37-64\lib\site-packages\pandas\io\parsers.py in _read(filepath_or_buffer, kwds)
435     # See https://github.com/python/mypy/issues/1297

436     fp_or_buf, _, compression, should_close = get_filepath_or_buffer(

--> 437         filepath_or_buffer, encoding, compression
438     )

439     kwds["compression"] = compression

c:\python37-64\lib\site-packages\pandas\io\common.py in get_filepath_or_buffer(filepath_or_buffer, encoding, compression, mode, storage_options)
220         try:

221             file_obj = fsspec.open(

--> 222                 filepath_or_buffer, mode=mode or "rb", **(storage_options or {})
223             ).open()

224         # GH 34626 Reads from Public Buckets without Credentials needs anon=True

c:\python37-64\lib\site-packages\fsspec\core.py in open(self)
132         been deleted; but a with-context is better style.

133         """

--> 134         out = self.enter()
135         closer = out.close

136         fobjects = self.fobjects.copy()[:-1]

c:\python37-64\lib\site-packages\fsspec\core.py in enter(self)
100         mode = self.mode.replace("t", "").replace("b", "") + "b"

101

--> 102         f = self.fs.open(self.path, mode=mode)
103

104         self.fobjects = [f]

c:\python37-64\lib\site-packages\fsspec\spec.py in open(self, path, mode, block_size, cache_options, **kwargs)
901                 autocommit=ac,

902                 cache_options=cache_options,

--> 903                 **kwargs
904             )

905             if not ac:

c:\python37-64\lib\site-packages\s3fs\core.py in _open(self, path, mode, block_size, acl, version_id, fill_cache, cache_type, autocommit, requester_pays, **kwargs)
313                       version_id=version_id, fill_cache=fill_cache,

314                       s3_additional_kwargs=kw, cache_type=cache_type,

--> 315                       autocommit=autocommit, requester_pays=requester_pays)
316

317     def _lsdir(self, path, refresh=False, max_items=None):

c:\python37-64\lib\site-packages\s3fs\core.py in init(self, s3, path, mode, block_size, acl, version_id, fill_cache, s3_additional_kwargs, autocommit, cache_type, requester_pays)
955         self.req_kw = {'RequestPayer': 'requester'} if requester_pays else {}

956         super().__init__(s3, path, mode, block_size, autocommit=autocommit,

--> 957                          cache_type=cache_type)
958         self.s3 = self.fs  # compatibility

959         if self.writable():

c:\python37-64\lib\site-packages\fsspec\spec.py in init(self, fs, path, mode, block_size, autocommit, cache_type, cache_options, **kwargs)
1222         if mode == "rb":
1223             if not hasattr(self, "details"):
-> 1224                 self.details = fs.info(path)
1225             self.size = self.details["size"]
1226             self.cache = caches[cache_type](
c:\python37-64\lib\site-packages\s3fs\core.py in info(self, path, version_id)
484             except ParamValidationError as e:

485                 raise ValueError('Failed to head path %r: %s' % (path, e))

--> 486         return super().info(path)
487

488     def isdir(self, path):

c:\python37-64\lib\site-packages\fsspec\spec.py in info(self, path, **kwargs)
589             return {"name": path, "size": 0, "type": "directory"}

590         else:

--> 591             raise FileNotFoundError(path)
592

593     def checksum(self, path):

FileNotFoundError: shimomut-forecast-notebook/bike_share_open_data/demo/bike_backtest_forecasts.csv
Not sure if loading pandas DataFrame from S3 is stable. Why don't we load the data directly from local files without uploading onto S3?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/aws-samples/amazon-forecast-samples/pull/96#issuecomment-732738748, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAAXFRUUZKQJYJ3TNASH2E3SRNVENANCNFSM4UANFW7Q.

Fixed
From: Tomonori Shimomura<EMAIL_ADDRESS>Reply-To: aws-samples/amazon-forecast-samples<EMAIL_ADDRESS>Date: Monday, November 23, 2020 at 11:07 PM
To: aws-samples/amazon-forecast-samples<EMAIL_ADDRESS>Cc: "Bergman, Christy"<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [aws-samples/amazon-forecast-samples] Microscope (#96)
os.system('touch {}'.format(temp_file))
This is Linux/Mac dependend. On Windows "touch" command doesn't exist.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/aws-samples/amazon-forecast-samples/pull/96#issuecomment-732688434, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAAXFRTA6REXNCI63NG7W4TSRNLNDANCNFSM4UANFW7Q.


feature collection and feature aggregation

Introduction中的feature collection是否翻译为”特征提取“更佳？特征聚合这个概念容易与feature aggregation混淆

Good point! You can start a PR if you like! @Ningsir

ok

@lausannel  please fix this issue in your pr #82


Generate JSON Schemas from individual classes

This is doable using http://wiki.fasterxml.com/JacksonJsonSchemaGeneration
Note this should probably be a separate sub-project as this functionality is not needed at runtime.

This is out of scope for this tracker. However, we're looking into it as a separate project, which is on our roadmap.


vaughnlive plugin problem

mnv-{domain}{channel} change again! What http://mvn.vaughnsoft.net/video/edge/?-{domain}{channel} actual now?
(Он снова поменялся! Какой http://mvn.vaughnsoft.net/video/edge/?-{domain}{channel} актуален теперь?)
Is there any way to track change this option (mnv-{domain}{channel}) at the vaughnsoft.net / vaughnlive.tv ?
(Есть какой-нибудь способ отслеживать изменение этого параметра(mnv-{domain}{channel}) на самом сайте vaughnsoft.net / vaughnlive.tv ?)
P.S: Sorry for my not so good english

Mnv still vorks for me. Maybe you can try https://github.com/intact/livestreamer/blob/fix-vaughn/src/livestreamer/plugins/vaughnlive.py

it works =) I'm probably somewhere an error in the script allowed. However, I still would like to know for the future, how to keep track of changes in the mnv, mvn.. etc?

You can use developer tools in browser (eg. press F12 in Chrome, switch to Network tab, set filter to edge and reload vaughn page) or you can decompile VaughnSoftPlayer.swf.

thx

It doesn't work for me for vaughnlive, I get
C:\WINDOWS\system32>livestreamer http://vaughnlive.tv/dollabillzza best
[cli][info] Found matching plugin vaughnlive for URL http://vaughnlive.tv/dollabillzza
error: Unable to validate response text: Minimum length is 2 but value is 1

Works for me:
$ livestreamer http://vaughnlive.tv/dollabillzza best
[cli][info] Found matching plugin vaughnlive for URL http://vaughnlive.tv/dollabillzza
[cli][info] Available streams: live (worst, best)
[cli][info] Opening stream: live (rtmp)
[cli][info] Starting player: ffplay

.... any idea how it can work for me, I ran clean install but it doesn't work at all.  I can stream vaughnlive in my browser but not through live streamer.

I updated vaughnlive.py from github.com.  But I get the same error too.
D:\Files\livestreamer-v1.12.2-120-gab80dbd>livestreamer.exe http://vaughnlive.tv/thedogpound
[cli][info] Found matching plugin vaughnlive - Copy for URL http://vaughnlive.tv/thedogpound
error: Unable to validate response text: Minimum length is 2 but value is 1

@jewshawn2 try https://github.com/intact/livestreamer/blob/fix-vaughn/src/livestreamer/plugins/vaughnlive.py

.... any idea how it can work for me, I ran clean install but it doesn't work at all.

@Rocksteady18
You don't need to run a reinstall. Simply download the updated vaughnlive plugin (vaughnlive.py) and copy it into your plugins directory.
livestreamer "http://vaughnlive.tv/thedogpound" best
[cli][info] Found matching plugin vaughnlive for URL http://vaughnlive.tv/thedogpound
[cli][info] Available streams: live (worst, best)
[cli][info] Opening stream: live (rtmp)

For some reason the file provided here stopped working for me today, this is the message I'm getting:
livestreamer vaughnlive.tv/chrisdave live
[cli][info] Found matching plugin vaughnlive for URL vaughnlive.tv/chrisdave
error: Unable to validate response text: Minimum length is 3 but value is 1

Anybody else having this issue?

@EFEVE Try new version

@intact Works like a charm, thank you very much!

Looks like it stopped working once again. Getting the same mistake from previous post.

@EFEVE  try new version :)

@intact It's working! Once again, thanks for the great job.

Stopped working again, I'm afraid. Same mistake as https://github.com/chrippa/livestreamer/issues/1379#issuecomment-239333592

@EFEVE try new version

@intact Once again, much appreciated.

Error from https://github.com/chrippa/livestreamer/issues/1379#issuecomment-239333592 came back today.

Try new version

@intact Thank you very much, I really appreciate it!

Dead again, apparently. Same error: #1379

Fixed in new version

@intact Thank you very much for your help!

I was about to ask for a fix over here, but I already saw your reply https://github.com/streamlink/streamlink/pull/693 , so thanks a lot!

Changed again:
INFO_URL = "http://mvn.vaughnsoft.net/video/edge/soon__depricated_Q2_2017-{domain}{channel}-0?{version}{ms}-{ms}-{random}"


How can I render a tile from a .pbf or .osm file (OSM) ?

I need to render the tiles of the OSM map for Switzerland for offline use on demand in IIS.
I'm using the pbf for monaco, because it's a lot smaller, for testing.
I figured simple code to do that with MapsUI looks appx. somthing along the lines of this
            Mapsui.Map map = CreateMap();

            var mr = new Mapsui.Rendering.Skia.MapRenderer();

            using (System.IO.MemoryStream ms = mr.RenderToBitmapStream(viewport, map.Layers, map.BackColor))
            {
                byte[] bytes = ms.ToArray();
                System.IO.File.WriteAllBytes("GuessFileFormat.png", bytes);
            }

However, I cannot figure out how to load the contents of monaco-latest.osm.pbf into a MemoryProvider.
There is a sample that produces GeoJSON, and a sample that reads a pbf.
I get a NetTopologySuite.Features.FeatureCollection and I somehow need IEnumerable<Mapsui.Providers.IFeature> for the memory provider.
This is the test-code i have:
https://github.com/ststeiger/OsmTilePrerenderer/blob/master/OsmTilePrerenderer/Program.cs

using OsmSharp;
using OsmSharp.Streams;
using OsmSharp.Geo; // for ToFeatureSource

using NetTopologySuite.Features;
using NetTopologySuite.Geometries;

using System.Linq;

namespace OsmTilePrerenderer
{

    class Program
    {

        // https://github.com/AliFlux/VectorTileRenderer
        static void Main(string[] args)
        {
            ReadGeometryStream();
            System.Console.WriteLine("Hello World!");

            var viewport = new Mapsui.Viewport
            {
                Center = new Mapsui.Geometries.Point(0, 0),
                Width = 600,
                Height = 400,
                Resolution = 63000
            };

            Mapsui.Map map = CreateMap();

            var mr = new Mapsui.Rendering.Skia.MapRenderer();
            using (System.IO.MemoryStream ms = mr.RenderToBitmapStream(viewport, map.Layers, map.BackColor))
            {
                byte[] bytes = ms.ToArray();
                System.IO.File.WriteAllBytes("GuessFileFormat.png", bytes);
            }

        }

        private static Mapsui.Layers.MemoryLayer CreatePointLayer()
        {
            var random = new System.Random();
            var features = new Mapsui.Providers.Features();
            for (var i = 0; i < 100; i++)
            {
                var feature = new Mapsui.Providers.Feature
                {
                    Geometry = new Mapsui.Geometries.Point(random.Next(100000, 5000000), random.Next(100000, 5000000))
                };
                features.Add(feature);
            }

            var provider = new Mapsui.Providers.MemoryProvider(features);

            return new Mapsui.Layers.MemoryLayer { DataSource = provider };
        }

        // D:\Stefan.Steiger\Documents\Visual Studio 2017\Projects\Mapsui\Tests\Mapsui.Rendering.Xaml.Tests\MapRendererTests.cs

        public static void foo()
        {
            OsmStreamSource source = null;

            var merger = new OsmSharp.Streams.Filters.OsmStreamFilterMerge();
            merger.RegisterSource(source);
        }

        public static Mapsui.Map CreateMap()
        {
            var map = new Mapsui.Map
            {
                BackColor = Mapsui.Styles.Color.Transparent,
                Home = n => n.NavigateTo(new Mapsui.Geometries.Point(0, 0), 63000)
            };

            // OsmStreamSource source = null;
            // OsmSharp.Geo.Streams.IFeatureStreamSource features = null;
            // System.Collections.Generic.List<IFeature> features = null; ;
            FeatureCollection features = new FeatureCollection();

            Mapsui.Providers.IProvider source = null; // new Mapsui.Providers.MemoryProvider(features);

            Mapsui.Layers.ILayer layer = new Mapsui.Layers.MemoryLayer
            {
                Style = null,
                DataSource = source,
                Name = "Line"
            };

            map.Layers.Add(layer);
            return map;
        }

        static void ReadXmlStream()
        {
            string fileName = @"D:\username\Documents\Visual Studio 2017\Projects\OsmTilePrerenderer\OsmTilePrerenderer\Data\monaco-latest.osm.pbf";

            using (System.IO.FileStream fileStream = System.IO.File.OpenRead(fileName))
            {
                var target = new XmlOsmStreamTarget(fileStream);

                // var filtered = target.FilterSpatial(polygon, true);
                // target.RegisterSource(filtered);

                target.Pull();
            }

        }

        static void ReadGeometryStream()
        {
            // let's show you what's going on.
            OsmSharp.Logging.Logger.LogAction = (origin, level, message, parameters) =>
            {
                System.Console.WriteLine(string.Format("[{0}] {1} - {2}", origin, level, message));
            };

            // Download.ToFile("http://files.itinero.tech/data/OSM/planet/europe/luxembourg-latest.osm.pbf", "luxembourg-latest.osm.pbf").Wait();

            using (System.IO.FileStream fileStream = System.IO.File.OpenRead(@"D:\username\Documents\Visual Studio 2017\Projects\OsmTilePrerenderer\OsmTilePrerenderer\Data\monaco-latest.osm.pbf"))
            {
                // create source stream.
                OsmStreamSource source = new PBFOsmStreamSource(fileStream);

                // show progress.
                OsmStreamSource progress = source.ShowProgress();

                // filter all powerlines and keep all nodes.
                System.Collections.Generic.IEnumerable<OsmGeo> filtered =
                    from osmGeo in progress
                    where osmGeo.Type == OsmSharp.OsmGeoType.Node ||
                            (osmGeo.Type == OsmSharp.OsmGeoType.Way && osmGeo.Tags != null && osmGeo.Tags.Contains("power", "line"))
                    select osmGeo;

                // convert to a feature stream.
                // WARNING: nodes that are partof powerlines will be kept in-memory.
                //          it's important to filter only the objects you need **before**
                //          you convert to a feature stream otherwise all objects will
                //          be kept in-memory.
                OsmSharp.Geo.Streams.IFeatureStreamSource features = filtered.ToFeatureSource();

                // filter out only linestrings.
                System.Collections.Generic.IEnumerable<IFeature> lineStrings = from feature in features
                                  where feature.Geometry is LineString
                                  select feature;

                // build feature collection.
                FeatureCollection featureCollection = new FeatureCollection();
                foreach (IFeature feature in lineStrings)
                {
                    featureCollection.Add(feature);
                }

                // convert to geojson.
                string json = ToJson(featureCollection);

                // var st = new Mapsui.Providers.MemoryProvider(json);
                System.IO.File.WriteAllText("output.geojson", json);
            }
        }

        private static string ToJson(FeatureCollection featureCollection)
        {
            Newtonsoft.Json.JsonSerializer jsonSerializer = NetTopologySuite.IO.GeoJsonSerializer.Create();
            System.IO.TextWriter jsonStream = new System.IO.StringWriter();
            jsonSerializer.Serialize(jsonStream, featureCollection);
            string json = jsonStream.ToInvariantString();
            return json;
        }

    }

}

@charlenni: I know that this are only the lines (as i said:  along the lines of this).
Yes, the map.
There's some old code for that in Itinero, but it uses OsmSharp.UI, and that in turn relies on OsmSharp.Osm, which does not work with the current version of OsmSharp.
It seems it has either been forked and diverged, or discarded. Or both.

OsmSharp.UI has been discontinued because building a rendering library for OSM data was a bit too much for the project to handle let alone maintain. I would be better fit for mapsui.
Feel free to reuse anything you can still find there but I wouldn't recommend using it in anything but experiments.
The current OsmSharp just focuses on processing and reading/writing OSM data.

@xivk: So it has been discontinued in OsmSharp, but with no replacement ins Mapsui.
Thanks for the info.
Now this is really messed up.
I'd have taken libmapnick in the first place, but there is no support for libmapnick binaries for mapnick 3 or libmapnick 3 on windows.
Looks like there is no other choice but to pre-render that 53GB on Linux and deploy the result to a windows machine in a separate application.

@xivk Do you have an idea what should be done to support this in Mapsui? Which libraries te use?

@pauldendulk: In all C# rendering projects, I either see SkiaSharp or WPF.
For pure .NET, you could use SixLabors.ImageSharp.
SixLabors also has font-rendering capabilities, though I don't know how well they support right-to-left fonts, etc.
It would probably work for western europe & the americas.

@ststeiger I assume, that Paul talks about libraries to draw vector map data, not a library to use for drawing. There Mapsui uses Skia, one of the fastes library, which could be used on many different platforms (Windows, Android, iOS, Mac and so on).
@xivk I made such a thing for MapboxGL style files and Mapbox vector data (see here). I transfered them from the native vector data to Mapsui features with style from the MapboxGL style file. This features than are added to a normal layer. Got it up to 3 fps. Problem of MapboxGL style is, that the style could change with the zoom factor. Not only with integers, but with float zoom level too. So much time is wasted with getting the right style for the feature (checking for the filters with tags from feature). And I stopped, when I get to the labels. As I mentioned, this isn't an easy job.
Now I do a redesign of this part. I think, the Mapsui feature approach isn't fast enough. So I use the SKPicture from Skia and create the tile recording the drawing commands. There are some advantages:

Like Mapsui features, SKPicture is a vector image. So it draws always with very good quality. But it could be transfered to a PNG or JPG very easy.
Coordinates from the vector data (here integers between 0 and 4095) could be used directly. So no translation into Mapsui coordinates and, when drawing, back again takes place.
Filters are only calculated once when the feature is loaded.
Constant values for paintig (color, stroke width and so on) are precalculated when loading the tile.
Zoom dependent values for painting are calculated in the moment, when the picture is drawn to a canvas. This could be made, because Skia knows the SKDrawable object, which determins its style in the moment of drawing.

It should be designed in a way, that it could not only handle MapboxGL styles and Mapbox vector data, but others too, like Mapsforge and its style file format.
For the labels there are some articles in literature. There is even a implementation in C#: MapSurfer.NET (see here), but it isn't open source.
So, it should be possible to visualize vector map data in C#, but there isn't any library up to now.

I remember in OsmSharp.UI that I calculated everything that had to with the styling once per 'feature' and the styling was not done every frame but only once when the data was loaded or zoom level changed and crossed a boundary where the style also changes.

Also in OsmSharp.UI I was alone in working on most of this, mapsui seems to have a good core of contributors, perhaps it will be easier to maintain things.

I remember in OsmSharp.UI that I calculated everything that had to with the styling once per 'feature' and the styling was not done every frame but only once when the data was loaded or zoom level changed and crossed a boundary where the style also changes.

Yes, thats the correct way. But be carefull, sometimes one feature has different styles. So you have to add the feature twice or more, because the order, in which the features with special styles are drawn, is important.

Also in OsmSharp.UI I was alone in working on most of this, mapsui seems to have a good core of contributors, perhaps it will be easier to maintain things.

No, I assume not. Most come and want a special function or want to mention, that their app don't work as expected. Than they want help. Even if they have full access to the complete source code. I assume, that this is the case in most small projects as OsmSharp or Mapsui.

Yes, I would like to know what you would use to read the .pbf or .osm. Translating that to Mapsui.Geometries with a default style might be relatively easy. Getting proper styles and good performance will be hard.

@pauldendulk: OsmSharp and OsmSharp.IO.Binary are pretty much the only thing in C# for that.
ButTile for MbTiles.
There are examples in how to do that in the source code.

Translating OSM data into renderable data is non-trivial when doing for example country boundaries or coastlines but for most data using OsmSharp should be sufficient. OsmSharp.IO.Binary is a custom format osm.bin, reading/writing osm.pbf is supported in OsmSharp itself.
The osm.bin format supports read/writing incomplete OSM objects without changeset, user information or with negative IDs, it's not recommended for general use, just use osm.pbf.

@ststeiger How do you need BruTile if you translater to vector? Store it as vector tiles?

I am glad you found a solution.
If we ever what to render sm.pbf's we should not render then directly to canvas but instead translate them to vectors and styling and render it in the regular way. There may be performance issues with a such a solution but we should fix those issues to make Mapsui more performant in general.

@pauldendulk:
May I propose - render them to svg - this is vectors.
Then you can just add a css stylesheet - problem with styling solved as well.
If you need raster graphics, then it can be rendered with any program/library capable of rendering svgs, such as libwkhtml2X.
Alternatively, with a WPF/WinForms/iOS/Android svg-display-control, or an embedded svg-capable-web-browser control.

Mapsui uses SkiaSharp which has itself support to render svg. However, it will still need to translate the svg to native skia features. So for performance we will probably keep a cached skia native feature, like SKPicture.


Likely race condition in FileTraceWriter

A user on Azure Functions doing a high throughput event hubs scenario reported they often see an exception with the following trace:
System.ArgumentOutOfRangeException: Index and count must refer to a location within the buffer. Parameter name: chars at
System.Text.EncoderNLS.GetBytes(Char[] chars, Int32 charIndex, Int32
 charCount, Byte[] bytes, Int32 byteIndex, Boolean flush) at
System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder) at
System.IO.StreamWriter.Flush() at
Microsoft.Azure.WebJobs.Host.CompositeTraceWriter.Flush() at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.<ExecuteWithLoggingAsync>d__14.MoveNext()

 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task
 task) at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.<TryExecuteAsync>d__12.MoveNext()

(original report here)
From the trace it looks likely that the problem is unsynchronized access to a StreamWriter. Considering that FileTraceWriter has the only non-trivial implementation of TraceWriter.Flush, its the most likely source of the issue.

We put a fix in place for this but in a couple of places. @brettsam this looks similar to the StringBuilder bug.

We had something similar races in the Core SDK, here:

https://github.com/Azure/azure-webjobs-sdk/pull/849.
https://github.com/Azure/azure-webjobs-sdk/pull/1043

It may come from FileTraceWriter, but it's not entirely clear:

I do see that this also has StringBuilder in the Flush path, but it's not in the stack for the error, which I would expect if it was the same bug. You also get a new StringBuilder with every call to Flush, unlike the above issues.
FileTraceWriter locks around its writing -- which is a call to File.AppendAllText. I wouldn't expect to see this come from that code.

Hi,
Are there any updates about this issue?


Create Customer Profile Web Page

As a Customer
I need to view my stored information
So that I can update it when needed
Details and Assumptions
It should be easy for the customer to view their profile information as listed in issue #3.
Acceptance Criteria
Given Customer requests access to Profile Information
When the user is authorized
Then the system should display the Profile information

Given Customer requests access to Profile Information
When the user is not authorized
Then the system should display a Not Authorized message

Completed as a part of #72.


quick fix for warnings in transforms

Can you possible make it a proper TODO comment?

Aye, ticket IDs for TODOs please, otherwise LGTM


Multitenancy: RunnerDeployment not using githubAPICredentialsFrom secret

Controller Version
0.25.2
Helm Chart Version
0.20.2
CertManager Version
1.9
Deployment Method
ArgoCD
cert-manager installation
We followed the documentation and it's working correctly.
Checks

[X] This isn't a question or user support case (For Q&A and community support, go to Discussions. It might also be a good idea to contract with any of contributors and maintainers if your business is so critical and therefore you need priority support
[X] I've read releasenotes before submitting this issue and I'm sure it's not due to any recently-introduced backward-incompatible changes
[X] My actions-runner-controller version (v0.x.y) does support the feature
[X] I've already upgraded ARC (including the CRDs, see charts/actions-runner-controller/docs/UPGRADING.md for details) to the latest and it didn't fix the issue

Resource Definitions
---
# Source: secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: organization-github-app-secret
  namespace: organization
data:
  github_app_id: ***
  github_app_installation_id: ***
  github_app_private_key: ***
---
# Source: hra.yaml
apiVersion: actions.summerwind.dev/v1alpha1
kind: HorizontalRunnerAutoscaler
metadata:
  name: organization-autoscaler
  namespace: organization
spec:
  githubAPICredentialsFrom:
    secretRef:
      name: organization-github-app-secret
  scaleDownDelaySecondsAfterScaleOut: 300
  scaleTargetRef:
    name: organization-runners
  minReplicas: 0
  maxReplicas: 5
  scaleUpTriggers:
  - githubEvent: {}
    amount: 1
    duration: 30m
---
# Source: runner_deployment.yaml
apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
  name: organization-runners
  namespace: organization
spec:
  template:
    metadata:
    spec:
      githubAPICredentialsFrom:
        secretRef:
          name: organization-github-app-secret
      ephemeral: true
      labels:
        - organization-runners
      organization: organization
      containers:
        - name: runner
          imagePullPolicy: IfNotPresent

To Reproduce
1. Install actions-runner-controller chart v0.20.2. Added a default auth secret "controller-manager" to it;
2. Deploy RunnerDeployment, HRA and Secret with App Auth in new namespace;
3. Runner can't register with GitHub.

Describe the bug
New RunnerDeployment can't register with GitHub using a new Secret with a different GitHub Auth. Controller outputs:
2022-08-10T13:49:29Z	ERROR	actions-runner-controller.runner	Failed to get new registration token	{"runner": "organization-runners-2jw7w-bbsr8", "error": "failed to create registration token: POST https://HOSTNAME/api/v3/orgs/organization/actions/runners/registration-token: 403 Resource not accessible by integration []"}

The error seems that the provided app auth don't have permission to authenticate with the organization in GitHub, however, manually generating the JWT and installation_id using the app credentials works in getting a registration token. Moreover, when creating multiple ARC deployments, the same App credentials work with GitHub.
I also found out that the generated RunnerDeployment manifest doesn't have the githubAPICredentialsFrom: key:
$ kubectl get runnerdeployment.actions.summerwind.dev/organization-runners -n organization-oyaml

apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
  creationTimestamp: "2022-08-10T13:19:16Z"
  generation: 2
  name: organization-runners
  namespace: organization
  resourceVersion: "9649260"
  uid: ab71fd50-21ea-445e-942d-764ee8d322b0
spec:
  effectiveTime: null
  replicas: 0
  selector: null
  template:
    spec:
      containers:
      - imagePullPolicy: IfNotPresent
        name: runner
        resources: {}
      dockerdContainerResources: {}
      image: ""
      labels:
      - organization-runners
      organization: organization
status:
  availableReplicas: 0
  desiredReplicas: 0
  readyReplicas: 0
  replicas: 0
  updatedReplicas: 0

Nor the kubectl describe command. I upgraded the CRDs, as the controller accepts the githubAPICredentialsFrom: field in the CRDs.
Weirder still, the HorizontalRunnerDeployment has the field in its generated manifest, as I would expect with the RunnerDeployment.
So just a theory as I just checked a little bit of the code, the RunnerDeployment/Runner is not fetching the secret from the key githubAPICredentialsFrom: but the original one deployed with the controller. (Now that I'm thinking more this shouldn't work as the secret and Runner are in different namespaces).
Describe the expected behavior
The RunnerDeployment/Runner should fetch the secret from githubAPICredentialsFrom: and register the token successfully.
Controller Logs
https://gist.github.com/Jalmeida1994/8c4e1ffca0bdef112f4b1dbfb70831f8

Runner Pod Logs
N/A

Additional Context
Really sorry if this is stupidity from me ahah.
I've been stuck for a couple of hours checking this, and I still haven't found the solution.
Thanks for such an awesome job everyone. Cheers!

@Jalmeida1994 Perhaps our chart is a bit head of the controller release? ARC supports githubAPICredentialsFrom since 0.26.0 and it has not been released yet!

Oh no! I didn't even noticed it ahah.
Thanks for the support!

@Jalmeida1994 Thanks for confirming! We publish the canary image tag for testing the edge version of ARC build/published for each commit to our main branch. Probably you can use it along with the latest chart to test the multinantecy out https://github.com/actions-runner-controller/actions-runner-controller/pull/1371#issuecomment-1210057401

Sure I'll do that! Thank you so much!
Oh why didn't I open my eyes earlier ahah, it clearly states controller v0.26 (I don't know why I had v0.25 on my mind).

Again, thanks for the feedback and awesome project!


Add ESLint config to suppress no-unused-vars rule for variables with leading underscore

argsIgnorePattern - https://eslint.org/docs/latest/rules/no-unused-vars#argsignorepattern - should work fine.
destructuredArrayIgnorePattern - https://eslint.org/docs/latest/rules/no-unused-vars#destructuredarrayignorepattern

Had issues on laptop (Windows + WSL) - still reported a warning from the eslint no-unused-vars rule directly, not the @typescript-eslint wrapper (which is what warned for arguments)
Test case (should not warn for _b if rule is properly suppressed):

const [a, _b, c] = ["a", "b", "c"];
console.log(a+c);

@typescript-eslint wrapper docs
@typescript-eslint should turn off regular eslint rule, per docs and source code
Might be something with ESLint plugin and/or VS Code general configuration?

Guide of what to add:
rules: {
    // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs
    // e.g. "@typescript-eslint/explicit-function-return-type": "off",
    "prettier/prettier": "warn",
    "@typescript-eslint/no-unused-vars": [
      "warn",
      {
        argsIgnorePattern: "^_",
        destructuredArrayIgnorePattern: "^_",
      },
    ],
  },


Fix the flakiness of the nightly tests

Some tests seem to be failing when run on different machines. The idea is to run the entire battery of nightly tests using the drone-mimicking docker on developer machines, report which tests fail and analyze the root cause.

Flaky test #1 - bond_its.sh
Logs and console output attached.
logs_bond_its.sh.zip

For "Flaky test #7 - itst01.sh, I believe I have a fix for this issue as part of #3889 - specifically this commit.

For bash: N/A: division by 0 (error token is "A") during upgrade scenario 6, it calls await_n_blocks '1' 'true' '2' which ends up here:
CURRENT=$(get_chain_height "$NODE_ID")

Turns out that if this is called when node 2 is down for upgrade, it causes CURRENT to be set to "N/A" via get_chain_height here.
The next line in await_n_blocks is
FUTURE=$((CURRENT + OFFSET))

and the $(()) causes "N/A" to be evaluated as a maths expression, triggering the div by 0 error.

There is an issue in function check_network_sync() in NCTL. Sometimes, for all equal LFBs it reports that LFBs are not equal.
2023-05-08T09:22:50.513524 [INFO] [24806] NCTL :: STEP 12: checking nodes' 1 to 5 LFBs are in sync
2023-05-08T09:22:50.768623 [INFO] [24806] NCTL :: got LFB of node 1 - 7f75e54750d1f52311b6a30dbe0bfa390ed12da5d6aa601f94606aa62b480410[0]
2023-05-08T09:22:51.052666 [INFO] [24806] NCTL :: got LFB of node 2 - 7f75e54750d1f52311b6a30dbe0bfa390ed12da5d6aa601f94606aa62b480410[1]
2023-05-08T09:22:51.325596 [INFO] [24806] NCTL :: got LFB of node 3 - 7f75e54750d1f52311b6a30dbe0bfa390ed12da5d6aa601f94606aa62b480410[2]
2023-05-08T09:22:51.622322 [INFO] [24806] NCTL :: got LFB of node 4 - 7f75e54750d1f52311b6a30dbe0bfa390ed12da5d6aa601f94606aa62b480410[3]
2023-05-08T09:22:51.906834 [INFO] [24806] NCTL :: got LFB of node 5 - 7f75e54750d1f52311b6a30dbe0bfa390ed12da5d6aa601f94606aa62b480410[4]
2023-05-08T09:22:51.908166 [INFO] [24806] NCTL :: not all LFBs equal, will try again
2023-05-08T09:22:53.168508 [INFO] [24806] NCTL :: got LFB of node 1 - 71bb07b0bbf6990fd6bd2d196977b9f3d3d902fee9ee12d9a757290e88ca7d82[0]
2023-05-08T09:22:53.434688 [INFO] [24806] NCTL :: got LFB of node 2 - 71bb07b0bbf6990fd6bd2d196977b9f3d3d902fee9ee12d9a757290e88ca7d82[1]
2023-05-08T09:22:53.686667 [INFO] [24806] NCTL :: got LFB of node 3 - 71bb07b0bbf6990fd6bd2d196977b9f3d3d902fee9ee12d9a757290e88ca7d82[2]
2023-05-08T09:22:53.951033 [INFO] [24806] NCTL :: got LFB of node 4 - 71bb07b0bbf6990fd6bd2d196977b9f3d3d902fee9ee12d9a757290e88ca7d82[3]
2023-05-08T09:22:54.242665 [INFO] [24806] NCTL :: got LFB of node 5 - 71bb07b0bbf6990fd6bd2d196977b9f3d3d902fee9ee12d9a757290e88ca7d82[4]
2023-05-08T09:22:54.243930 [INFO] [24806] NCTL :: nodes 1 to 5 in sync, proceeding...


Do percolator instead! checkbox to filter all results for 1% local FDR

individual modification types and total modification count

Try to consider the number of modifications as a factor in the future implementation of percolator. Once that is done, the local FDRs should be indistiguishable, FDR should not be a function of anything.

Duplicate https://github.com/smith-chem-wisc/MetaMorpheus/issues/31


Use union to bitcast int to float

This fixes GCC's strict-aliasing warning when building basisu with gcc
9.3 in release:
/mnt/c/work/basis_universal/encoder/cppspmd_sse.h: In function ‘float cppspmd_sse41::extractf_ps_x(const __m128&)’:
/mnt/c/work/basis_universal/encoder/cppspmd_sse.h:219:98: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
  219 | CPPSPMD_FORCE_INLINE float extractf_ps_x(const __m128& vec) { int v = extract_ps_x(vec); return *(const float*)&v; }
      |                                                                                ^~~~~~~~~~~~~~~~

While technically union bitcast still violates strict aliasing,
both clang and gcc support this as an unofficial extension.

@richgel999 Let me know if this needs any revisions to be considered for merging


New ci

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@91b4376). Click here to learn what that means.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             master       #68   +/-   ##
==========================================
  Coverage          ?   100.00%
==========================================
  Files             ?         8
  Lines             ?       264
  Branches          ?        47
==========================================
  Hits              ?       264
  Misses            ?         0
  Partials          ?         0

Impacted Files
Coverage Δ

src/OpenApiValidator.ts
100.00% <100.00%> (ø)

src/ValidationError.ts
100.00% <100.00%> (ø)

src/debug.ts
100.00% <100.00%> (ø)

src/formats.ts
100.00% <100.00%> (ø)

src/parameters.ts
100.00% <100.00%> (ø)

src/schema-utils.ts
100.00% <100.00%> (ø)

test/integration/app.ts
100.00% <100.00%> (ø)

test/open-api-document.ts
100.00% <100.00%> (ø)

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 91b4376...7e416b6. Read the comment docs.


Instructions for adding to purge to update

Hi,
I think this module is really great!
You forgot the purge parameter in the instructions: see documentation.
This solved my issue.

What exactly was your issue here?

I proposed #7 to fix this issue.

Thanks fixed!


CommonJS or ESM for paymaster?

Look into using commonjs or ESM for paymaster module.

Currently it's using commonjs but ESM seems to be the future, so would be nice to use that, but from experience it sometimes causes gnarly issues.

Apparently Bun supports boht seamlessly at the same time, so that's also an avenue we could explore.


[#103325898] Strip whitespace from submitted form values

This pull request adds a whitespace-stripping WTF Field that we can use instead of a string field, and it strips surrounding whitespace from input submitted through our content-built forms.
>> Story in Pivotal

Content Builder Data
ImmutableMultiDicts can be converted into a regular dict (with duplicate keys), as well as created from them.
So I've written a leading/trailing whitespace-stripping function to recursively strip() all values of a dict, ( or list or tuple, or str).  Not sure if this is the best solution, but it looks cool.
It addresses the problem of suppliers in their declaration copy+pasting emails with surrounding whitespace that then fail to validate with an unhelpful error message, as pointed out by @quis.
WTF Field
Most of the explanation I've just cribbed from my other open pull request in the supplier app.
I've subclassed the WTF StringField class with one that preprocesses all user-inputted values.  Specifically, all submitted values will be stripped of leading and trailing whitespace.
What happens if I'm trying to login with my valid email and password:

Submitted values
Processed values
Result

<EMAIL_ADDRESS>'password'
<EMAIL_ADDRESS>'password'
:white_check_mark:

'<EMAIL_ADDRESS>', 'password'
<EMAIL_ADDRESS>'password'
:white_check_mark:

<EMAIL_ADDRESS>' password '
<EMAIL_ADDRESS>' password '
:x:

'<EMAIL_ADDRESS>', ' password '
<EMAIL_ADDRESS>' password '
:x:

I couldn't think of any real reasons not to do this so I'm going to go with the majority. Code looks good :+1:

@TheDoubleK agrees with us as well.
:grinning:


no linux version

why isnt there a linux build for the app, please build the linux build and upload to releases

Thank you. I'll find a time to build, test and release. Will try by this week inshallah.


Area2D _on_body_entered() is triggered while CollisionShape2D is disabled

Godot version:

Version 3.0 64 bit for Linux
OS/device including version:

Linux Xubuntu
16.04.5 LTS
xenial
AMD Quad-Core Processor A10-8700P
Issue description:

This problem only occurs if I alter the CollisionShape2D.shape.extents after I disable the CollisionShape2D.
I've built a simple program that replicates the problem. The two relevant sections are:
func reset_area2D():
    $Area2D/CollisionShape2D.disabled = true
    $Area2D/CollisionShape2D.shape.extents = Vector2(10, 10)

func _on_Area2D_body_entered(body):
    print(body == $".."/Player, ", Disabled: ", $Area2D/CollisionShape2D.disabled)

Even when $Area2D/CollisionShape2D.disabled == true, the _on_body_entered function will run and print "True, Disabled: True"
If, however, I reorder the reset_area2D() function as:

func reset_area2D():
    $Area2D/CollisionShape2D.shape.extents = Vector2(10, 10)
    $Area2D/CollisionShape2D.disabled = true

then everything functions as normal. The _on_body_entered() signal is not triggered while the Area2D is disabled. When it is triggered, it appropriately prints "True, Disabled: False", but will not otherwise print anything. So, it's not presently causing me any trouble, but it did cause some confusion for a time. I don't see this as expected behavior, and haven't stumbled across anything in the documentation explicitly stating not to alter the extents of a collision shape after disabling it. It seems worth reporting to save some one else the headache.
Steps to reproduce:
In the below project, wait until _on_PunchDuration_timeout() is called, which will reset the collision shape. Then move the player character into the disabled enemy collision shape.
Minimal reproduction project:

Here is the simple project reproducing the issue:
collision-shape-bug-test.zip

Looks similar to #17151 and affects master 4b549fa.

Oh perfect. Much appreciated. Apologies for not finding that myself.

@devin-e is similar to the raycast case, but not solved for Area2D, so your issue is still valid.


How to use multi GPU acceleration

hi, I found that the multi GPU training feature has been updated few weeks ago。
https://github.com/OPEN-AIR-SUN/mars/blob/26669179c35f2e35c8f89bd3e9c07bf91632fa43/nerfstudio/nerfstudio/configs/experiment_config.py#L54
I simply configured the MachineConfig as:
machine=MachineConfig(num_gpus=torch.cuda.device_count()),

It does run on multiple GPUs, but the training time has not decreased.
I would like to ask how to use it correctly。

The training time depends on the training steps you set, so simply changing 1 gpu to N gpus will not decrease training time?
You can refer to the doc of Nerfstudio: https://docs.nerf.studio/quickstart/first_nerf.html#multi-gpu-training

thanks for all your reply，i will have a try！！


Waterway tunnel, not electrified railway, private highway_service and railway level_crossing

I would like to explain my choices. I choosed the same line-width and color of waterway for the waterway_tunnel_casing because it is a continuity of it. About the waterway_tunnel line-width, I decided to inspire me from your highway_primary and highway_primary_casing which have a difference of 4 at zoom level 20 :

Looks good to me.
Notice that the values for the baseand stops properties were chosen by experimenting with different settings. It may be worth to investigate the use of the other related properties and to see wether the property expressionsmentionned in the warning of the documentation are more appropriate.
https://maplibre.org/maplibre-gl-js-docs/style-spec/other/#function
Can you create another issue for that?

However, I am not sure to understand what they mean. Expressions like "stop" will vanish in the future ? And so, we should use expressions like "interpolate" or "step" instead of those who will disappear ?

I don't think they gonna disappear, but it's probably better to replace these expressions with camera expressions.
https://maplibre.org/maplibre-gl-js-docs/style-spec/expressions#camera-expressions

Ok, I was not sure. Thanks for the clarification !


function not run

this.fetchMoreData function not working,
what i wrong please help.

this.fetchMoreData function not working, what i wrong please help.

onInfiniteLoading is triggered provided that isInfiniteLoading is false, hasMore is true and you scroll up if you use displayInverse set to true or down if displayInverse is false (default).
Check out the example code provided in the README (it renders the same component you see in the GIF in the README, though in the GIF the component has also some CSS styles applied, but that's not important).

@kaialsh705 Did you solve it?

Thank you bro


Dashboard support in Kueue

What would you like to be added:
It would be great if we can have an insight about what's our queueing system looks like at real time

for administrators, it helps to understand the total resource usages in-between cluster queues and whether we should make them a cohort
for batch users, they will have an overview about the job queueing, how many jobs are pending for scheduling, how long jobs are waiting.

Overall, it's a great enhancement especially for production env.
Why is this needed:
A big enhancement and a great insight of kueue system.
Completion requirements:
This enhancement requires the following artifacts:

[x] Design doc
[ ] API change
[x] Docs update

The artifacts should be linked in subsequent comments.
Some advices here:

For administrators:

clusterQueue resource groups
clusterQueue resource utilizations
localQueues
cohorts

For users:

jobs with their status

Do you have a high level idea of how to get there?
For example, would metrics + grafana yamls be enough for the administrative side?
For end users, certainly grafana wouldn't be viable. But what could be the MVP that would keep kueue largely non-opinionated and reusable (so you can integrate it with your own UI, if you already have one). Could we offer a CLI instead?

Kueue already spits out prometheus metrics. Building a UI based on that can be useful and the UI should be optional to deploy.
I do wonder if it is more useful for us to provide general purpose grafana dashboard and make it available in https://grafana.com/grafana/dashboards/

Building on metrics is helpful I think, but the dashboard is more than that, like it will display the basic information about the system, how many queues there, what their names are, how many jobs inside the queue, it can be interactive. We can get the information via the apis directly or we can have a lightweight database inside for cache, like sqlite.
We may need some frontend volunteers if we want to finish this work. As a MVP, IMHO, I think it should include

Most of the API objects(clusterQueue, localQueue, Job, resourceFlavor, workload) at least, also including their relationships
Some exported metrics

+1000, this is a much needed experience gap, I would be happy to review proposals.
@kerthcet may be we start by looking at similar batch schedulers and see what "screens" they offer to inform and help seed what we need to build?

@ahg-g
it's a core feature which will make kueue easy to use.
A alternative would be airflow, and its UI looks like below

it contains task status, code, and audit logs which would be useful information for user to inspect their jobs.
besides, airflow integrates with idp like ldap or oidc and provides access control and permission managment features.
However, airflow doesn't provide an API to submit one-time run jobs like ml training jobs, which is the core application for kueue.

cc @B1F030 we also did some research around the popular queueing systems, I think we can provide a summary about the   essential elements in dashboard, or even a prototype. Can you help with this @B1F030 ?

Hi guys, I want to try involved in the prototyping part of the dashbaord Desgin, and provide the prototype like figma.

Thanks @samzong
We can provide a based design, and share with the community for feedbacks and then involve the developments, any concerns? @alculquicondor

Maybe we can start with a list of views you would like to have and do priority sorting

Maybe we can start with a list of views you would like to have and do priority sorting

@B1F030 is doing this.

Thanks @Sharpz7 that's helpful, and we have a general idea now, @samzong is doing the prototyping, once we've done, we'll share a google doc/figma with your guys, hope to work together.

Great, Thank you :))

/remove-lifecycle stale

Are you still following this @samzong ?

@kerthcet
Absolutely, I'm still very interested in this. The good news is that I'll have more time to contribute to open source in the coming period. I'll make sure to push this forward as soon as possible.

Hey,
there is a grafana dashboard shown in https://www.youtube.com/watch?v=B63vT2_UYE4, would you know if this is avialble for use. somewhere?

I think it might be this one https://github.com/GoogleCloudPlatform/ai-on-gke/blob/main/best-practices/gke-batch-refarch/02_platform/monitoring/deploy-dashboard.yaml
but @moficodes and @alizaidis to confirm

Yep that's the one!

Hi everyone,
As a side project to just run a demo I have contributed kueue-viz : as a kueue dashboard.
The project is availabe here: https://github.com/akram/kueue-viz
It is still very basic , but every contribution and feedback are welcome.

/reopen

@mwielgus has mentioned that this is still of interest to the Kueue project.

Thanks @akram for the work!

/reopen
let's use this issue to continue with the next steps of productazing the kueue-viz sub-project. I post some steps in the comment

/remove-lifecycle rotten


chore(tailwindcss): update default version

Heya! 👋
Update the installed version of TailwindCSS to his latest released (0.6.1).

Thanks @RomainLanz


Exhaustiveness for x == A (A is singleton class object)

Motivation

This came up at Stripe.
Test plan

See included automated tests.

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_KwPySy2jHHZ6mC
→ https://go/builds/bui_KwPyVDipGGuT5O


Request: Support --target-dir

I use --target-dir to reuse cargo intermediates as well as to manage disk space usage better. However, cargo tarpaulin always tries to use the default target directory, which breaks my workflow.

Yeah #247 covers this and more, I'll look into this and see if I can figure it out tonight

I've implemented this and tested it locally. Just waiting for the CI to finish and then I'll merge it into develop where you can use it before the next release


BUG - @sap-ux/ui5-middleware-fe-mockserver - executeAction gets called for navigation Properties

with latest version 2.1.102 (or at least >= 2.1.89) the executeAction hook gets called not only for actions but also for navigationProperties.
E.g. consider the following webapp/localService/mockdata/ServiceRequests.js:
const { getLogger } = require('@ui5/logger');

const logger = getLogger('localService:mockdata:ServiceRequests');

const unsubscribe = async (base, { ID }) => {
  const serviceRequestsInterface = await base.getEntityInterface('ServiceRequests');

  const [serviceRequest] = await serviceRequestsInterface.fetchEntries({ ID });
  serviceRequest.status_code = 'Unsubscribed';

  await serviceRequestsInterface.updateEntry({ ID }, serviceRequest);
};

module.exports = {
  // https://github.com/SAP/open-ux-odata/blob/main/docs/EntityContainerAPI.md#executeaction
  async executeAction({ name }, actionData, { ID }) {
    try {
      logger.info('Executing action: %s with action data: %j', name, actionData, { ID });

      let response = null;

      switch (name) {
        case 'unsubscribe':
          response = await unsubscribe(this.base, { ID });
          break;
        default:
          logger.warn(`Unhandled action: ${name}`);
      }

      return response;
    } catch (error) {
      const { message } = error;
      logger.error('Error executing action: %s with action data: %j - %s', name, actionData, message);
      throw error;
    }
  },
};

Will lead to the following logs:
info localService:mockdata:ServiceRequests Executing action: serviceResults with action data: {"":"00000011-0000-0000-0000-000000000001"} { ID: '00000010-0000-0000-0000-000000000001' }
WARN localService:mockdata:ServiceRequests Unhandled action: serviceResults
info localService:mockdata:ServiceResults Executing action: processingLogs with action data: {} { ID: '00000011-0000-0000-0000-000000000001' }
WARN localService:mockdata:ServiceResults Unhandled action: processingLogs
info localService:mockdata:ServiceResults Executing action: errors with action data: {} { ID: '00000011-0000-0000-0000-000000000001' }
WARN localService:mockdata:ServiceResults Unhandled action: errors
info localService:mockdata:ServiceRequests Executing action: serviceResults with action data: {"":"00000011-0000-0000-0000-000000000001"} { ID: '00000010-0000-0000-0000-000000000001' }
WARN localService:mockdata:ServiceRequests Unhandled action: serviceResults
info localService:mockdata:ServiceRequests Executing action: serviceResults with action data: {} { ID: '00000010-0000-0000-0000-000000000001' }
WARN localService:mockdata:ServiceRequests Unhandled action: serviceResults
info localService:mockdata:ServiceResults Executing action: processResult with action data: {"overwrite":true} { ID: '00000011-0000-0000-0000-000000000001' }
info localService:mockdata:ServiceRequests Executing action: serviceResults with action data: {} { ID: '00000010-0000-0000-0000-000000000001' }
WARN localService:mockdata:ServiceRequests Unhandled action: serviceResults
info localService:mockdata:ServiceResults Executing action: processingLogs with action data: {} { ID: '00000011-0000-0000-0000-000000000001' }
WARN localService:mockdata:ServiceResults Unhandled action: processingLogs
info localService:mockdata:ServiceRequests Executing action: serviceResults with action data: {"":"00000011-0000-0000-0000-000000000001"} { ID: '00000010-0000-0000-0000-000000000001' }
WARN localService:mockdata:ServiceRequests Unhandled action: serviceResults
info localService:mockdata:ServiceResults Executing action: errors with action data: {} { ID: '00000011-0000-0000-0000-000000000001' }
WARN localService:mockdata:ServiceResults Unhandled action: errors
info localService:mockdata:ServiceResults Executing action: processingLogs with action data: {} { ID: '00000011-0000-0000-0000-000000000001' }
WARN localService:mockdata:ServiceResults Unhandled action: processingLogs

I see, that is unfortunate, at least it doesn't break anything except for the too lenient call usage.
Will prepare a fix


Dynamic Address Issue

Really appreciate this app. Thank.s
One issue is when using it for a phone that is assigned a dynamic IP address. To resolve the possibility that a phone's IP address may change, could you consider adding an option that either (1) allows a user to configure using the MAC address of the phone instead which doesn't change, and (2) possibly using the phone's IP address for the "First" connection, and then having the code determine the MAC address from the first connection to the phone at that IP address and store the MAC address for future use.
Thanks for considering this.

Unfortunately, I don't believe this will be possible.  Hubitat doesn't have any facility for doing a reverse lookup from MAC address to API.  I believe this is usually done with something like ARP, but that's not something I'm going to be trying to do in this driver.  Thanks for the suggestion!  The driver will continue to need a fixed IP address though.

Thanks. I'll also take a look when I can to possibly allow the user to enter a fixed  MAC instead of trying for a lookup. The MAC is show on the iPhone's "General" "About" setting as "Wi-Fi Address" so that should be an easy option to try for so you don't have to change from a dynamic to a static IP.  If I can get this working, I'll submit it as a pull request for your consideration.


DanielDoh- Homework 5: added web scraper for warren dining hall that outputs warren's smoothies

@danieldoh2 great work! Did you try running the container image you built? When I try to run it, I get this error
Traceback (most recent call last):
  File "/mydir/./warren_hall_webscraper.py", line 2, in <module>
    import requests
ModuleNotFoundError: No module named 'requests'

Looking at your Containerfile, you forgot to pip install the requests package. When I exec into the container and install the package, your script works. Can you fix your Containerfile, rebuild, and test it out - it is always good practice to run your built container image as a successful build doesn't always mean a successful run.
Feel free to amend your commit and force push once done.


Adds support for PATCH requests in live cluster mode

NOTE: This PR is stacked on top of:

#397
That PR will need to be merged first, at which point the diff on this PR will shrink.

Description

How Has This Been Tested?

Merge criteria:

All the commits have been signed-off  (To pass the DCO check)

[ ] The commits have meaningful messages; the author will squash them after approval or in case of manual merges will ask to merge with squash.
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has manually tested the changes and verified that the changes work.
[ ] Code changes follow the kubeflow contribution guidelines.

If you have UI changes

[ ] The developer has added tests or explained why testing cannot be added.
[ ] Included any necessary screenshots or gifs if it was a UI change.
[ ] Verify that UI/UX changes conform the UX guidelines for Kubeflow.

/hold

/unhold

/lgtm


mod_manager.c: Remove the second assert

This PR is based on #154 and it removes the second ap_assert(0);. I separated it so it gets enough attention after the first one gets merged.

The previous PR was merged, marking as Ready for review.