Looking for a way to programatically access "Third Party Apps" accessing users Google Account Info

We are looking out for SCOPE in Google Oauth2 Library for access "Third Party Apps" and permissions given to them by user.
This feature is very much required form Users Point of view as dealing with Enterprises we came to know this is a very common scenario in which User wants to visualise all the Permission given to third party apps through Google Signin ,
Please help in case if it already there, or suggest how to move further

Ack, will update by Dec 1st

This library focuses on server to server communication within Google cloud. For end user auth scenarios i would suggest to look into Firebase auth libraries.


samples: add default leader samples

Adds samples for default leader options and other database functions.
The sample for getting one InstanceConfig won't work yet, as the feature has not yet been merged and released.

@skuruppu I'm not sure what to do with the docs build failure. It seems to complain about the new samples that are being added not being found in the current version of the client library (which is correct, as they are being added in this PR).


Removing sql munging and 2 queries for views (that reference parents)

Remove munging of sql
This code is the last piece that manipulate sql where and includes.
Only able to remove half of it, but the rbac scoping work will soon take care of the other half.

Extracted the looking up and limiting of cached page ids to a single method
Removed .empty? (potential sql query)
for parent associations, use scope (removes sql query)

Help: where in the ui is :parent => association used?

re-kicking. Looks like TestClass is not getting undefined by a spec

@kbrock should be addressed by https://github.com/ManageIQ/manageiq/pull/10491


Processing stuck in "Queued" state

Context: 2017 Air running OS X Monterey
Install and run...

git clone https://github.com/nexB/scancode.io.git && cd scancode.io
make envfile
docker-compose build
docker-compose up

Zip up a project to analyze and open the Scancode UI:

git clone git@github.com:magma/magma.git
tar cfz magma.tgz magma
open http://localhost
add inputs magma.tgz
submit for processing as scan_codebase or scan_package
come back four hours later, no change: item is still in "Queued" state. No error reports in the terminal or browser, no feedback of any kind.

.
Terminal log:
log.txt

@lucasgonze Thanks for the report.
This is weird... just to rule out OS-related issues... you are running a macOS Monterey on Intel, correct?

Note that this magma repo is big enough with about 1/2 of it that's .git metadata (not that this matters, just a note)

Your report having a log is great BTW. Thanks for this.
the key issue seems to be:
worker_1  | 19:50:36 Registering birth of worker 537d425ec5cb4dae9d7c9e3346485fb8
worker_1  | 19:50:36 Worker rq:worker:537d425ec5cb4dae9d7c9e3346485fb8: started, version 1.10.1
worker_1  | 19:50:36 Subscribing to channel rq:pubsub:537d425ec5cb4dae9d7c9e3346485fb8
worker_1  | 19:50:36 *** Listening on default...
worker_1  | 19:50:36 Sent heartbeat to prevent worker timeout. Next one should arrive within 480 seconds.
worker_1  | 19:50:36 Cleaning registries for queue: default
worker_1  | INFO Synchronizing QUEUED and RUNNING Runs with their related Jobs...
web_1     | Operations to perform:
web_1     |   Apply all migrations: admin, auth, authtoken, contenttypes, django_rq, scanpipe, sessions
web_1     | Running migrations:
db_1      | 2022-01-20 19:50:36.080 UTC [72] ERROR:  relation "scanpipe_run" does not exist at character 370
db_1      | 2022-01-20 19:50:36.080 UTC [72] STATEMENT:  SELECT "scanpipe_run"."uuid", "scanpipe_run"."task_id", "scanpipe_run"."task_start_date", "scanpipe_run"."task_end_date", "scanpipe_run"."task_exitcode", "scanpipe_run"."task_output", "scanpipe_run"."project_id", "scanpipe_run"."pipeline_name", "scanpipe_run"."created_date", "scanpipe_run"."scancodeio_version", "scanpipe_run"."description", "scanpipe_run"."log" FROM "scanpipe_run" WHERE ("scanpipe_run"."task_end_date" IS NULL AND "scanpipe_run"."task_id" IS NOT NULL) ORDER BY "scanpipe_run"."created_date" ASC
worker_1  | 19:50:36 Worker rq:worker:537d425ec5cb4dae9d7c9e3346485fb8: found an unhandled exception, quitting...
worker_1  | Traceback (most recent call last):
worker_1  |   File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 84, in _execute
worker_1  |     return self.cursor.execute(sql, params)
worker_1  | psycopg2.errors.UndefinedTable: relation "scanpipe_run" does not exist
worker_1  | LINE 1: ...ipe_run"."description", "scanpipe_run"."log" FROM "scanpipe_...
worker_1  |                                                              ^
worker_1  |
worker_1  |
worker_1  | The above exception was the direct cause of the following exception:
worker_1  |
worker_1  | Traceback (most recent call last):
worker_1  |   File "/usr/local/lib/python3.9/site-packages/rq/worker.py", line 591, in work
worker_1  |     self.run_maintenance_tasks()
worker_1  |   File "/app/scancodeio/worker.py", line 57, in run_maintenance_tasks
worker_1  |     scanpipe_app.sync_runs_and_jobs()
worker_1  |   File "/app/scanpipe/apps.py", line 211, in sync_runs_and_jobs
worker_1  |     if queued_or_running:
worker_1  |   File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 284, in __bool__
worker_1  |     self._fetch_all()
worker_1  |   File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 1324, in _fetch_all
worker_1  |     self._result_cache = list(self._iterable_class(self))
worker_1  |   File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 51, in __iter__
worker_1  |     results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
worker_1  |   File "/usr/local/lib/python3.9/site-packages/django/db/models/sql/compiler.py", line 1175, in execute_sql
worker_1  |     cursor.execute(sql, params)
worker_1  |   File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 66, in execute
worker_1  |     return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
worker_1  |   File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
worker_1  |     return executor(sql, params, many, context)
worker_1  |   File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 84, in _execute
worker_1  |     return self.cursor.execute(sql, params)
worker_1  |   File "/usr/local/lib/python3.9/site-packages/django/db/utils.py", line 90, in __exit__
worker_1  |     raise dj_exc_value.with_traceback(traceback) from exc_value
worker_1  |   File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 84, in _execute
worker_1  |     return self.cursor.execute(sql, params)
worker_1  | django.db.utils.ProgrammingError: relation "scanpipe_run" does not exist
worker_1  | LINE 1: ...ipe_run"."description", "scanpipe_run"."log" FROM "scanpipe_...
worker_1  |                                                              ^

It feels as if the worker is trying to connect to the DB before the DB was actually created fully (e.g. from running the migrations that create/update the tables schema are applied)
That's really weird

@lucasgonze can you confirm that the same issue occurs with even a tiny project? Say a scan_package pipeline with this URL from a PyPI package that is a few KB https://files.pythonhosted.org/packages/eb/5b/f82983127b1a1a4db83ee290e00a94a2b08c566fa6c58466e82ed7b0a76f/boolean.py-3.8-py2.py3-none-any.whl  (that's a dep of ScanCode FWIW)

@lucasgonze Thanks for the report. This is weird... just to rule out OS-related issues... you are running a macOS Monterey on Intel, correct?

That's correct. This is an Intel.

It feels as if the worker is trying to connect to the DB before the DB was actually created fully (e.g. from running the migrations that create/update the tables schema are applied)

I think that's the right diagnosis.
After killing the first run and restarting, I got this following:

Attaching to scancodeio_redis_1, scancodeio_db_1, scancodeio_web_1, scancodeio_worker_1, scancodeio_nginx_1
db_1      | The files belonging to this database system will be owned by user "postgres".
db_1      | This user must also own the server process.
db_1      |
db_1      | The database cluster will be initialized with locale "en_US.utf8".
db_1      | The default database encoding has accordingly been set to "UTF8".
db_1      | The default text search configuration will be set to "english".
db_1      |
db_1      | Data page checksums are disabled.
db_1      |
db_1      | fixing permissions on existing directory /var/lib/postgresql/data ... ok
db_1      | creating subdirectories ... ok

Log of the 2nd run attached. This includes all CLI activity from the initial install through the second run. second run log.txt
Race conditions are particularly likely on this 2017 system because the hardware is older and slower.

Status during the second run is very different:

If it's helpful for debugging, I can nuke my first install and run from a clean state.

At the 21 hour mark, processing completed for one of the packages:

Fix merged in main branch https://github.com/nexB/scancode.io/commit/ce21929b58a3d7eb6ce901093736069ebb5df382
Thanks @pombredanne !


Create ViewModels for the Blazor components

To support future unit testing, we should start using ViewModels with the Blazor Components.

@csharpfritz please assign this one to me.
Will it be ok to pull view models out into .net Standard DLL so it can be referenced from both the unit-test project and the Client project?

OK, it looks like the unit test project already has a reference to the web app, so I guess that works for the solution. I'll put the ViewModels in the web app for now then and there will be the option to pull them out into another DLL later, not least because naming things is hard and it's probably best for you to name it.

That works for me.  Thanks!
Jeff

On Jul 28, 2019, at 12:54, Simon Geering<EMAIL_ADDRESS>wrote:
OK, it looks like the unit test project already has a reference to the web app, so I guess that works for the solution. I'll put the ViewModels in the web app for now then and there will be the option to pull them out into another DLL later, not least because naming things is hard and it's probably best for you to name it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


HTML to PDF - not 2nd page is added

Hi there,
I'm wondering, why me pdf has only one page. My text is cutted off. In the demo it seems, that the script add automatic an new page to the pdf if needed.
Thanks for your help

           var doc = new jsPDF('p');   // p means potrait , u can use landscape mode too
            doc.setFontSize(10);
            doc.setFont("times");
            doc.text(5, 10, "your data here");
           doc.save("test.pdf");

use this jspdf script : https://github.com/MrRio/jsPDF/blob/master/jspdf.js
By using this we can generate multiple page pdf.

thanks but, I need an automatic page break, cause I have a long html pages that should be converted into a pdf

It breaks the long text into pages while generating pdf automatically.

this breaks nothing:
pdf.fromHTML(
);

fixed in latest version


WIP PA scraper

Draft PR to add a scraper for Pennsylvania.
Incorporates and builds upon @Ash1R's fixes and @stucka's edits from #517 by cherry picking their commits.
Steps to test
python -m warn.cli PA

Closes #374

Still some data quality issues to resolve:

But we're inching closer.

The HTML parser trashes the p tags but I'm wondering if that might be contributing to some of the problems here?
https://www.dli.pa.gov/Individuals/Workforce-Development/warn/notices/Pages/April-2020.aspx
In April 2020, for example, I see the final p tag with some additional markup contains the number of layoffs and such; earlier p tags contain the individual locations. Parsing those as distinct entities may make it easier to handle the fields with distinction.
There's a tactical question here about how to handle this when there are multiple locations but a single group summary, particularly with the number of layoffs. (Perhaps the group as one line in the CSV; Perhaps one-location-per-row, but prefix "GROUP: " before the parsed layoff, then clean up text in transformer?)

There's also a new (and probably terribly conceived) function with utils.fetch_if_not_cached that might make sense to use for maybe all but the three newest URLs. so we're not hitting dozens of quite old files several times a day. If adapted into the existing workflow, you'd have to fetch the three newest each time, and add their content to output_rows; then for the others not in the three newest determine the filename and URL, then run utils.fetch-if_not_cached and cache.read to get stuff into output_rows. But there'd be a lot less stuff in motion for repeat runs.

I tweaked the filing handling a little (e.g., March 2024 would never have redownloaded, and cached files were getting rewritten) but nothing else. I have not looked closely at the parsing.

It's not ready for review yet.

Closing again because I haven't had a chance to work on this.


[Tracking] Infrastructure for Green Reviews WG

Description
This issue is created to track and visualize progress on getting the infrastructure that Green Reviews WG requires up and running.
This issue will be tracked as part of the Green Reviews WG task board.
Current status: request for infrastructure has been submitted to CNCF Community Infrastructure Lab (CIL), currently awaiting feedback/confirmation from the owners. Considering possibility to create a service desk ticket. Ref. https://github.com/cncf/cluster/issues/246
...
Outcome
Successfully provisioned infrastructure (dedicated Node) that Green Reviews WG can use to start implementing and deploying necessary tools for sustainability footprint measurement project.
...
Todos

[x] @nikimanoledaki to send a reminder on TAG Env Slack and GitHub issue mentioned above;
[ ] @mkorbi @leonardpahlke to confirm if service desk ticket needs to be created. If it's needed, assist us with creating the ticket due to lacking permissions of the WG chairs;

...
Co-owner: @nikimanoledaki

@leonardpahlke can you please add Green Reviews label on this issue so that it appears on the project board? I don't have permissions to do it yet. Thanks! 😊

service desk ticket was already created some month back and got redirected to open an issue instead

@nikimanoledaki I'll close this issue since infrastructure has been provisioned for us as per https://github.com/cncf/cluster/issues/246
I will create a separate issue to figure out access control management to the infrastructure.
@leonardpahlke FYI


Custom task for serve

How can I make a custom task to run when debugging (gulp serve)?

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

ID: 61ea7187-d184-a7d7-bee8-eafffc5b2b47
Version Independent ID: e34bb8a6-c90d-275d-57d9-840534ec46e4
Content: Integrate gulp tasks in SharePoint Framework toolchain
Content Source: docs/spfx/toolchain/integrate-gulp-tasks-in-build-pipeline.md
Product: sharepoint
Technology: sharepoint-framework
GitHub Login: @spdevdocs
Microsoft Alias: spdevdocs

Available extension to add custom task(1.8.2 for my environment).

Add custom task.
`let helloWorldSubtask = build.subTask('log-hello-world-subtask', function(gulp, buildOptions, done) {
this.log(buildOptions);
// use functions from gulp task here
done();
});
build.rig.addBuildTasks(helloWorldSubtask);
build.initialize(gulp);`
This will run when you run gulp serve or update code(build) when debugging.


Custom Route Constraint (IRouteConstraint) for Blazor Page

I don't find the documentation about custom route constraint (IRouteConstraint) for a Blazor Page.
@page "/{name:myconstraint}"
Where myconstraint would be a custom route constraint.

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

ID: 35474d24-8039-f04a-de14-1530b8e8506c
Version Independent ID: b6cb2574-6326-a40d-0b6c-d1661328e828
Content: ASP.NET Core Blazor routing
Content Source: aspnetcore/blazor/fundamentals/routing.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

Thanks for the feedback! I'm buried in work ⛏⛰ for the next couple of days then out for an extended ⛄ holiday vacation 🎁. I've added this to my Post-holiday Triage issue list and will take a look when I return. Sorry for the delay, but I must get some long-standing priorities resolved before leaving, so only bug fixes will usually be addressed before I get some much needed rest 😅. I assure you that this issue won't get lost.

@dumaisf ... Ok, I'm back from vacation now.
@captainsafia ... I don't think that custom constraints exist at this time, and I see they certainly don't exist in the form of  RouteConstraint classes per https://github.com/dotnet/aspnetcore/issues/28938.
We could show an approach using SetParametersAsync. I might do this by merely expanding the existing example of SetParametersAsync in the Lifecycle topic and cross-link to that from the Fundamentals > Routing topic's Route constraints section with a little blurb of text. We need a better example over in the Lifecycle topic anyway (probably). Let me know if there is some other way to go. :ear: Otherwise, I'll consider floating something like the following. I'll ping u on the PR.
[Parameter]
public string Param { get; set; }

public override async Task SetParametersAsync(ParameterView parameters)
{
    if (parameters.TryGetValue<string>(nameof(Param), out var value))
    {
        ...
    }

    await base.SetParametersAsync(parameters);
}

@dumaisf ... Ok, I'm back from vacation now.
@captainsafia ... I don't think that custom constraints exist at this time, and I see they certainly don't exist in the form of  RouteConstraint classes per https://github.com/dotnet/aspnetcore/issues/28938.
We could show an approach using SetParametersAsync. I might do this by merely expanding the existing example of SetParametersAsync in the Lifecycle topic and cross-link to that from the Fundamentals > Routing topic's Route constraints section with a little blurb of text. We need a better example over in the Lifecycle topic anyway (probably). Let me know if there is some other way to go. :ear: Otherwise, I'll consider floating something like the following. I'll ping u on the PR.
[Parameter]
public string Param { get; set; }

public override async Task SetParametersAsync(ParameterView parameters)
{
    if (parameters.TryGetValue<string>(nameof(Param), out var value))
    {
        ...
    }

    await base.SetParametersAsync(parameters);
}

@pranavkm ... Can you spare a tip on this one? I don't think that custom constraints exist at this time ... not in the form of RouteConstraint classes per dotnet/aspnetcore#28938 anyway.
btw - We could flesh-out our example of SetParametersAsync in the Lifecycle topic to cover this. Currently, the example doesn't actually do anything with parameters. Is what I show in my last comment sane 😵? That would be easy/quick to show and cross-link from Routing for this.

@pranavkm ... Can you spare a tip on this one? I don't think that custom constraints exist at this time ... not in the form of RouteConstraint classes per dotnet/aspnetcore#28938 anyway.
btw - We could flesh-out our example of SetParametersAsync in the Lifecycle topic to cover this. Currently, the example doesn't actually do anything with parameters. Is what I show in my last comment sane 😵? That would be easy/quick to show and cross-link from Routing for this.

I have no idea how you would use SetParametersAsync to constraint the route. If you could provide a sample, it would be appreciated.

I have no idea how you would use SetParametersAsync to constraint the route. If you could provide a sample, it would be appreciated.

I'm asking if it's sane to take a value from the ParameterView (value :point_up: in that code snippet that I showed) in SetParametersAsync and manually perform a parse on it. If it parses to the type required, assign it. If not, throw or navigate away (error page). The framework route constraint parses can be seen here ...
https://github.com/dotnet/aspnetcore/blob/master/src/Components/Components/src/Routing/RouteConstraint.cs
I don't know if this approach idea (🙈 maybe another RexHack:tm: 🙈) is the right way to address this scenario. I'm asking. We'll have to hear back from Pranav or Safia on the right way to address your ask.

I'm asking if it's sane to take a value from the ParameterView (value :point_up: in that code snippet that I showed) in SetParametersAsync and manually perform a parse on it. If it parses to the type required, assign it. If not, throw or navigate away (error page). The framework route constraint parses can be seen here ...
https://github.com/dotnet/aspnetcore/blob/master/src/Components/Components/src/Routing/RouteConstraint.cs
I don't know if this approach idea (🙈 maybe another RexHack:tm: 🙈) is the right way to address this scenario. I'm asking. We'll have to hear back from Pranav or Safia on the right way to address your ask.

@dumaisf ... We discussed this offline, and we're not going to work the route constraint aspect as a current by-design won't fix. However, they may in a future release address it. At that point, Yes! ... we will add coverage.
I DO want to use this issue tho to update the Lifecycle topic with that one helpful line in the example for SetParametersAsync :point_up:. That's a helpful thing to show in passing because that's a common use case for that lifecycle event ... messing around with the parameter values in various ways.
WRT to my 🙈 RexHack!:tm: 🙈 idea for parsing types in SetParameterAsync as a workaround to constrain routes (i.e., if a parameter doesn't parse into the type you're seeking, redirect back, throw, or send the user to the Error page), we didn't discuss that aspect offline. Don't go by my hack suggestion. Take your question to the community for discussion. You'll probably receive much better developer advice ...

Stack Overflow (tag: blazor)
ASP.NET Core Slack Team
Blazor Gitter

Leave this issue open ... it will close automatically when the PR merges.

@dumaisf ... We discussed this offline, and we're not going to work the route constraint aspect as a current by-design won't fix. However, they may in a future release address it. At that point, Yes! ... we will add coverage.
I DO want to use this issue tho to update the Lifecycle topic with that one helpful line in the example for SetParametersAsync :point_up:. That's a helpful thing to show in passing because that's a common use case for that lifecycle event ... messing around with the parameter values in various ways.
WRT to my 🙈 RexHack!:tm: 🙈 idea for parsing types in SetParameterAsync as a workaround to constrain routes (i.e., if a parameter doesn't parse into the type you're seeking, redirect back, throw, or send the user to the Error page), we didn't discuss that aspect offline. Don't go by my hack suggestion. Take your question to the community for discussion. You'll probably receive much better developer advice ...

Stack Overflow (tag: blazor)
ASP.NET Core Slack Team
Blazor Gitter

Leave this issue open ... it will close automatically when the PR merges.


Compile error in VGA Buffer with Volatile

rror[E0599]: the method `write` exists for struct `Volatile<ScreenChar>`, but its trait bounds were not satisfied
  --> src\vga_buffer.rs:97:45
   |
55 | struct ScreenChar {
   | -----------------
   | |
   | doesn't satisfy `<ScreenChar as Deref>::Target = _`
   | doesn't satisfy `ScreenChar: Deref`
...
97 |                 self.buffer.chars[row][col].write(ScreenChar {
   |                                             ^^^^^ method cannot be called on `Volatile<ScreenChar>` due to unsatisfied trait bounds
   |
   = note: the following trait bounds were not satisfied:
           `<ScreenChar as Deref>::Target = _`
           `ScreenChar: Deref`

rustc --version
rustc 1.54.0-nightly (5c0292654 2021-05-11)

Which version of volatile are you using? Blog os uses version 0.2.6. The latest version 0.4.4 has a different api which I don't even think is correct due to requiring the creation of a mutable reference to the memory location you need to write to, which I think allows LLVM to insert spurious non-volatile reads and writes. Mixing non-volatile and volatile memory accesses allows for all accesses to be considered non-volatile.

Sorry, forgot to revert dependencies when I came a crossed the broken nightly error


Improve image quality

The image describing Blob service components is very helpful, but it contains JPEG compression artifacts (the fact that someone converted it to PNG doesn't help), which is disturbing.

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

ID: 4a056685-6734-380e-562c-92e30b8976a3
Version Independent ID: 1d17cc5e-f2b1-5489-79fa-e8557fadc5b5
Content: Introduction to Azure Blob storage | Microsoft Docs
Content Source: articles/storage/blobs/storage-blobs-introduction.md
Service: storage
GitHub Login: @tamram
Microsoft Alias: tamram

@vojta001
Thanks for the feedback! We are currently investigating and will update you shortly.

@vojta001 - Thank you for your feedback. We are in the process of addressing this, and the image should be updated within the next week.

@vojta001 - The image has been updated.
#please-close


CI: Bump release version.

What this PR does / why we need it
This PR bumps the release version used in CI values to the latest available CAPA release.
Checklist

[x] Updated CHANGELOG.md.

Trigger E2E tests

/run cluster-test-suites

This is only for helm templating, right? Does it matter which release is used?

Yes, it matters as soon as you're using make template-in-cluster to check if your changes also work with real life releases.
Normally the templates are implemented to return null, empty string or something like that in dry-run mode. But with template-in-cluster we tell Helm to actually use resources from the cluster you're connected to and therefore your helm template output can contain real life values, which is very valuable for development - at least for what I'm currently working on.


v1.5.0-rc-1 took double time to create watermark mv for backfill table comparing to the nightly images 1205 and 1206

Describe the bug
v1.5.0-rc-1: Time: 1266265.216 ms (21:06.265) https://buildkite.com/risingwave-test/backfill/builds/20#018c4213-0aba-4a56-a5bb-a24774284cdc
nightly-20231206: Time: 556411.350 ms (09:16.411) https://buildkite.com/risingwave-test/backfill/builds/19#018c415d-6c90-4bc1-8c16-7de9a63084bf
nightly-20231205: Time: 634228.136 ms (10:34.228) https://buildkite.com/risingwave-test/backfill/builds/17#018c3c37-0dbb-41ad-9f1e-d4be8650d280
Error message/log
No response
To Reproduce
No response
Expected behavior
No response
How did you deploy RisingWave?
No response
The version of RisingWave
v1.5.0-rc-1
Additional context
No response

https://github.com/risingwavelabs/risingwave/issues/13807 related issue

So 1206/1205 suffer less than v1.5.0-rc-1 on the issue? @kwannoel Should we consider this as a release blocker for v1.5.0? cc @fuyufjh

Yes we should, but I wonder what can cause the regression.

Nope. The backfill starts running daily from this week.

Perhaps it's #13709. Checking.

Cherry-pick this pr to the v1.5.0 branch and test it again?

Nope it's not, just checked with wenym offline.

Seems to be some fluctuation in the test env.

Did we figure out what factors caused such a big fluctuation, or did it just become normal and stable in a second, or third rerun?

Did we figure out what factors caused such a big fluctuation, or did it just become normal and stable in a second, or third rerun?

I tried to rerun it, there was a fluctuation in the preparation step, but that's because of ghci repository rate limits for fetching the docker image resource.
Apart from that I didn't see any variance between nightly versions and the v1.5.0-rc-1 version.
@cyliu0 has also mentioned it's no longer reproducible on his end: https://risingwave-labs.slack.com/archives/C034TRPKN1F/p1702015721166109?thread_ts=1701929578.709939&cid=C034TRPKN1F

I just triggered another 2 builds to confirm again https://buildkite.com/risingwave-test/backfill/builds?branch=main


Could not load more than 60 results

/home/oleg/.rbenv/versions/2.1.4/lib/ruby/gems/2.1.0/gems/google_places-0.27.0/lib/google_places/request.rb:325:in `parsed_response': GooglePlaces::InvalidRequestError (GooglePlaces::InvalidRequestError)

for code
require 'google_places'

API_KEY = "AIzaSyDCjp3CMfuSvKftEnyY_zSIXNkjpNbPM2Y"

@client = GooglePlaces::Client.new(API_KEY)
spots = @client.spots_by_query('Gap, London')
puts spots
next_page_token = spots.last.nextpagetoken
puts next_page_token
next_spots = @client.spots_by_pagetoken(next_page_token)

We can load more with miltipage: true
require 'google_places'

API_KEY = "AIzaSyDCjp3CMfuSvKftEnyY_zSIXNkjpNbPM2Y"

@client = GooglePlaces::Client.new(API_KEY)
spots = @client.spots_by_query('Gap, London', multipage: true)
puts spots
next_page_token = spots.last.nextpagetoken
puts next_page_token
next_spots = @client.spots_by_pagetoken(next_page_token)

@OrelSokolov can you give a more detailed reproduction path for this?

As far as I understand this is a Google API limitation, rather than a bug in the gem.
Some other people describe it eg. here https://github.com/joshtronic/php-googleplaces/issues/5 .

Thanks @rennhak, for pointing that out.
The official documentation states the same:

next_page_token contains a token that can be used to return up to 20 additional results. A next_page_token will not be returned if there are no additional results to display. The maximum number of results that can be returned is 60. There is a short delay between when a next_page_token is issued, and when it will become valid.

Closing this issue as a won't fix.


Improve stoppage time rules

When injury time exceeded. 2 criteria.

Did the team who currently has the ball also had the ball before the injury time was exceeded?
Is it on the opponent's half?

If both 'true' then the game should not be blown for the whistle.
Issue right now is that many potential attacks are unfairly stopped due the current system. Which is that the ball should be around than 20-23 yard from goal. The game should always be stopped if 1 or both criteria are 'false'.
Issues with this suggestion.

What if the defending team try to clear the ball away but hits the dribbling player? Will it already count for whistle because the defending team already hit the ball for a split second?
What if the defending team keeps clearing the ball away but not far enough to get past the mid line?

I think solution can be with the current system that during those plays if the ball is outside penalty box while cleared by the defending team it should count for end game. Otherwise not.

As discussed:
The game ends when

there's a kick-off
defending team has a goal kick
defending team has a throw-in in their own third
defending team has a free-kick in their own third
a keeper catches the ball

Also:
As soon as injury time is over and the ball enters a team's third, the game starts tracking half-way line crosses. As soon as the ball has crossed the half-way line two times the game is over. This means that the defending team can do another counterattack before the match ends, but the previously attacking team can't.

After the injury time is over, the game waits for the next touch to occur outside the center third and sets the final attacking team accordingly.
E.g. if the touch occurs in the away team's third (by any player), the final attacking team is set to the home team.
The game ends when one of the following conditions is true

The ball leaves the defending team's third
There's a kick-off after a goal
Defending team has a goal kick
Defending team has a throw-in in their own third
Defending team has a free-kick in their own third
The defending team's keeper catches the ball


Happy 0.3.15

Use the Dockefile hosted on the Illumina hap.py repo to build the image, update hap.py to 0.3.15

The image contains RTG and bcftools:
/opt/hap.py/libexec/rtg-tools-install/RTG.jar
/opt/hap.py/bin/bcftools
/opt/hap.py/bin/hap.py
/opt/hap.py/bin/pre.py
Though it's annoying that PATH is not set to /opt/hap.py/bin. I'll add a comment to the README rather than have a modified version of Dockerfile.

How would this be used to generate the image in the CPG repo?

@MattWellie, actually manually using the commands in README. There is no Dockerfile here, so the github can't be used. We could create another CI job that runs a bash script instead of building a Dockerfile, not sure 🤔


Applications should use application flags

This shows up in the ready payload in the example on the site:
Event: Ready(Ready { application: PartialApplication { flags: DISCORD_CERTIFIED_MODERATOR, id: ApplicationId(....) }, guilds: [], session_id: "....", shard: Some([0, 1]), user: CurrentUser { avatar: ...., bot: true, discriminator: "....", email: None, flags: Some((empty)), id: UserId(....), locale: None, mfa_enabled: true, name: "....", premium_type: None, public_flags: None, verified: Some(true) }, version: 8 })

Evidently bots can't be certified moderators.

thanks for getting this lol. my bad

This is funny because I had just noticed that a couple hours before you PR'd this


How and when does contributed code get merged?

Hi Flyway developers,
I have contributed changes to Flyway to support Apache Trafodion and EsgynDB.  The Pull Request is waiting on someone with write access to merge it.  What is the process for these changes to get reviewed and merged?
Rohit

Thanks for your question.
We're always happy to see community contributions! However, the type of contribution affects how easy it is for us to accept.
Bug fixes are likely to be accepted and merged, whereas bigger changes require more consideration since they incur ongoing maintenance costs.
As for supporting new databases, these fall under the category of bigger changes. There's a fair bit for us to keep track of: differences between versions, new releases, setting up testing infrastructure, and so on. We are still in the process of clarifying our policy, and we intend to publish it soon.

An article explaining our policy can be found here https://flywaydb.org/documentation/contribute/contributingDatabaseSupport


Unfortunate mandatory OSGi import for jdk.internal.misc package

Summary
The recent update to byte buddy has triggered a new OSGi import for the jdk.internal.misc package.
$ bnd print -mb assertj-core-3.14.0.jar
[MANIFEST assertj-core-3.14.0]
...
Import-Package                           ...,jdk.internal.misc,...

[USEDBY]
...
jdk.internal.misc                        org.assertj.core.internal.bytebuddy.dynamic.loading
...

The jdk.* packages should be optionally imported for when you are running on Java 8.
I will submit a PR to fix.

Thanks for reporting this @bjhargrave! We know we are light when it comes to OSGi testing.
Is there an easy way to write a regression test that would capture these errors?

We found this issue ourselves because we have an OSGi resolve step in the build of our new osgi-test project. See https://github.com/osgi/osgi-test/blob/eb212d9e6613683d36002962b798a36fce2f5946/org.osgi.test.junit4/pom.xml#L100-L131 for how we found the issue: https://travis-ci.com/osgi/osgi-test/jobs/251664968#L372-L378.
We could add something similar to the assertj-core build. We may also want to consider migrating the assertj-core build from the older maven-bundle-plugin to the bnd-maven-plugin from the Bnd devs (of which I am one). If you are interested in any of this, I can work with some of the other Bnd devs to put together a PR or PRs to do this. Let me know.
BTW, the osgi-test project includes some (with more to come) custom AssertJ assertions for OSGi API.

Yes that would be great @bjhargrave!
Nice to see people using custom assertions, I find them really valuable to write code expressing the domain.


Bugfix/socks auth

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 12.50000% with 7 lines in your changes missing coverage. Please review.

Project coverage is 61.10%. Comparing base (7d6f3d3) to head (75f2c2a).

Files with missing lines
Patch %
Lines

turbo_tunnel/socks.py
0.00%
7 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #90      +/-   ##
==========================================
- Coverage   61.90%   61.10%   -0.80%
==========================================
  Files          35       35
  Lines        5323     5291      -32
==========================================
- Hits         3295     3233      -62
- Misses       2028     2058      +30

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


Your Name: module name, number of chapters in this module

[ ] Clone a repo from the home
[ ] Open Snippets
[ ] Inside snippet folder open Welcome to js
[ ] After that create a folder using the name
[ ] writes codes, using Prompt, Alert, and Confirmed

@franco9535 PR???


Data dictionary missing "Parent package:" value

Original (from ogc-citygml-xmi):
[[Appearance-package-dd]]
=== *Appearance*

[cols="1,4"]
|===
|Description: | The Appearance module supports the modelling of the observable surface properties of CityGML features in the form of textures and material.
|Parent Package: | CityGML
|Stereotype: | «ApplicationSchema»
|===

Now:

Confirm fixed.


❌ Software Removal | Blokada

Description
Related to https://github.com/privacytoolsIO/privacytools.io/issues/533#issuecomment-520053405 I wonder if we should delist Blokada for now until they implement DoT or DoH support (https://github.com/blokadaorg/blokada/issues/198) or DNSCrypt (https://github.com/blokadaorg/blokada/issues/147) support as currently if user has DoT (Private DNS) enabled, Blokada disables it allowing network attacker spoof DNS queries and spy on them?
I am not sure how realistic concern DNS query spying is though as SNI is going to leak most of visited domains and not all IP addresses are hosting multiple sites.

Looking at them better, this seems to be in their highest popularity label and in their Rustification project so delisting may be a bit hasty.

I recommend holding off for a bit to see what happens, could you keep an eye on this for us?

I am subscribed to the issues at least.
CC: @beerisgood whom I have seen on both issue trackers.

Blokada is still the best tracking blocker. We should wait until they fix the problems

In that case I will be closing this is, and propose that @beerisgood and @Mikaela  could have a little eye on it, and reevaluate later on.

I wonder if we should reconsider this due to https://github.com/privacytoolsIO/privacytools.io/issues/1187#issuecomment-523313881,

Correct me if I'm wrong, but except for a handful of features Nebulo offers all functionality Blokada has. You can block ads by importing DNS rules from host lists, you can blacklist/whitelist apps, you can configure a lot about the app and how it handles stuff. It isn't themed as an AdBlocker though because it is mainly distributed over the Play Store. I have a F-Droid repo as well though (which contains ad-blocking DNS servers and ad-blocking host lists by default).

Nebulo F-Droid lists these DNS by default:

AdGuards
Blahdns
DnsWardens

And these adblock lists (in dns rules):

AdAway
CoinBlockerList
Energized Basic
Energized Blu
Energized Porn

I am not sure if there is more as it looks like the last one doesn't fit my screen entirely and it's not scrollable.

From my understanding it sounds like Blokada provides a subset of Nebulo’s features. I can’t personally test these but it sounds like users only gain functionality with Nebulo.

is nebulo as easy to use as blokada?

I'd say yes. You have a main view which contains just three buttons, one labeled "Start" to start the app, one for selecting the server to use and one for comparing the various servers. An image indicates at a glance whether the app is currently active.

I'm not sure whether Blokada should be removed though. Whilst I still believe that Nebulo contains most (and if not close to all) functionality of Blokada it isn't themed as an AdBlocker and is more of an all-purpose DNS changer. GPlay doesn't allow AdBlockers in the store, which is why Nebulo only contains servers which block ads in the F-Droid version.
If purely focusing on the privacy Nebulo should have the upper hand though, as it encrytps the queries whilst Blokada does not.
Some more Screenshots:
1
2
3
4
5

I don't understand this delist, Netguard is still recommended? I think apps like these also including TrackerControl (#2333) can add privacy, a warning about DOH should do. It obviously depends on your thread model, but I consider ISP's more trustworthy then all these advertising and big data companies. It is a trade off, but I think this choice is country and user specific. If this decision stays Netguard should be delisted for the same reason.


Clarify what can be passed to a function

Clarify what can be specified to be passed to the function, use consistent language with the expressions page.

@simonsabin : Thanks for your contribution! The author, @edmacauley, has been notified to review your proposed change.

Thanks for that excellent edit, @simonsabin.  #sign-off


fix bug: while the task of csv dataset is classification

fix bug: while the task of csv dataset is classification, y is still float, so there is exception arise:
Traceback (most recent call last):
File "/home/junbo.chenjb/Backup/eclipse-kepler/plugins/org.python.pydev_<IP_ADDRESS>3072611/pysrc/pydevd.py", line 1445, in
debugger.run(setup['file'], None, None)
File "/home/junbo.chenjb/Backup/eclipse-kepler/plugins/org.python.pydev_<IP_ADDRESS>3072611/pysrc/pydevd.py", line 1091, in run
pydev_imports.execfile(file, globals, locals) #execute the script
File "/home/junbo.chenjb/workspace/pylearn2_ext/tools/simple_train.py", line 15, in
train.main_loop()
File "/home/junbo.chenjb/libs/pylearn2/pylearn2/train.py", line 201, in main_loop
extension_continue = self.run_callbacks_and_monitoring()
File "/home/junbo.chenjb/libs/pylearn2/pylearn2/train.py", line 255, in run_callbacks_and_monitoring
self.model.monitor()
File "/home/junbo.chenjb/libs/pylearn2/pylearn2/monitor.py", line 254, in call
for X in myiterator:
File "/home/junbo.chenjb/libs/pylearn2/pylearn2/utils/iteration.py", line 984, in next
rval = self._fallback_next(next_index)
File "/home/junbo.chenjb/libs/pylearn2/pylearn2/utils/iteration.py", line 1002, in _fallback_next
for data, fn in safe_izip(self._raw_data, self._convert)
File "/home/junbo.chenjb/libs/pylearn2/pylearn2/utils/iteration.py", line 1002, in
for data, fn in safe_izip(self._raw_data, self._convert)
File "/home/junbo.chenjb/libs/pylearn2/pylearn2/utils/iteration.py", line 952, in
dspace.np_format_as(batch, sp))
File "/home/junbo.chenjb/libs/pylearn2/pylearn2/space/init.py", line 486, in np_format_as
space=space)
File "/home/junbo.chenjb/libs/pylearn2/pylearn2/space/init.py", line 541, in _format_as
self._validate(is_numeric, batch)
File "/home/junbo.chenjb/libs/pylearn2/pylearn2/space/init.py", line 726, in _validate
self._validate_impl(is_numeric, batch)
File "/home/junbo.chenjb/libs/pylearn2/pylearn2/space/init.py", line 1096, in _validate_impl
super(IndexSpace, self)._validate_impl(is_numeric, batch)
File "/home/junbo.chenjb/libs/pylearn2/pylearn2/space/init.py", line 905, in _validate_impl
(batch.dtype, self.dtype))
TypeError: Cannot safely cast batch dtype float64 to space's dtype int64.

Thanks! Sorry for the late reply.
Do you think you could add a small unit test so we can detect if it gets broken again?

@lamblin : the unittest is updated, to check the data type of the target variable


Improvements to heat exchanger models

This PR introduces minor changes to the heat exchanger models:

The change in properties across the thermal boundary layer is now modeled via a wall temperature.
The tube wall thickness is now calculated for a design pressure difference; for the turbofan cases, this is the maximum pt3.
Rather than replacing the effectiveness by 95% of the maximum possible one, the code returns an error if the effectiveness is above the maximum one (to help with optimization).
Replaced hardcoded material parameters with new StructuralAlloys
New tests for the thermal and pressure drop models.

In addition, the structural alloy database has been modified to also include thermal conductivity.

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

Project coverage is 76.33%. Comparing base (c224dd9) to head (a320605).
Report is 28 commits behind head on main.

Files
Patch %
Lines

src/engine/hxfun.jl
86.25%
11 Missing :warning:

src/engine/tfoper.jl
50.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #46      +/-   ##
==========================================
+ Coverage   74.73%   76.33%   +1.60%
==========================================
  Files          69       69
  Lines       13089    13135      +46
==========================================
+ Hits         9782    10027     +245
+ Misses       3307     3108     -199

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


Fix newlines in markdown --about for multi-line settings descriptions

Migrated from GitLab: https://gitlab.com/meltano/sdk/-/issues/240
Originally created by @aaronsteers on 2021-10-14 22:24:33

As found during pair coding in taptoberfest, multiline setting descriptions currently break the markdown table formatting. We can resolve this by replacing \n with <BR/> when rendering markdown output.

View 2 previous comments from the original issue on GitLab


use the back button in smart phone to close menu

I want to add new feature using the back button in the phone by adding for examples slideout.html#menu so the use can  click the back button to close the slide menu

Hi,
Here is my simple exemple using JQuery and Browserify (For who want an exemple):
    var Slideout = require("slideout");
    slideout_menu = new Slideout({
      'panel': $('#panel')[0],
      'menu': $('#menu')[0],
      'padding': 256,
      'tolerance': 50
    });
    if ("onhashchange" in window) {
      slideout_menu.on('open', function() {
        window.location.hash = "#menu";
      });
      slideout_menu.on('close', function() {
        window.location.hash = "";
      });
      $(window).bind('hashchange', function() {
        if (window.location.hash == "#menu") {
          slideout_menu.open();
        }else{
          slideout_menu.close();
        }
      });
    }

Seriously :man_facepalming:  3 month to reply. WOW where have you ever been ?? I hope you are good.
I have never used the window.location.hash. It is nice way to do that. Thanks.

It's because there are so many explanation on the web for similar issues, and actually it's seem to be the only and the best solution (cross platform).
I have no links with the package except that I'm a user

@Buom01 there was a miss understanding. Sorry, I thought you are the owner of this repository. and I realize that today. Thank you very much for help. I really appreciate that :+1:


Software logo issues

Hi, I have noticed the Watson logo had some problems with unclean geometry unnecessary vertices and obvious mistakes probabily due to raster to vector tracing... (most noticeble over black background)

I have done what I belive fixes all the issues I have spotted and here is the result
logo-watson.zip

Wow, thank you :pray: :heart:


[Feat]: Added installation process

Motivation
I use glow.nvim and this plugin will install the binary directly instead of requiring it to use the plugin itself.
I took inspiration from that and improved it a bit, making it so it has an agnostic installation (independent from having go installed or not, using the releases page), and a go installation (using go install github.com/charmbracelet/freeze@latest
How it works
If the freeze command is not in the PATH, it will:

Check for go command:

If in PATH, use it to install freeze
If not installed, use the releases page to download the latest stable version, depending on the OS and Architecture of the machine

Conclusion
It will improve the user experience, not having to download the cli itself if they don't use go, and if they do, saving them time for the installation process.

I want to start by saying, I appreciate use of this plugin and for submitting this PR! However, this is not in scope of the project due to additional maintenance burden of having this install. This can already be seen in a couple of ways:

The freeze version is hard-coded into the plugin, requiring us to keep that up to date. This plugin aims to be a minimal wrapper around the CLI so adding versioning is not within scope.
This PR does not unzip the Windows binary and only supports tar at this time.
This PR does not support all of the BSD versions provided by the freeze (it also supports netbsd and openbsd).

With all this in mind, allowing for this plugin to manage installation,  we open ourselves up to a larger support burden because we are effectively also managing distribution of this application. Thus, I will not be merging this PR.


⚠ Bofrost.at has degraded performance

In bed5f7f, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1509 ms

Resolved: Bofrost.at performance has improved in 12c0eeb.


Hillas parameters in telescope frame

Related discussions about this can be found in:

#674
#1090
#1315
#1408

This changes the calculation of the image parameter for the dl1 output to be performed in the nominal frame.
For this, new containers have been added. This is kind of the brute force way. Since it is only relevant for a few container fields (x,y,length, width...), we could also make their unit configurable. However, that might lead to confusion, because the field names do not reflect that difference. Or let one container have both fields of which only one is filled?
Side note: Some code (e.g. calculation of the concentration) explicitly names things x and y, which I did not change.
So maybe a naming of the coordinate axes, that does not indicate the use of a certain coordinate frame could be a way out?
All of these changes are written out by the stage1-tool. Coordinate transformations happen in the ImageProcessor.
Since new frames are constructed for each event, this might be slower. I do not know how to access all pointings at once without iterating over the events though.
Regarding the change of the data model version:
We probably want to collect test files of older versions in order to make sure, that we do not break their functionality.
Is adding dl1 files to ctapipe-extra the way to go or is there another solution?

Not longer relevant (keeping it for context):
The more I think about this, the less certain I am if we even want to calculate features in the nominal frame or if a later conversion makes more sense. Anyway, lets discuss this.
Status:
For now this adds a new method and a new container for the calculation of the parameters in the nominal frame.
Since conversion from the camera geometry to the nominal frame requires the telescope pointings, I figured it would be easiest to perform this transformation outside and call the function with a SkyCoord containing the pixel positions. After writing the code I learnt that the camera geometry also has a transform_to method, so thats another possibility. Would make the API clearer but adds some overhead to the calculation.
There is of course a lot of duplicated code right now since the performed steps are pretty much identical. So if we decide to follow up on this approach, it would be beneficial to put some of that code into an extra function.
Some feature (Intensity/Skewness/...) are identical. If we want to include them in the NominalHillasParametersContainer as well probably depends on whether we want both sets of parameters in stage1 or only one of them.
With the coordinate frames at hand, it is possible to convert from one set of parameters to the other and the results should match.
Questions / Points to discuss

Is this how we want to do it or do we keep the calculation in the camera frame and convert afterwards?
The current image processor does not seem to be aware of the telescope pointing (?). This can of course be easily changed but might be an argument towards a calculation in the camera frame and later transformation so long as there will not be more image features, that should be calculated in the nominal frame. (Timing?)
Do we want to keep both containers or would this replace the calculation in the camera frame? -> Should there be duplicated features like intensity or just the "new" ones? What should be part of the stage-1 tool?

Images, Cog, length and width in the nominal frame:

The more I think about this, the less certain I am if we even want to calculate features in the nominal frame or if a later conversion makes more sense.

From the point of view of ctapipe.reco.HillasReconstructor it would probably be overkill to calculate the parameters in this frame, for 2 reasons:

the only practical gain to go from CameraFrame to any sky-based frame is to remove the optics from the equation and better compare the images afterward (this is at the core of #1408 , not only because of the comparison with CTAMARS)
the only use of the NominalFrame for non-parallel pointing, either from mispointing or from divergent pointing or a mix of the 2 - in the former case we should apply anyway pointing corrections, so the effect would be small, in the latter ctapipe.reco.HillasReconstructor already takes care of this by projecting from the sky to a "fake" array-based CameraFrame, thus nullifying the divergent pointing.

Of course, I see no problem in adding the possibility of having the parameters in yet another frame, but that would complicate #1408 and it's encapsulation in stage2 and I think merging that before would make things clearer also for this PR.

Yeah, the HillasReconstructor does not really care about this.
It is more about what we want to store in dl1 files rather than the dl2 calculation.

@LukasNickel
What we discussed was something else. The task for the next ctapipe release should be to have the DL1 in degrees.
I am no expert in the divergent pointing analysis, so I don't know if it makes sense to go to NominalFrame.
For now, let's keep it simple.

Do not copy the code, just make sure it works when pix_x and pix_y are in degrees.
Use a different container so the difference is transparent
Change the ImageProcessor to do this by default

* Do not copy the code, just make sure it works when `pix_x` and `pix_y` are in degrees.

* Use a different container so the difference is transparent

* Change the ImageProcessor to do this by default

Ok, lets do it like this.

Since we want to switch to the hillas parameters in degree by default I think it would make sense to actually make the HillasParametersContainer the one with the stuff in degrees and have a CameraHillasParameters container.
@kosack @HealthyPear opinions?

Since we want to switch to the hillas parameters in degree by default I think it would make sense to actually make the HillasParametersContainer the one with the stuff in degrees and have a CameraHillasParameters container for the one with unit meters.
@kosack @HealthyPear opinions?

I like the idea!
Should I change this directly into #1408 or we do it here after the merge?

A few comments:

I don't see any reason to keep two copies of the containers.  Just convert everything spatial to TelescopeFrame, and drop the old CameraFrame parts.   (caveat: see last point)
There is a very good reason not to use the NominalFrame (other than it is not used by the HillasReconstructor), and that is that we may update the astrometric (pointing) corrections, which changes the NominalFrame. It is nice to not have to redo DL1 if those change.  Also the center position of the nominal frame is not well defined (by default it is the barycenter of the various telescope pointings, but that may be changed/optimized later).  If we store in TelescopeFrame, it's easy to add any corrections before reconstruction.
In principle you don't even need two containers if you want to retain the ability to compute hillas parameters in any frame.  The original idea was that hillas.x could be in meters or degrees.  The only problem is just that the containers so far force a unit.  If we want to support both cases we could make that container have a constructor argument that specifies the unit or something like that.  It could be useful to support the CameraFrame as well,  as the impact point reconstruction  is done in the camera frame - see all the tricks that Michele had to do to have the psi angle in both Telescope and Camera frame without breaking things..., but it's not really necessary
Another option is to just make a conversion function that converts lengths and angles from one frame to another, and then you can convert HillasParameters (and any other spatial parameters) without having to change the CameraGeometry and re-compute them.

In principle you don't even need two containers if you want to retain the ability to compute hillas parameters in any frame.  The original idea was that hillas.x could be in meters or degrees.  The only problem is just that the containers so far force a unit.  If we want to support both cases we could make that container have a constructor argument that specifies the unit or something like that.

I feel like this makes it harder to keep track of the units and coordinate frames. The reconstructor could then not rely on getting a HillasParametersContainer alone, but would also need to check if its in the correct frame. Also x/y are heavily connected to the camera frame in my opinion. If its still worth it in order to keep a cleaner looking container structure, I do not really know right now.

It could be useful to support the CameraFrame as well,  as the impact point reconstruction  is done in the camera frame - see all the tricks that Michele had to do to have the psi angle in both Telescope and Camera frame without breaking things..., but it's not really necessary

Do you mean, that you want to save results in both coordinate frames in the dl1 output?

Another option is to just make a conversion function that converts lengths and angles from one frame to another, and then you can convert HillasParameters (and any other spatial parameters) without having to change the CameraGeometry and re-compute them.  That could get rid of the need to store the psi angle in two frames as in #1408

General conversion functions for the dl2 reconstructors could be handy, agreed. If we agree on a list of functions, I can add them here, in a new pr or we see it as part of #1408.

Regarding the failing test:
Travis is consistently calculating 0.06638165 deg as the width, while my local tests run just fine with 0.06022414 deg.
Why is there a difference at all? Shouldn't the toymodel produce the same image and the transformation + hillas calculation be identical?

Will be fixed by merging #1589 or removing your cache

I also like the idea of making the HillasContainer a bit more adaptive (I tried to propose this during #1408 in fact).
If there's a way to do this It would be cool to build a HillasContainer with a frame object and a unit, so even if unit is degrees one can differentiate between TelescopeFrame and NominalFrame.
Also because in #1408 I didn't change the Hillass containers, I just write to them in a frame, but I think that for a dummy event the units would be wrong (the values instead would be always either 0 or NaN)

@HealthyPear No, please don't! We should keep containers simple without any logic other then storing / validating data. I think they are too complex as it is.

@HealthyPear No, please don't! We should keep containers simple without any logic other then storing / validating data. I think they are too complex as it is.

Then if we want to store Hillas parameters in more than one frame we have to create at least 2 of them, one for meters and one for degrees.
I don't see many other alternatives...

@kosack The simplest solution would be to just drop one of the options.
I disagree that it is as simple as allowing degrees and meters as units, since we should also use the correct names for the coressponding axes. So fov_lon / fov_lat for the sky frames and x and y for the camera frames.
So it all gets a  bit more complicated when we want to support both.
However, nothing really prevents us from just switching from CameraFrame to TelescopeFrame with a breaking change I think. I think it would be a sensible decision to do that.

However, nothing really prevents us from just switching from CameraFrame to TelescopeFrame with a breaking change I think. I think it would be a sensible decision to do that.

Yes, that was my original plan. I guess it could be done in a phased way though -start out supporting both frames as we do now with 2 classes (and two modes in #1408), but later remove the bits of the HillasReconstructor that operate in CameraFrame mode once we are sure we are happy (keeping both makes it so much more complex and hard to read).

Will be fixed by merging #1589 or removing your cache

That did not do the trick sadly

However, nothing really prevents us from just switching from CameraFrame to TelescopeFrame with a breaking change I think. I think it would be a sensible decision to do that.

Yes, that was my original plan. I guess it could be done in a phased way though -start out supporting both frames as we do now with 2 classes (and two modes in #1408), but later remove the bits of the HillasReconstructor that operate in CameraFrame mode once we are sure we are happy (keeping both makes it so much more complex and hard to read).

As I said, as part of this problem, I believe that now in #1408 there is a problem: a dummy HillasParametersContainer will always have meters as units, even though the analysis is working on degrees....could you cross-check to see if am right?

@HealthyPear That is not a real problem though. You can instantiate a hillas parameters container with nan values in degrees and make sure that is used for non-paremeterized images. You are not forced to use the default for that.

As I said, as part of this problem, I believe that now in #1408 there is a problem: a dummy HillasParametersContainer will always have meters as units, even though the analysis is working on degrees....could you cross-check to see if am right?

Again, it's a good reason to switch completely to TelescopeFrame.  We can leave the CameraFrame container there in case we want it for visualization, but the default should be TelescopeFrame always.  Then there is no problems with default or dummy containers (event.dl1.tel[x].parameters.hillas should be a HillasParametersContainer that is in the TelescopeFrame).   Then, if we provide a way to convert betwen one to the other, you can still support anything you like (e.g. a function like hillas_params_to_camera(HillasParametersContainer) → CameraHillasParametersContainer.
Nevertheless, i don't really care so much about the (x,y) vs (fov_lon, fov_lat) difference, but being consistent is nice.

That did not do the trick sadly

Are you sure there is nothing in ~/.cache/ctapipe ? It should have made it give you the same answer as on github.  Since the pixel areas in the camgeom files now use the correct value rather than a guessed one, it changes the predicted image by 3% or so.

@HealthyPear That is not a real problem though. You can instantiate a hillas parameters container with nan values in degrees and make sure that is used for non-paremeterized images. You are not forced to use the default for that.

Oh right, I didn't realize that
h = HillasParametersContainer(x = 4 * u.deg)

h.x
<Quantity 4. deg>

h.y
<Quantity nan m>

Nevertheless I think I will need to correct #1408 where I do simply h = HillasParametersContainer()

Nevertheless I think I will need to correct #1408 where I do simply h = HillasParametersContainer()
But then the units problem is not a problem anymore am I right?

No, containers don't check until you call Container.validate() (which gets called when writing)

Also, I didn't want to sound too much crude, but I also don't quite care about the naming of the coordinates...
In the end it's clear what is X and what is Y in the sky as soon as you say in which reference system you are (like AltAz())

Nevertheless I think I will need to correct #1408 where I do simply h = HillasParametersContainer()
But then the units problem is not a problem anymore am I right?

No, containers don't check until you call Container.validate() (which gets called when writing)

OK but then there IS a problem in the end, am I right?
As soon as we write, if I do not initialize the dummy container with the right units, the check will fail

As soon as we write, if I do not initialize the dummy container with the right units, the check will fail

Yes, but you can do that, so not a problem

Also, I didn't want to sound too much crude, but I also don't quite care about the naming of the coordinates...

I do care. I think it is important to avoid mental mapping here.

Also, I didn't want to sound too much crude, but I also don't quite care about the naming of the coordinates...

I do care. I think it is important to avoid mental mapping here.

Would it be so crazy to add a frame Field to HillasParametersContainer container and make hillas_parameters write it via the CameraGeometry object?
In this way, there would never be ambiguity.

Yes, imho it would.

I do care. I think it is important to avoid mental mapping here.

Actually, the more I think about it I tend to agree- these lon/lat values cannot be used in the same way as an x,y value as they are not a cartesian projection (i.e. fov_lon is degrees along a line of latitude, not degrees on the sky, which differ by 0.4% at 5 degrees in latitude in the camera in this system).

I still like the idea of just adding some functions to ctapipe.coordinates like angle_camera_to_telescope(angle) and distance_camera_to_telescope(distance) that convert these quantities, so we can just drop the camera frame parameters.

@kosack These are spherical coordinates. The difference at the diagonal edges of an sst fov is this:
In [1]: from astropy.coordinates import SkyCoord

In [2]: from ctapipe.coordinates import TelescopeFrame

In [3]: coord = SkyCoord(5, 5, unit='deg', frame=TelescopeFrame())

In [4]: center = SkyCoord(0, 0, unit='deg', frame=TelescopeFrame())

In [5]: import numpy as np

In [6]: np.sqrt(coord.fov_lon**2 + coord.fov_lat**2)
Out[6]: <Quantity 7.07106781 deg>

In [7]: coord.separation(center)
Out[7]: <Angle 7.06657439 deg>

@kosack These are spherical coordinates. The difference at the diagonal edges of an sst fov is this:

Yes, that is exactly what I said above. Not sure I get your point.  At 5.0 degrees offset in longitude from the center of the camera, a difference in spherical latitude is  about 0.4% different than a difference in actual angular separation.  It's small, but have to still be careful not to confuse the two.

@kosack I think these should be gone after the conflicts are resolved since those changes are already in master.

@kosack Yes, those changes are gone after merging master / fixing conflicts.

The new test for the hillas_intersection reconstructor fails, because the reconstructor requires hillas parameters in the camera frame which the test does not provide.
Should I change it (plus the HillasReconstructor while we are at it) to support both parametrizations or only the parameters in the telescope frame? Should not be too much work to support both, but it probably adds complexity we don't really need?

I'd say we limit ourselves here to DL1b and leave the testing/usage of this new feature to subsequent PRs.

Ok, than we just skip the test here?

I'd say we limit ourselves here to DL1b and leave the testing/usage of this new feature to subsequent PRs.

I disagree. If we change the default to degrees, we need to make sure that all implemented reconstruction methods can work with that.
The test fails for a reason. The code needs to be fixed. Just deactivating the test is not the solution.

From what I can see from your changes you have introduced a new CameraHillasParametersContainer which contains by default quantities in meters, but then in the test you initilize the container with quantities in degrees by converting the camera quantities with the focal length.
Maybe I missed something along the way, but why calling it CameraHillasParametersContainer if then you don't use camera-based quantities?

Then in this PR leave the default to meters?

No, just fix the code here.

Never said this....

The rule is not to break the master. You proposed to merge the changes and fix the code in another PR. That is not what should be done.

From what I can see from your changes you have introduced a new CameraHillasParametersContainer which contains by default quantities in meters, but then in the test you initilize the container with quantities in degrees by converting the camera quantities with the focal length.
Maybe I missed something along the way, but why calling it CameraHillasParametersContainer if then you don't use camera-based quantities?

You mean the test_intersection_xmax_reco() test?
I assume, that I just replaced HillasParametersContainer with CameraHillasParametersContainer everywhere and didnt realize it was using degrees before. Thats the only reason I can imagine right now.

From what I can see from your changes you have introduced a new CameraHillasParametersContainer which contains by default quantities in meters, but then in the test you initilize the container with quantities in degrees by converting the camera quantities with the focal length.
Maybe I missed something along the way, but why calling it CameraHillasParametersContainer if then you don't use camera-based quantities?

You mean the test_intersection_xmax_reco() test?
I assume, that I just replaced HillasParametersContainer with CameraHillasParametersContainer everywhere and didnt realize it was using degrees before. Thats the only reason I can imagine right now.
To be honest: That was pretty hacky even before, setting x/y to some fov_lon/lat in the test

yes but also later there is a test that starts in nominal frame

Sorry, yes I marked a couple of false positives, but there are some where you really construct a CameraHillasParametersContainer with values in degrees (from nominal frame).

Then in this PR leave the default to meters?

No, just fix the code here.

Never said this....

The rule is not to break the master. You proposed to merge the changes and fix the code in another PR. That is not what should be done.

not really - what I am proposing is to leave meters as defaults and just add the possibility to have parameters in degrees
you write in the docs that reconstructors expect support only meters and there is no problem...
anyway do as you please , I just wanted to avoid duplicating code between PRs

I thought we should first merge the other PR adding the possibility to use them in degrees and than this one making it the default. But we could also change the target branch and do them in one go. Merging this into #1408 and not into master.
My main point is: the default should work with the reconstructors.

I thought we should first merge the other PR adding the possibility to use them in degrees and than this one making it the default. But we could also change the target branch and do them in one go. Merging this into #1408 and not into master.

Maybe this is the important point. Is there any work, that still needs to be done in #1408 or just reviews and clean up and is there any reason to stall both PRs any longer (as in first releasing another release without this breaking change)?

Not super happy with adding the BaseHillasParametersContainer and BaseTimingParametersContainer to __all__, but I have not found another way to build the docs.

Yes, I think we should merge #1408 first or merge the two together, since there is some overlap, particularly since this now also modifies the HillasReconstructor.  Perhaps open a third branch where the two can be integrated?

@kosack #1408 is already merged

@kosack #1408 is already merged (by you 2.5 weeks ago ;))

:-) Clearly my memory is already on summer vacation.  Then yes, there is no problem with this other than maybe a switch to test out both versions

Added an option to use the camera frame for the ImageProcessor. Its not available from the stage1 tool, is that a thing we want/need? I wasnt sure how that would work with the changed datamodel version.
Merged the master and resolved some conflicts. Due to the changes in the datamodel in the master (indices lookup) this change now leads to version 2.1 instead of 1.3 of the datamodel

Sorry, thought I pushed that yesterday.
@kosack What did you use for that comparison? Diffuse or pointlikes?

Sorry, thought I pushed that yesterday.
@kosack What did you use for that comparison? Diffuse or pointlikes?

It shouldn't matter, but better check with both.

@kosack What did you use for that comparison? Diffuse or pointlikes?

point-like.  This was just a quick test to make sure it was not crazy.  We should do a proper benchmark later.

@kosack What did you use for that comparison? Diffuse or pointlikes?

point-like. This was just a quick test to make sure it was not crazy. We should do a proper benchmark later.

we should have a small diffuse test file with 10 showers if I recall correctly

It shouldnt, I am just curious especially if there is a bias

we should have a small diffuse test file with 10 showers if I recall correctly

I dont think 10 showers will suffice for this kind of benchmark

@HealthyPear  There's already a unit test for this for HillasReconstructor, test_CameraFrame_against_TelescopeFrame so no need here, I just wanted to be sure the mechanism all works with ctapipe-process.


Formula Columns

What would you like to be added?
Adding the ability to perform formulaic operations of a row's raw data allows for more tailored project reviewing.
Why is this needed?
Currently, there is no way to automate data interpretation. Here are some possible use cases:

If I have a column for "due date" and another column for "date completed", there is no way to clearly see which projects were completed late despite the raw data being present. A formula column could indicate whether a project is "X days overdue" or not.
If I am planning projects for a sprint and have a column for "event date", there is no way to clearly see which week of the sprint that event date falls into. If my sprint begins May 1, an event on May 10 could have a formula column which clearly states "Week 2" to indicate to the viewer that this is an event during the second week. Likewise, July 4 would show as "Week 10".

The specific examples on date sound related to #363 from a development prospective.


Add failing test for negative .gitignore rules

This test demonstrates the bug that negative entries in .gitignore now get linted even if we don't include them in the list of files we want linted.
See: https://github.com/sindresorhus/xo/pull/195#issuecomment-287563834

Stumbled upon another issue, a test on Windows is not actually working:
test('ignore files in .gitignore', async t => {
	const cwd = path.join(__dirname, 'fixtures/gitignore');

	try {
		const result = await execa('../../../cli.js', ['--no-local'], {cwd});
	} catch (err) {
		t.is(err.stdout.indexOf('foo.js'), -1);
		t.true(err.stdout.indexOf('bar.js') !== -1);
	}
        // No error gets thrown, therefore the test passes even though it shouldn't.
});

That is why my 'failing' test ended up passing and that is why the build is broken.
Any help from more knowledgable people is appreciated.

Fixed by https://github.com/sindresorhus/xo/pull/204.

Thanks for the tests @JonnyBurger 🙌


Use TypeScript types during bundling

If the Edge handlers is written in TypeScript and is using our type definitions, should Rollbar throw an error while transpiling TypeScript and there is a type error? At the moment, it does not seem to.

Good point, we need to create a way of capturing any type errors and propagating it to the user when bundling

I would expect Rollup to use tsc under the hood for transpiling TypeScript, so there might an option to surface tsc errors/warnings.

We have removed the TypeScript transpiling, so this can be closed.


Request tutorial for unclogging extruder

need detailed guide for un clogging the R2 hotend

@CobyKabili @peries
I updated the old Clogged Extruder guide because it did not seem very useful.

@mnacinopa steps are missing 2-3. It's acting up again

Should be fixed. Added it to the C2 side as well.


ctrl-t is my tmux character, so...

Here are ways to use other characters in vim for tmux splitting.

I am almost totally certain that my changed didn't cause that build failure, as the build failure is about Go or something and I only touched the vim plugin.

Hi, thanks for suggestion.

my changed didn't cause that build failure

I know, don't worry about that.
I have to mention that I'm not sure if I want to put configuration variables all over the code for different customization needs, when the entire definition of :FZF spans only 20~30 lines. Users with different tastes can easily copy the code onto their .vimrc and change it to their liking with no restriction. The added bonus is that by doing so, they'll learn how to use fzf#run() function. (Actually I even want to remove the pre-existing config knobs and simplify the code and the documentation. For example, g:fzf_tmux_height has now become an invalid name since Neovim terminal integration.)
Having said that, there are some points I don't agree with your implementation. I think the code should be more generic. For example, what if a user wants to have two separate keys for opening file on the left and on the right? We don't want to add more configuration variables.
Other minor points that don't match my personal taste :)

Commit message
Excessive margins around |
Lines well over 80 column-limit
Invalid description on README (--extend?)

I'll write my own version of the code tonight and let you know.

On Wed, Apr 15, 2015 at 03:12:47AM -0700, Junegunn Choi wrote:

Hi, thanks for suggestion.

my changed didn't cause that build failure

I know, don't worry about that.
I have to mention that I'm not sure if I want to put configuration
variables all over the code for different customization needs,
when the entire definition of :FZF spans only 20~30 lines. Users
with different tastes can easily copy the code onto their .vimrc
and change it to their liking with no restriction. The added bonus
is that by doing so, they'll learn how to use fzf#run()
function. (Actually I even want to remove the pre-existing config
knobs and simplify the code and the documentation. For example,
g:fzf_tmux_height has now become an invalid name since Neovim
terminal integration.)

The flip side of that, though, is that users lose access to any
good changes you implement that they might have wanted, unless they
specifically make a point to compare their code to yours on
occassion.

Having said that, there are some points I don't agree with your
implementation.

It's my first vimscript.  :D

I think the code should be more generic. For example, what if a
user wants to have two separate keys for opening file on the left
and on the right?

Fair point.

Other minor points that don't match my personal taste :)

Commit message
Excessive margins around |
Lines well over 80 column-limit
Invalid description on README (--extend?)

I'll write my own version of the code tonight and let you know.

Sure.
--
http://intelligence.org/ :  Our last, best hope for a fantastic future.
.i ko na cpedu lo nu stidi vau loi jbopre .i dafsku lu na go'i li'u .e
lu go'i li'u .i ji'a go'i lu na'e go'i li'u .e lu go'i na'i li'u .e
lu no'e go'i li'u .e lu to'e go'i li'u .e lu lo mamta be do cu sofybakni li'u

Okay, now you can use g:fzf_action to set up key bindings. See: https://github.com/junegunn/fzf/wiki/Examples-(vim) Thanks!

By the way, binding ALT key bindings (which is essentially ESC + ?) doesn't work on Neovim, and it's a known issue.
https://github.com/neovim/neovim/issues/2269

Works for me (cb7bb70c4902a38165e3d1cb3158704dbac228c4):
:nn <m-/> :echo '/'<cr>
:nn <m-?> :echo '?'<cr>

Oh that's way better.  Thank you!
On Wed, Apr 15, 2015 at 06:56:06AM -0700, Junegunn Choi wrote:

Okay, now you can use g:fzf_action to set up key bindings. See: https://github.com/junegunn/fzf/wiki/Examples-(vim) Thanks!

Reply to this email directly or view it on GitHub:
https://github.com/junegunn/fzf/pull/189#issuecomment-93410654

--
http://intelligence.org/ :  Our last, best hope for a fantastic future.
.i ko na cpedu lo nu stidi vau loi jbopre .i dafsku lu na go'i li'u .e
lu go'i li'u .i ji'a go'i lu na'e go'i li'u .e lu go'i na'i li'u .e
lu no'e go'i li'u .e lu to'e go'i li'u .e lu lo mamta be do cu sofybakni li'u

The added bonus is that by doing so, they'll learn how to use fzf#run() function.

Completely agree with this, I would like to have to put the fzf#run in my .vimrc, so that I can see what exactly is run by FZF and hack on it if you want


Issue 305 - bug fix in BooleanDataTypeHandler

Fixes
Issue #305 - Bug in BooleanDataTypeHandler
Description
The handler was increasing the 'n' variable only on true values.

thanks @yifatso. The test failing in master is an existing issue not related to this commit, approving.


README.md - "URL rewriting" link doesn't work

It refers to https://gist.github.com/874000, which doesn't exist. Is it available somewhere else?
As a noob, I need to know all the instructions how to set this up.

While I can't help with the Gist link, I can point you in another direction, at least.
URL rewriting can be found here: Sub-Directory Installation. Look under the "In Server Configuration" section.

From #176 seems like the content of that gist is:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]


Fix IE "Invalid calling object" error (attach to DOM and then compile)

Hi.  I'm using ocLazyLoad in combination with angular-material and have run into an issue where using md-tabs in a lazy loaded module is causing "Invalid calling object" errors in IE11.  Inside of the tabs controller, elements are being saved for variables using the getElementsByTagName() function.  IE is invalidating the saved HTMLCollection objects once the compiled element is added to the parent DOM (this error does not occur in Firefox or Chrome).  As a fix, the content should first be added to the parent DOM and then compiled (in ocLazyLoad.directive.js).
I've added a test to highlight this error which can be run without the fix on my ie_invalid_test branch.  It can be observed by running gulp karma (with singleRun: false) and then opening IE11 to the karma port.  In my tests, IE11 is also failing another test around a missing file, so you may have to focus on the specific test (change it to fit) in order to isolate this issue.
I'm also not sure why the build messed with the whitespace on the polyfill.  If you like, I can see about cleaning that up.  Also, I can file an issue for tracking and discussion, if you like.
Thank you for your time and consideration as well as your excellent work on this very important library!

\o/ a PR with a test!!
Thanks a lot, I'll take a look at it :)

Ahah looks like I just got the bug in one of my projects when I tester in IE.
Merging this, thanks :)

Hmm I still have the same error on IE :-/

Sorry to hear that.  I'll take a look at master and see if I can reproduce the issue.  I was testing with IE11.  What version of IE were you testing with?

It's ok, I fixed it in a new commit :)
I tested with IE11 as well... not sure why it was working with you and not with me, maybe a race condition.

Thanks for tweaking my fix.  Your changes look good.  I appreciate you working with me on this one and getting it closed quickly!

@ocombe Sorry to bug you, but can you also publish 1.0.8 to npm?  I'm only seeing 1.0.7 currently.  Thanks!

Yes sorry, done ! Thanks for the reminder :)


[stable/karma] Add deployment.annotations parameter

Is this a new chart
No.
What this PR does / why we need it:
This PR adds a deployment.annotations parameter to the Karma chart, which sets annotations on the Karma deployment.
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)
N/A
Special notes for your reviewer:
N/A
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
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/assign @davidkarlsen

/ok-to-test

/lgtm


"ajv compile --code-esm" outputs "error: parameter --code-esm is unknown"

Hi Folks. I'm trying to compile my schema to an ES module, but my command npx ajv compile --code-esm -s src/schema.json -o src/validate.js prints error: parameter --code-esm is unknown in spite of that option being documented at https://ajv.js.org/standalone.html :

Set the code.esm (JS) value to true or pass the --code-esm (CLI) flag if you want ESM exported code.

Running that command without --code-esm prints schema src/schema.json is valid and generates src/validate.js, which shows my inputs are otherwise ok.
What version of Ajv are you using? Does the issue happen if you use the latest version?

"ajv": "^8.12.0"
"ajv-cli": "^5.0.0"
npm --version  # 9.5.0
node --version  # v18.15.0

Note that running npm install --save-dev ajv resulted in version 6.12.6 being installed (!), so I had to manually run npm install --save-dev<EMAIL_ADDRESS>to get the latest version. Maybe I screwed something up?
What results did you expect?
Output with no error.

Oops - I think this should have gone into https://github.com/ajv-validator/ajv-cli . created: https://github.com/ajv-validator/ajv-cli/issues/234 . Sorry about that.


[Store] Issue when invoking API resource with a token obtained using client_credentials grant type

Description
A valid access token which was generated using client_credentials grant type provides a valid response instead of failing with the error code 401 when invoking a resource where the security type is set to "Application User"
Test Case ID: <IP_ADDRESS>

@nipunsampath how did you set the security type to 'Application User' for the resource? Asking because in AM 3.0.0 this concept is not there. It has either secured or not only

@chamilaadhi I changed the x-auth-type to "Application User" in swagger definition.

Can you please provide the error response that you are getting, and what is the value you provided for x-auth-type

I have set x-auth-type as x-auth-type: "Application User". Also, I'm getting a valid response, instead of an error message. Test Case ID: <IP_ADDRESS> in Testing with scenarios (google sheet) states that I should not be getting a valid response when invoking a API resource with "Application User"  security type using a token obtained using client_credentials grant.

This Application/Application User separation is removed in AM 3.0.0. What is supported now whether the resource is, secured or not.  x-auth-type: "None" is considered as not secured and anything other than that (ex: Application, Application User) will be considered as secured. (to provide backward compatibility for APIs created from previous APIM version)


ion-tab navigation bar out of sync with page display when using deeplinks on mobile device

Ionic version:  (check one with "x")
[ ] 1.x (For Ionic 1.x issues, please use https://github.com/ionic-team/ionic-v1)
[ ] 2.x
[x] 3.x
I'm submitting a ...  (check one with "x")
[x] bug report
[ ] feature request
[ ] support request
Current behavior:
The tab navigation buttons do not correspond to the page being displayed when the app is opened through a deeplink. Opening the app through regular means (dashboard, xcode, terminal, etc) does not exhibit this behaviour and the tabs are working as expected.
But when using deeplinks to launch the app, if I open myapp://host/about or any other matched routes, the app will be opened to the foreground with the correct selected tab highlighted in the navigation bar(see screenshot below)

However as soon as I click on other tabs using the navigation bar, the highlighted navigation tab does not update to match the displaying tab page (see screenshot: Current selectedTab/displayed page = ContactPage. The navigation bar shows 'AboutPage' is selected instead)

When it does update, it seems the tab navigation is lagging behind 1 click (see screenshot: Current displayed page = HomePage. The navigation shows 'ContactPage' is selected instead)

After two clicks, the navigation tabs stop updating all together, and is stuck on whichever tab that it last updated to.
Expected behavior:
The navigation tab bar should highlight the selected tab aka the displayed page.
Steps to reproduce:

Clone bug demo repo here.
npm install
ionic build ios/android --debug (I'm using ionic CLI v. 2.2.3. Use corresponding CLI build command if using a different version of ionic CLI)
Open link: myapp://example.com/about and launch demo app.
Click on navigation buttons to push a different tab to view.

Related code:

Related source code is located on Github:

app.component.ts
app.html
tabs.ts
tabs.html

Ionic info::
Cordova CLI: 6.5.0
Ionic Framework Version: 3.4.2
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.7
ios-deploy version: 1.9.1
ios-sim version: 5.0.13
OS: macOS Sierra
Node Version: v6.10.2
Xcode version: Xcode 8.3.3 Build version 8E3004b

Thanks for the detailed info! @danbucholtz is working on nav improvements for the next version, and most likely will check this out.

@sharonsw , you can check out the latest nightly which already has some of the improvements that @AmitMY mentions. To install ionic-angular nightly just run npm install ionic-angular@nightly --save.

Some more info about the issue: After comparing the events fired when an ion-tab page is accessed via deeplink vs. accessed via dashboard, it seems like the TabPage is leaving and unloading itself inappropriately before the selected tab is even loaded/entered:
Using deeplink app://host/about
ionViewDidEnter (tabs.ts)
ionViewDidLeave (tabs.ts)
ionViewWillUnload (tabs.ts)
ionViewDidEnter (about.ts)

Using other navigation (e.g. though signing in)
ionViewDidEnter (tabs.ts)
ionViewDidEnter (about.ts)

@jgw96 I have updated ionic-angular to 3.5.0. Still an issue with the Tab Nav icons out of sync so I guess unfortunately the fix did not make it to the new release?

Hi, may i ask if this Tab Nav icons out of sync has been resolved? I'm still facing the problem. Thanks in advance for helping!


[lighthouse] organize ToC by category

What's changed, or what was fixed?

organizes the LH references under their respective categories

Fixes: N/A
Target Live Date: 2018-03-02

[x] This has been reviewed and approved by @kaycebasques
[x] I have run gulp test locally and all tests pass.
[x] I have added the appropriate type-something label.
[x] I've staged the site and manually verified that my content displays correctly.

CC: @petele

:+1:

:tada: This has been pushed live to https://developers.google.com/web/


Fix of HostConfig being lost when starting containers from the list

fix for #78
Checks whether a container is being started and fetches it's config before starting
Tested on Docker 1.4.1

LGTM, thanks for the fix.


Error: Diqwest(RequestBuilderNotCloneable) Request body must not be a stream

Hi,
First, thanks for this crate. It's useful.
I'm encountering sort of an edge case where I'm consuming an API endpoint that requires digest auth and a multipart/form-data body.
Upon sending the request with send_with_digest_auth(), I get the error as written in the title.
I've been having some difficulty finding the same use case and solutions following some google search. Would you have a suggestion?
I'm passing a Vec<u8> to reqwest::multipart::Form, and that buffer is acquired from std::fs::read().

Will close this issue because I have found a solution. I simply built the multipart body manually, in memory. This way it's a cloneable body and doesn't trigger the "You can't use a stream in the body", or somesuch.
It's not very elegant and there seems to be crates out there that could do the heavy lifting, so for anyone stumbling upon this make sure to take a look.
Bit of a bummer though. For my use case the transfered files are super small but for larger file sizes finding another solution is probably preferable.


Log4j2 reconfig

Closes #1458

The idea here is to move the Log4j2 initialization/shutdown natively to web.xml. We preserve the custom config location functionality using the method discussed here: https://logging.apache.org/log4j/2.0/faq.html#reconfig_from_code
This has the effect of shutting down the LoggingContext as the very last thing during shutdown of the web app.

@mmoayyed please review and let me know if I missed any other functionality covered by our logging customizations.

I'll have to run some tests locally, but two things initially caught my eye:

One objective of the previous code was to not tie the code to log4j but use reflection to locate the logger framework. In this patch, we are explicitly importing log4j components into the CAS code, which will likely make it hard if not impossible for someone to use something like logback. Frankly, I don't think allowing folks to use a different logging tool is a big deal at all and I am ok with this aspect of the patch, but wanted to make sure I bring that to your attention.
Shouldn't we shut down log4j per your link's instructions?

CAS will be more tied to log4j but deployers can switch to other logging frameworks. It looks good to me.

Tested. Looks good.

Actually, I take that back. I do see:
25-Jan-2016 04:03:48.073 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas-server-webapp-4.3.0-SNAPSHOT] appears to have started a thread named [Log4j2-Log4j2Scheduled-5] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 sun.misc.Unsafe.park(Native Method)
 java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
 java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
 java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
 java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
 java.lang.Thread.run(Thread.java:745)
25-Jan-2016 04:03:48.076 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [cas-server-webapp-4.3.0-SNAPSHOT] appears to have started a thread named [Log4j2-AsyncLoggerConfig-6] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 sun.misc.Unsafe.park(Native Method)
 java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
 com.lmax.disruptor.BlockingWaitStrategy.waitFor(BlockingWaitStrategy.java:45)
 com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:56)
 com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:124)
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
 java.lang.Thread.run(Thread.java:745)

Hmm, it wasn't reporting any threads for me on 4.2.x, I'll retest to see if I see the same behavior

Regarding switching loggers in cas, I remember seeing a recent thread somewhere about a deployer wanting to use logback instead of log4j.

I think supporting logback is more of a nice-to-have at this point. All empiricial research data shows log4j2 performs better than most other frameworks, so personally, I am fine with this approach here, but I want to make sure we get rid of the noisy threads.

Plus, I think this sort of thing is inevitable for #1151

@mmoayyed just noticed your posted log was for cas-server-webapp-4.3.0-SNAPSHOT did you port the changes to 4.3.0 already, or just deploy the wrong war? this patch was targeting 4.2.x and would need to be applied to master as well for 4.3.x.
I just recompiled 4.2.x and tested, I'm not seeing any leaking threads there.

 My mistake. Let me merge this back.

Merged and tested. You're right. Issue is resolved.