Guide: Basic cryptography

Hash (SHA-1/2/3)
HMAC
Private/public key (RSA, ECDSA)

You should not encourage people to run their own cryptography.

@identitymonk Not on how to implement crypto stuff. Just the various encoding formats and when/how to use them. Like https://thecopenhagenbook.com/cryptography/ecdsa

Like you said yourself this guide is about explaining and implementing OAuth2/OIDC only.
There are plenty of guides for the equivalent on the cryptographic front. By adding your own section to the mix you:

Giving the impression that the reader needs to do this
You are forced to be exact and up-to-date, otherwise you will misguide people and could be held accountable
You are forced to write big uppercase and bold disclaimer like in the following section:

In the most basic form, hashing is a one-way process to generate a unique representation of the input. The same input should result in the same hash. Unlike encryption, it is not reversible - you can't get the original data from the hash. Popular examples include MD5, SHA-1, and SHA-256 - DO NOT USE THESE FOR PASSWORDS.

The point (3) is very disturbing. Readers are like "oh this si what I should do. Oh wait.... I should not do it. what should I do then?"

@identitymonk

Like you said yourself this guide is about explaining and implementing OAuth2/OIDC only.

Where did I say that?

As such, slow hashing algorithms specifically designed for passwords are used. Common hashing algorithms like SHA-256 are designed to be as fast as possible.

It's written below it? And then it explains common parameters for Argon2id/Scrypt/Bcrypt.
I'm not really sure what the issue is? The point of the book is to provide info on these kind of low level stuff.


[EDA] Prevent Deletion of Contact if There are Associated Child Records

Critical Changes
Changes
Updates to Ensure Data Integrity

We've added functionality to prevent the deletion of any Contact record that has related Address, Affiliation, Application, Attendance Event, Attribute, Behavior Involvement, Contact Languages, Course Connection, Course Offering (Faculty), Program Enrollment, Relationship, Test records. This change is for internal-use only and is disabled at this time. You won't see any difference in functionality.
Note: We strongly recommend that EDA Admins don't manage Hierarchy Custom Settings directly and, instead, use the EDA Settings UI.

Issues Closed
Closes #904
New Metadata
Deleted Metadata
Testing Notes

Passes QA - Merging
Will Close WI


Formatter to support not splitting array in a paren expression

Add to recognize arrays using syntax (({ }}) and not to split formatting.
Example:
items = (({
"item", "Desc.\n",
}));
Gets changed to:
items =
(
({
"item",
"Desc.\n",
})
);

This is by design. If your first array element is on a separate line from the array opening brackets, the formatter will go into "multiline" mode and space everything out vertically.  As long as the first element is on the same line, it will collapse everything like you're looking for.
Example:
test() {
    items = (
        ({"item",
        "Desc.\n",
        }));
}

will generate:
test() {
  items = (({"item", "Desc.\n"}));
}


A backend-agnostic layer

Addresses #55
This PR adds support for a backend-agnostic middleware layer. Lacks some documentation and examples.

@cbeck88
Is this something you're looking for?


bootstrap: Stop using the Bootstrap form-horizontal CSS class.

According to the initial solution proposed for the problem by Tim Abbott, Bootstrap dependencies of form-horizontal were removed in 10 out of 21 files that have the class in question. All 10 modified files are in static/templates/settings.
To verify such changes I analyzed both the "before" and "after" visuals of them and did the test of filling out the forms after the removal of the class, and such forms continued to work normally.
Fixes: Part of #22954.
Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

I tested this and we definitely need to add back some CSS rules to elements to make the design same as before.

First the input box here is not aligned with the dropdown.

The space between some elements have increased due to more margin. See the second image (after the changes of this PR) below has more space between the dropdowns than the first one.
Before -

After -

Let me answer in parts, according to each of the topics.

I understood the problem, but I found it strange because this input of the number of days appears disabled for me and I was logged in as an administrator. Can you tell me why it happened?
I hadn't noticed this small detail, but I believe I may have found a solution to the problem and would like to know if it is acceptable. While I was performing the tests again, I noticed that the problem really was in the margin of the input. So, I looked for the part in the CSS code where input IDs are defined and after two small modifications of adding a margin-bottom: 0px; in settings.css, the visual issue was resolved. This was the modification:

.setting_desktop_icon_count_display,
#id_realm_waiting_period_setting,
#id_realm_create_public_stream_policy,
#id_realm_create_private_stream_policy,
(...)
#id_realm_message_content_edit_limit_seconds,
#id_realm_delete_own_message_policy,
#id_realm_message_content_delete_limit_seconds {
    width: 325px;
    margin-bottom: 0px;
}

#id_realm_bot_creation_policy,
#id_realm_giphy_rating,
#id_realm_org_join_restrictions {
    width: 100%;
    margin-bottom: 0px;
}

It's possible to clearly see the modifications through the following screenshots of after removing the form-horizontal and after removing it and having made the change in the CSS code:

@sahil839 does it make sense for you to take over completing this PR?

Yeah sure. I will start working on this next week.

Closing in favor of https://github.com/zulip/zulip/pull/24057, thanks for working on this @isabellalcarmo!


Fix indentation of bundler executable

Thanks so much for the contribution!
To make reviewing this PR a bit easier, please fill out answers to the following questions.
What was the end-user problem that led to this PR?
bundle binstubs bundler generates the file like followings.
require "rubygems"

m = Module.new do
    module_function

  def invoked_as_script?
    File.expand_path($0) == File.expand_path(__FILE__)
  end
(snip)
end

What was your diagnosis of the problem?
My diagnosis was...
the template's module_function line is not match to other lines.
What is your fix for the problem, implemented in this PR?
I fix the template.
Why did you choose this fix out of the possible options?
no other options.

Thanks!
@bundlerbot r+

@bundlerbot retry


How to interact with page to set appropriate cookies/local storage?

Thanks for the awesome screensaver.  I'm using it as an information radiator for my software team, displaying a build monitor that jenkins provides for us.  I am challenged though as the build monitor plugin allows for the web user to set settings in terms of number of columns and font size.  This is stored in the browser cache.  I can't figure out a way to have set the browser cache for the webviewscreensaver browser because when I go to click the button the the page, the screen saver turns off.  If there a way to interact with a web page using the webviewscreensaver in order to prime browser cache values in an interactive way?

@is-digital-services I also ran into this, but I think this is a duplicate of issue #31 .

It's now possible to preview an entry and interact with the website during configuration with version v2.3+


[PR Workflow] Bug: Commits made in rapid succession often lead to GitHub checks being stuck in queued state

Consider this PR:

https://github.com/Azure/azure-rest-api-specs-pr/pull/15148

Before I ran the /azp run command here, the GitHub checks were stuck in queued state.
Th last two commits were made in rapid succession at 1:11 AM and 1:14 AM PST, Nov 17, 2023:

Taking as an example the PR Summary check, we can see:

Check run ID<PHONE_NUMBER>1 corresponding to 1fec022, succeeded at 1:17 AM PST

Backed by build 3271666 for 1fec022
Corresponds to unifiedPipelineBuildId of 2d3c1b9c-b7ab-4c10-a5c1-f39354dd4d62

Check run ID<PHONE_NUMBER>5 corresponding to 42f4ee3

Backed by build 3271673 for 42f4ee3
Corresponds to unifiedPipelineBuildId of 86f51f96-58c1-49b6-8da1-3dd8906e92bb

The openapi-alps logic did successfully compute the latter check of<PHONE_NUMBER>5 is in completed state but it determined there is no need to push that change to the PR in GitHub. The specific Kusto log from the time of 2023-11-17 09:21:08.9544747 UTC / 2023-11-17 01:21:08.9544747 PST says:

processEvent: prUrl: https://github.com/Azure/azure-rest-api-specs-pr/pull/15148, updateUnifiedPipelineDb: false, {"env":"prod","source":"github","unifiedPipelineTaskKey":"Summary","unifiedPipelineSubTaskKey":"","unifiedPipelineBuildId":"86f51f96-58c1-49b6-8da1-3dd8906e92bb","pipelineBuildId":"3271673","pipelineJobId":"d6a48a56-e996-55ca-2302-c3a9a7be685b","pipelineTaskId":"","logUrl":"https://dev.azure.com/azure-sdk//internal/_build/results?buildId=3271673&view=logs&j=d6a48a56-e996-55ca-2302-c3a9a7be685b","labels":["ARMChangesRequested","ARMReview","resource-manager","RPaaS","new-api-version","CI-MissingBaseCommit"],"status":"completed","result":"success","subTitle":"","logPath":""}

which was caused by the logic evaluation as captured by the previous log in the same second:

processUnifiedPipelineRunEvent: prUrl: https://github.com/Azure/azure-rest-api-specs-pr/pull/15148, event.unifiedPipelineTaskKey: Summary, event.status: completed. Task upBuildId/upTaskKey/upSubTaskKey: 86f51f96-58c1-49b6-8da1-3dd8906e92bb/Summary/ is not equal to latest buildId of pr.currentBuildId: 2d3c1b9c-b7ab-4c10-a5c1-f39354dd4d62. Returning early.

I analyzed the logs and there does not appear to be any reason for this to happen: the logs denote everything happened in sequence. Specifically, we can see that these logs happened in sequence, at 2023-11-17 09:12:17.7245650 UTC and 2023-11-17 09:14:30.3441131 UTC, over 2 minutes apart:

'[PipelineBot]: triggerPipeline triggerType: PR: PR: https://github.com/Azure/azure-rest-api-specs-pr/pull/15148: adding following tasks:
(...)
{
"queuedAt": "2023-11-17T09:12:17.409Z",
"env": "prod",
"name": "Summary",
"status": "queued",
"checkRunId":<PHONE_NUMBER>1,
"checkRunUrl": "https://github.com/Azure/azure-rest-api-specs-pr/pull/15148/checks?check_run_id=18777934021"
},

'[PipelineBot]: triggerPipeline triggerType: PR: PR: https://github.com/Azure/azure-rest-api-specs-pr/pull/15148: adding following tasks:
(...)
{
"queuedAt": "2023-11-17T09:14:30.037Z",
"env": "prod",
"name": "Summary",
"status": "queued",
"checkRunId":<PHONE_NUMBER>5,
"checkRunUrl": "https://github.com/Azure/azure-rest-api-specs-pr/pull/15148/checks?check_run_id=18777999165"
}

They are relevant because the log is emitted just after the unifiedPipelineBuildId gets updated in the database:

pipelinePullRequest.currentBuildId = unifiedPipelineBuildId;
(...)
await pipelinePullRequestCol!.put(pipelinePullRequest);

Hence the currentBuildId should be 86f51f96-58c1-49b6-8da1-3dd8906e92bb and not 2d3c1b9c-b7ab-4c10-a5c1-f39354dd4d62.
I submitted following PR to gain more diagnostic logs:

Pull Request 511850: Add logs to debug issues with unifiedPipelineBuildId and pipelinePullRequest.currentBuildId

Kusto query used for investigation: Web

This is as yet unsolved. I added new diagnostic logs here:
https://devdiv.visualstudio.com/DevDiv/_git/openapi-alps/pullrequest/511850
And haven't look at them yet. Doing so will hopefully reveal the root-cause. Hence this is the next step.


Map render Failed

Describe the bug
Just switched to core-2023.8.0b0 and the map->image capability disappeared
To Reproduce
Install core-2023.8.0b0
Expected behavior
Before everything was working fine, I even had on top to the map the real-time path of the vacuum displayed (+ capabity to select zones etc)
Screenshots

Additional Information (please complete the following information)

Model Name [e.g. dreame.vacuum.p2028]: dreame.vacuum.p2009
Firmware Version [e.g. 1156]: 4.1.8_1132
Home Assistant Version: core-2023.8.0b0
Configuration Type [With map support]:
Errors or warnings shown in the HA logs (if applicable):

2023-07-27 00:21:33.113 ERROR (MainThread) [custom_components.dreame_vacuum.dreame.map] Map render Failed: Traceback (most recent call last):
File "/config/custom_components/dreame_vacuum/dreame/map.py", line 3744, in render_map
image = self.render_objects(
^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dreame_vacuum/dreame/map.py", line 3938, in render_objects
self._layers[MapRendererLayer.SEGMENTS][k] = self.render_segment(
^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dreame_vacuum/dreame/map.py", line 4624, in render_segment
tw, th = draw.textsize(text, text_font)
^^^^^^^^^^^^^
AttributeError: 'ImageDraw' object has no attribute 'textsize'
2023-07-27 00:21:33.195 ERROR (MainThread) [custom_components.dreame_vacuum.dreame.map] Map render Failed: Traceback (most recent call last):
File "/config/custom_components/dreame_vacuum/dreame/map.py", line 3744, in render_map
image = self.render_objects(
^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dreame_vacuum/dreame/map.py", line 3938, in render_objects
self._layers[MapRendererLayer.SEGMENTS][k] = self.render_segment(
^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dreame_vacuum/dreame/map.py", line 4624, in render_segment
tw, th = draw.textsize(text, text_font)
^^^^^^^^^^^^^
AttributeError: 'ImageDraw' object has no attribute 'textsize'

Same problem here... after upgrading to Home Assistant 2023.8.0

I additionally got AttributeError: module 'PIL.Image' has no attribute 'ANTIALIAS'. Disabling AI Obstacle in addition to these fixed it for me.
2023-08-04 17:18:21.723 ERROR (MainThread) [custom_components.dreame_vacuum.dreame.map] Map render Failed: Traceback (most recent call last):
File "/config/custom_components/dreame_vacuum/dreame/map.py", line 3744, in render_map
image = self.render_objects(
^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dreame_vacuum/dreame/map.py", line 4179, in render_objects
self._layers[MapRendererLayer.OBSTACLES] = self.render_obstacles(
^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dreame_vacuum/dreame/map.py", line 5003, in render_obstacles
(size * scale * scale, size * scale * scale), Image.ANTIALIAS)
^^^^^^^^^^^^^^^
AttributeError: module 'PIL.Image' has no attribute 'ANTIALIAS'

Hi, the same thing happens here.
Model name : dreame.vacuum.p2009

Firmware Version: 4.1.8_1132

Home assistant version: 2023.8.1
Supervisor: 2023.07.1
Operating System: 10.4

Configuration type [with map support]: Yes
Errors:

Logger: custom_components.dreame_vacuum.dreame.map
Source: custom_components/dreame_vacuum/dreame/map.py:3769
Integration: Dreame Vacuum (documentation, issues)
First occurred: 23:36:53 (3 occurrences)
Last logged in: 23:39:07
Map render Failed: Traceback (most recent call last): File "/config/custom_components/dreame_vacuum/dreame/map.py", line 3744, in render_map image = self.render_objects( ^^^^^^^^^^^ ^^^^^^^^^ File "/config/custom_components/dreame_vacuum/dreame/map.py", line 3938, in render_objects self._layers[MapRendererLayer.SEGMENTS][k] = self.render_segment( ^^^^ ^^^^^^^^^^^^^^^^ File "/config/custom_components/dreame_vacuum/dreame/map.py", line 4624, in render_segment tw, th = draw.textsize(text, text_font) ^ ^^^^^^^^^^^^ AttributeError: 'ImageDraw' object has no attribute 'textsize'
Warnings:
dreame_vacuum::DreameVacuum is extending the deprecated base class VacuumEntity instead of StateVacuumEntity, this is not valid and will be unsupported from Home Assistant 2024.2. Please report it to the author of the 'dreame_vacuum' custom integration
+
Logger: custom_components.dreame_vacuum.dreame.protocol
Source: custom_components/dreame_vacuum/dreame/protocol.py:525
Integration: Dreame Vacuum (documentation, issues)
First occurred: 23:42:07 (1 occurrences)
Last logged in: 23:42:07
Error while executing request: https://de.api.io.mi.com/app/v2/home/rpc/521101217 HTTPSConnectionPool(host='de.api.io.mi.com', port=443): Read timeout. (read timeout=3)
Greeting

Can I hidden the highlighed items ?

I can confirm that #175  solved the issue

I'm having this same issue. My model is d10 plus.

Looks like textsize function of the Pillow has depreciated on v10.0.0 which latest version of the HA requires. You can disable Room Order and Room Name (if you have custom named room) objects rendering from the integration configuration settings to get around this issue until I fix it.

That did the trick for me too. I guess that the zone operation will remain out of order until you fix it, right?
Thanks a lot for your work!
Jordi

Tried to disable Room Names and Room Order, but to no avail...
I'll have to wait for the update of the integration to upgrade HA, I guess !
@Tasshack : thanks for the wonderfull work, by the way ;)

Same problem here... after upgrading to Home Assistant 2023.8.0 disabling Room Order and Room Name fixed for now ;)

I'm new to home assistants and have the same bug you fixed. Could you tell me how you disabled Room Order and Room Name?
Thank you

Same problem here... after upgrading to Home Assistant 2023.8.0 disabling Room Order and Room Name fixed for now ;)

I'm new to home assistants and have the same bug you fixed. Could you tell me how you disabled Room Order and Room Name? Thank you

You can do it pressing the "Configure" button of the device under the integration menu. The last selectable entry "Map objects":

oh. Tks. it worked!

Can confirm, works as of v1.0.0


misc,tests: Fix GPU Daily Tests

Fixes the following error:
https://github.com/gem5/gem5/actions/runs/6106624129/job/16572039810
In GitHub Actions certain actions require Docker. You can therefore not run them within a container. The 'gpu-tests' job runs in the 'gcr.io/gem5-test/gcn-gpu:latest' container. 'wei/wget' depends on docker and therefore fails.
This is fixed by separating the running of wei/wget to a different jobs, with the test-progs uploaded as artifacts for use in 'gpu-tests'.

I was incorrect. This wasn't the source of the problem. Closing.


Baseline MAINTAINERS, CODEOWNERS, and external collaborator permissions

Follow https://github.com/opensearch-project/.github/issues/125 to baseline MAINTAINERS, CODEOWNERS, and external collaborator permissions.
Close this issue when:

MAINTAINERS.md has the correct list of project maintainers.
CODEOWNERS exists and has the correct list of aliases.
Repo permissions only contain individual aliases as collaborators with maintain rights, admin, and triage teams.
All other teams are removed from repo permissions.

If this repo's permissions was already baselined, please confirm the above when closing this issue.

Closed via https://github.com/opensearch-project/index-management/pull/770. Verified permissions.


rust: add query in use statements

Thank you!

I don't know much about rust, but is it treating importing modules as parameters? It doesn't work on Python and it might be good to have it there as well

I don't know much about rust, but is it treating importing modules as parameters?

Yes.
This tries to match parameters like this:
use std::process::{Command, Stdio, ExitStatus};
//                 ^-----^

It doesn't work on Python and it might be good to have it there as well.

I will add a similar query for python import statement later.

I was also bit unsure whether they are parameters. They are usually located at the top of the file so thought the risk of confusion with real parameters is small. But I think you can also import within a function. I assume you want to use them as parameters for swapping and parameter movement

Or maybe a new textobject like<EMAIL_ADDRESS>

Are use statements in rust also placed within a function, or do they appear on the top always?
So, the friction you can have is that users expect to look forward to the next function's parameter, but it can randomly choose an import statement. Maybe it won't be too bad if you're used to it.
Adding too many textobjects can be also a bit annoying. Another option is to provide a way to map "select one of multiple textobjects". However, users usually don't customise their setup this much and expect the plugin to have good defaults. I tried this with move (you can assign multiple queries) but I didn't hear anyone using it actually

Are use statements in rust also placed within a function, or do they appear on the top always?

A use-statement is a kind of declaration statement. It can be placed anywhere.

So, the friction you can have is that users expect to look forward to the next function's parameter, but it can randomly choose an import statement. Maybe it won't be too bad if you're used to it.

Currently, the textobject<EMAIL_ADDRESS>is not only the function's parameters but also struct fields, enum fields. So it's hard to jump to just the next function's parameters.

Adding too many textobjects can be also a bit annoying. Another option is to provide a way to map "select one of multiple textobjects". However, users usually don't customise their setup this much and expect the plugin to have good defaults. I tried this with move (you can assign multiple queries) but I didn't hear anyone using it actually

Map multiple textobjects maybe a better option. Because I think this plugin can not be used without any customization. Users should carefully select the queries in keymaps, swap or move. So a new kind of textobject and a way to map multiple textobjects will be better.

Thanks for your opinion, @TwIStOy!
One problem with allowing multiple captures in one select command is that it's unclear which to select if there are multiple options to be chosen from. It might create lots of cases with unintuitive selections, if not done right.
But if everyone else agrees that it may be good to allow multiple captures, I can implement that. Otherwise, I think it's intuitive enough to consider import statements to be included as parameters.

By the way, I just tested the queires.
In python, it doesn't work on all kinds of import statements. I think it only works in import something but not in from something import something
The below statement doesn't work.

Make sure also in rust you cover all kinds of syntax.

Thanks for review! I have fixed it!

Thanks for the update!
Sorry for being picky, but do you think from ... statement is a parameter? What I meant was to include the import ... part in the from .. import ... statements.
from module import foo1, foo2, foo3
#                  ^^^^^^^^^^^^^^^^

Only the ^ marked bits should be considered as a parameter.
My reasoning is:

The module is always one word. @parameter.* usually select one of multiple options. You can select the whole module in from ... with viW anyway.
It will be hard to lookahead to the import statements, because the from parts are always selected.

If you have any different opinion, please correct me!

Make sense! I'm hesitating whether to treat it as a parameter or not when i was implementing it.
I will remove it from parameters.


Support multiple authn methods in a single API

The spec contains a securitySchemes section and ops reference them in security. Add support for configuring multiple authentication methods at once and select them based on the spec, or all configured ones if the spec doesn't list any.

Done in 6ba1d2be48c1221b989902d665230ac84fc823a0


Cesium resetting memory when trying to install.

On trying to install Cesium, it resets my calculator's memory.  I am on OS <IP_ADDRESS>0 with boot code <IP_ADDRESS>4. I am using arTIfiCE to try to install it.

Are you sure to have the very latest Cesium version? An older version won't work. Download it here: https://github.com/mateoconlechuga/cesium/releases/latest

Interestingly, extracting it and then opening it in TI Connect worked instead of dragging it from the zip into TI Connect.


onResponse handler neither has the response object nor the Request socket object available (TS)

Creating a new issue since #190 was closed.
Unfortunately, the onResponse handler can neither access the actual Response object (to get e.g. response length) nor does it have access to the underlying socket, to get the request protocol for example.
Would it be possible to get the Response object inside the context of the onResponse handler? And an access to req.socket in the TypeScript Request object?
Responding to

In 0.7.0, you should be able to access Response in afterHandle as the following.
new Elysia()
  .onAfterHandle(({ response }) => {
})

Originally posted by @SaltyAom in https://github.com/elysiajs/elysia/issues/190#issuecomment-1813985800

Using<EMAIL_ADDRESS>in a minimal example, when used as a middleware, response is undefined.
What I would want is to get the response object (to get the response size) in either onAfterHandle or, preferably, onResponse.
Similarly, in onResponse, it would be great to have access to ctx.request.socket to get the original request protocol.
return app
  .derive((ctx) => {
    return {
      ip: String(getIP(ctx.request.headers))
    };
  })
  .onError((ctx) => {
    ctx.store = { error: ctx.error, ...ctx.store };
  })
  .onRequest((ctx) => {
    ctx.store = { requestStart: process.hrtime.bigint(), ...ctx.store };
  })
  .onAfterHandle(({response}) => {
    console.log(response);
  })
  .onResponse((ctx) => {
  })

@SaltyAom any progress on this one?

If I understand correctly, you want to get both request, and response on onAfterResponse (previously 'onResponse').
onAfterResponse include response by default since name change or since 1.1.
new Elysia()
	.derive(({ server, request }) => {
		return {
			ip: String(server?.requestIP(request))
		}
	})
	.onError((ctx) => {
		ctx.store = { error: ctx.error, ...ctx.store }
	})
	.onRequest((ctx) => {
		ctx.store = { requestStart: process.hrtime.bigint(), ...ctx.store }
	})
	.onAfterResponse(({ request, response }) => {
		console.log({
			request,
			response
		})
	})
	.get('/', () => 'a')
	.listen(3000)

Is there any update here?
After some trying and debugging the onAfterResponse I found it very confusing that:

response is the response body (so whatever you return from the endpoints) instead of the Response object
body it seems to be always empty
headers is request headers instead of response headers. To get response headers you must check set.headers
You can use error, but technically this is after response, so what's the point? I would expect to be an Error in case there is one
the status comes from set.status as well instead than from the confusing response body.

After know this, I think is manageable, I could do everything I wanted to. However, under my point of view this is very confusing for new people using ElysiaJS. Again, maybe is just a matter of updating docs??


Basic citations and bibliography

This allows the user to easily access citation information for dependencies and instruments used in their Eureka! runs. This information gets stored in the Meta object like other metadata, where meta.citations is a list of package names/instrument names, and meta.bibliography is a list of BibTeX entries for each citation. In addition, S1 and S2 meta objects now also have the meta.inst attribute present in S4-6 by automatically grabbing the instrument from the ingested fits file headers. The instrument gets added to the citations list just like the software packages.
Some limitations: Dependency searching only happens at the top level in each stage, i.e. we don't go down into the transit/systematics models or lightcurve fitting files to grab things like BATMAN or MCMC or Dynesty. I'll make these changes eventually.

Once you've resolved the flake8 and pytest issues (and any other things you're wanting to do), can you re-request my review on this PR so I know when it's ready for me

Codecov Report

Merging #425 (e1da097) into main (47e1eda) will increase coverage by 0.14%.
The diff coverage is 83.67%.

@@            Coverage Diff             @@
##             main     #425      +/-   ##
==========================================
+ Coverage   59.94%   60.08%   +0.14%
==========================================
  Files          75       76       +1
  Lines        8227     8276      +49
==========================================
+ Hits         4932     4973      +41
- Misses       3295     3303       +8

Impacted Files
Coverage Δ

src/eureka/S1_detector_processing/s1_process.py
14.60% <16.66%> (+0.14%)
:arrow_up:

src/eureka/S2_calibrations/s2_calibrate.py
80.43% <83.33%> (+0.13%)
:arrow_up:

src/eureka/lib/util.py
80.95% <91.66%> (+1.24%)
:arrow_up:

src/eureka/S3_data_reduction/s3_reduce.py
93.19% <100.00%> (+0.08%)
:arrow_up:

src/eureka/S4_generate_lightcurves/s4_genLC.py
90.22% <100.00%> (+0.13%)
:arrow_up:

src/eureka/S5_lightcurve_fitting/s5_fit.py
76.36% <100.00%> (+0.26%)
:arrow_up:

src/eureka/S6_planet_spectra/s6_spectra.py
82.24% <100.00%> (+0.25%)
:arrow_up:

src/eureka/lib/citations.py
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Okay, certain LaTeX characters trigger linting warnings because it doesn't think they're valid Python character escapes. Can we exempt warnings from causing a linting run to fail, or do we exempt the citations.py file from linting?

Having an exemption for citations.py makes sense, assuming that can be done.

The safer thing to do is make them raw strings, aka r'\lambda'

The safer thing to do is make them raw strings, aka r'\lambda'

Ah, I did that for some of them but forgot to do it for the rest. Hold on, that's an easy fix.

@jbrande, can you please first merge this with main and resolve the many merge conflicts present?

@jbrande, it looks like the WFC3 test is currently failing - can you resolve that issue?

@taylorbell57 Done. I'd forgot to properly error handle the unintended missing citation (where the missing citation was WFC3. I've added that to the bibliography and also error-handled the missing entry case).


Add audio visualization to home page

Use spotify-viz (https://github.com/zachwinter/spotify-viz) to create cool visualizations on the front page while music is playing.
Use websocket connection that currently retrieves now playing data instead of making separate calls.

Done.


Protect cb

@donnadionne

Protecting the circuit breaking (drop action) using environment variable.  All the logic of refcounting are left but will not result in any actions.


bugfix/business-asset-name-textbox-overflow-when-resizing

Changed the textearea to automatically expand with the cell + prevent…from manually resizing

Duplicate of PR#166, see which implementation is preferred


fix making step chain in ReqMgr2

related to
In src/python/WMCore/ReqMgr/Service/Request.py
W0612, line 272 in Request._maskTaskStepChain: Unused variable 'value'

fixed by #7526


Add methods redirect and view

Add these two methods signatures in registrar contract

@diegosm Adding methods to an interface is a breaking change, and should go to the master branch.

Can't change this on a point release.


Smallest Positive Missing Number - POTD | 27-Nov-2024

Smallest Positive Missing Number
Link
Difficulty: Medium
You are given an integer array arr[]. Your task is to find the smallest positive number missing from the array.
Note: Positive number starts from 1. The array can have negative integers too.
Examples:
Input: arr[] = [2, -3, 4, 1, 1, 7]
Output: 3
Explanation: Smallest positive missing number is 3.
Input: arr[] = [5, 3, 2, 5, 1]
Output: 4
Explanation: Smallest positive missing number is 4.
Input: arr[] = [-8, 0, -1, -4, -3]
Output: 1
Explanation: Smallest positive missing number is 1.

Constraints:

1 <= arr.size() <= 105
-106 <= arr[i] <= 106

Solved
class Solution:
    def missingNumber(self,nums):
        n=1
        curr=0
        nums.sort()

        while curr<len(nums) and nums[curr]<=0:
            curr+=1

        while (curr<len(nums)):
            if curr>0 and nums[curr]==nums[curr-1]:
                curr+=1
                continue

            elif (nums[curr]==n):
                n+=1
            else:
                return n

            curr+=1

        return n


NodeJS files and directories names conversion

References:
rxjs:
PascalCase, primarily TS
https://github.com/ReactiveX/rxjs
Lodash:
camelCase, primarily JS
https://github.com/lodash/lodash
React:
PascalCase, primarily JS
https://github.com/facebook/react
I believe camelCase is the best combination of simplicity and familiarity.

Adding dashes: increases cognitive load when finding files

Most IDEs don't care about the dashes being in the file name at all, they are capable to understand what you are trying to search.
For example (and this is not only applicable to VS Code):

Notice how the IDE is capable to filter the file down.
I don't think you should worry about dashes at all actually, the cognitive load is reduced since you don't have to worry about cases while you are searching.

References:
rxjs:
PascalCase, primarily TS
https://github.com/ReactiveX/rxjs
Lodash:
camelCase, primarily JS
https://github.com/lodash/lodash
React:
PascalCase, primarily JS
https://github.com/facebook/react
I believe camelCase is the best combination of simplicity and familiarity.

As you can notice, most of your examples come from a set of JavaScript Engineers, Web developers focused on Front End stuff.
Familiarity and simplicity is based on the communities, I would focus on the problem listed rather than opinions about "what is popular is what is right" because it doesn't solve existing issues today.

We have amazing conversations in the thread,
Mainly around two points are valid, but unrelated to the topic itself, and require a deeper conversation about other engineering practices, which we could write an ADR for it.
And in other cases, we assume that React or a particular group of people in the ecosystem had decided what the "standards" are, but most of the time that is not factually correct depending on your experience in the ecosystem.
It is hard to "disprove" something when we don't agree that it is factually correct in the first place, I would love to see their arguments on why PascalCase, camelCase are used (in case of React at least).
Lastly, when collecting information about their reasons, please keep in mind the key points about the decision.

Disagreement around the English language, making it even more difficult for the
non-English speaker to figure out the right decision.
Case sensitive vs. case insensitive file systems, causing issues in different
environments such as your local computer vs. CI/CD computers.
Format mismatching around separating English words.

I move the document to Reviewing, if you have any suggestions of wording or reorganization, this is the time to do that.


[Fix #9328] Recognize shareable_constant_value magic comment in Style/MutableConstant

Ruby 3.0 adds shareable_constant_value magic comment. This PR changes Style/MutableConstant to be aware of shareable_constant_value magic comment.
Fixes #9328.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

@marcandre Please take a look?

@marcandre Please take a look?

I can't have a thorough look right now, but shareable_constant_value is tricky, because it can change only part of the code. Does this PR handle this?
# shareable_constant_value: literal
X = [1, 2, 3]
# shareable_constant_value: false
Y = [1, 2, 3]

And raise on offense for Y and none for X?

I can't have a thorough look right now, but shareable_constant_value is tricky, because it can change only part of the code. Does this PR handle this?
# shareable_constant_value: literal
X = [1, 2, 3]
# shareable_constant_value: false
Y = [1, 2, 3]

And raise on offense for Y and none for X?

Ping @caalberts

And raise on offense for Y and none for X?

Yes. X is tested in https://github.com/rubocop-hq/rubocop/pull/9410/files#diff-6e9b3e5cdbc957813be5790f5b8c0850c30c3f1bf0eef7576009023cad7c3f25R160. I'll add a test for Y on ruby 3.0.

Closing in favour of #9929 that builds on top of this PR.


Grammatically updated the express documentation for better comprehension

Adding Js to node just makes it easier for newbies to comprehend the docs

I don't understand your question.

Oh, I will do just that..


[Bug] api ResourceTranslationsAsyncDownload.download() sometimes throws getaddrinfo ENOTFOUND error

Current Behavior
When downloading resource translations, ResourceTranslationsAsyncDownload.download() sometimes throws a getaddrinfo ENOTFOUND error. I often see this after many downloads (say, over 1000), but not after a consistent number of downloads or for a consistent language or resource (it changes every time.) After the first failed download, some subsequent downloads succeed while others fail in the same way.
From the error message, it seems like this failure might be happening during the download status check step of download().
Excerpt of the error message:
Error: getaddrinfo ENOTFOUND rest.api.transifex.com
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:66:26) {
  errno: 'ENOTFOUND',
  code: 'ENOTFOUND',
  syscall: 'getaddrinfo',
  hostname: 'rest.api.transifex.com',
  config: {
    [...]
    url: 'https://rest.api.transifex.com/resource_translations_async_downloads/20cbdc15-ce1d-4c5c-bb53-bbf25e1ffed7',
    maxRedirects: 0,
    method: 'get',
    params: null,
    data: undefined
  }
[...]
}

Expected Behavior
I'd expect download to return a url, or, in case of failure an error that I can take action on (such as a 429 if this is a rate limiting problem.)
Steps to Reproduce
Run this for a large list of resources and languages:
const url = await transifexApi.ResourceTranslationsAsyncDownload.download({
        mode,
        resource,
        language
    });

@seotts Googled a bit about the issue and it may be related to NodeJS. Internally the package is using axios.
Can you share which Node version you are using?
Also, are you doing all these requests in parallel (e.g. using Promise.all), or sequentially one at a time?
Maybe using axios-retry internally in the package would fix the issue.

@seotts It's been a while, but do you still encounter this issue? In the meantime we have improved the throughput of the async downloads on the APIv3 side.


Added Japanese language. Please merge, build, and release!

Added Japanese language. Please merge, build, and release!

thanks for japanese support you can test with latest

Not translated into Japanese

Sorry, forgot to check the language code
translation is available now in


Button component Figma improvements

Dries made some improvement to the button component in Figma.
You can consult the details here: https://www.figma.com/file/zbWJfrdgKNdXWb0x3DD2VK/branch/oPldc2jfgXOCWWAQs5FHZa/Figma-Corrections-Group-Design-System?node-id=120-2848&t=2IVlK24Os31gyCCG-0

move to https://github.com/baloise/design-system/issues/799


Implement Heat-Map on the Frontend

Tasks

[ ] The generated heat-map needs to be moved and scaled.
[ ] The generated heat-map needs to be rendered.

Use case
Plant Layer
Related Pull request
No response

@kitzbergerg @markus2330 I currently get an error 500 while requesting a heat map because "function calculate_bbox(integer) does not exist".
Since I could find neither this function nor "calculate_score" in the migrations folder, I think something might have gone wrong while squashing the migration scripts.

@kitzbergerg @markus2330 I currently get an error 500 while requesting a heat map because "function calculate_bbox(integer) does not exist".
Since I could find neither this function nor "calculate_score" in the migrations folder, I think something might have gone wrong while squashing the migration scripts.

We removed the SQL queries as part of release. You have to use my shade layer PR as a basis, as all the SQL queries related to the heatmap will be readded there.


leader should not restart after peers have moved to consensus running

After one or more peers have  successfully set up their nodes (servers in consensus_running state) we should prevent the leader from initiating setup restart

Does this need to be tracked in feimint/fedimint too? Sounds like the underlying issue might be there?

Tracking with https://github.com/fedimint/fedimint/issues/4124

closing in favor of tracking issue: https://github.com/fedimint/ui/issues/474


update iptables=false documentation

make it clearer that this is not intended for end-users

Deploy preview for docsdocker ready!
Built with commit 2f2df5c1766c202080912ea8aa7adb47b3908d01
https://deploy-preview-9482--docsdocker.netlify.com

@adamancini  is this comment It is not possible to completely prevent Docker from creating iptables rules referring to the DOCKER-INGRESS chain that is created even when iptables=false

@arkodg I don't remember, specifically, but this comes up in discussion with @programmerq on the community IRC often enough that I thought it was worth calling out.

@arkodg I would need to do some digging for the specific reference, but particularly swarm mode will ignore --iptables=false. I haven't personally checked it in several versions of Docker. The discussion I remember having about it was likely in the docker community slack team and is old enough that it wouldn't be visible.
tldr; check if swarm mode still ignores it too.

docker@ada-testkit-EE35EF-ubuntu-0:~$ sudo su -
root@ada-testkit-EE35EF-ubuntu-0:~# cd /etc/docker/
root@ada-testkit-EE35EF-ubuntu-0:/etc/docker# vim daemon.json
root@ada-testkit-EE35EF-ubuntu-0:/etc/docker# iptables -F
root@ada-testkit-EE35EF-ubuntu-0:/etc/docker# iptables -t nat -F
root@ada-testkit-EE35EF-ubuntu-0:/etc/docker# iptables -t mangle -F
root@ada-testkit-EE35EF-ubuntu-0:/etc/docker# systemctl restart docker
root@ada-testkit-EE35EF-ubuntu-0:/etc/docker# iptables-save
# Generated by iptables-save v1.6.1 on Tue Sep 24 17:02:31 2019
*mangle
:PREROUTING ACCEPT [74:5432]
:INPUT ACCEPT [74:5432]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [49:4332]
:POSTROUTING ACCEPT [49:4332]
COMMIT
# Completed on Tue Sep 24 17:02:31 2019
# Generated by iptables-save v1.6.1 on Tue Sep 24 17:02:31 2019
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:DOCKER - [0:0]
COMMIT
# Completed on Tue Sep 24 17:02:31 2019
# Generated by iptables-save v1.6.1 on Tue Sep 24 17:02:31 2019
*filter
:INPUT ACCEPT [162:11744]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [108:10036]
:DOCKER - [0:0]
:DOCKER-ISOLATION-STAGE-1 - [0:0]
:DOCKER-ISOLATION-STAGE-2 - [0:0]
COMMIT
# Completed on Tue Sep 24 17:02:31 2019
root@ada-testkit-EE35EF-ubuntu-0:/etc/docker# docker service create -P nginx
unknown shorthand flag: 'P' in -P
See 'docker service create --help'.
root@ada-testkit-EE35EF-ubuntu-0:/etc/docker# docker service create -p 80 nginx
wi1k8cjequkia5kd2s0dp6m5n
overall progress: 0 out of 1 tasks
1/1: starting  [============================================>      ]
^COperation continuing in background.
Use `docker service ps wi1k8cjequkia5kd2s0dp6m5n` to check progress.
root@ada-testkit-EE35EF-ubuntu-0:/etc/docker# iptables-save
# Generated by iptables-save v1.6.1 on Tue Sep 24 17:03:03 2019
*mangle
:PREROUTING ACCEPT [9197:51326043]
:INPUT ACCEPT [9197:51326043]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [7425:368082]
:POSTROUTING ACCEPT [7425:368082]
COMMIT
# Completed on Tue Sep 24 17:03:03 2019
# Generated by iptables-save v1.6.1 on Tue Sep 24 17:03:03 2019
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:DOCKER - [0:0]
:DOCKER-INGRESS - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER-INGRESS
-A OUTPUT -m addrtype --dst-type LOCAL -j DOCKER-INGRESS
-A POSTROUTING -o docker_gwbridge -m addrtype --src-type LOCAL -j MASQUERADE
-A DOCKER-INGRESS -p tcp -m tcp --dport 30000 -j DNAT --to-destination <IP_ADDRESS>:30000
-A DOCKER-INGRESS -j RETURN
COMMIT
# Completed on Tue Sep 24 17:03:03 2019
# Generated by iptables-save v1.6.1 on Tue Sep 24 17:03:03 2019
*filter
:INPUT ACCEPT [28:2056]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [22:2596]
:DOCKER - [0:0]
:DOCKER-INGRESS - [0:0]
:DOCKER-ISOLATION-STAGE-1 - [0:0]
:DOCKER-ISOLATION-STAGE-2 - [0:0]
:DOCKER-USER - [0:0]
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-INGRESS
-A DOCKER-INGRESS -p tcp -m tcp --dport 30000 -j ACCEPT
-A DOCKER-INGRESS -p tcp -m state --state RELATED,ESTABLISHED -m tcp --sport 30000 -j ACCEPT
-A DOCKER-INGRESS -j RETURN
-A DOCKER-USER -j RETURN
COMMIT
# Completed on Tue Sep 24 17:03:03 2019
root@ada-testkit-EE35EF-ubuntu-0:/etc/docker#

@programmerq in the last release we removed the DOCKER-USER chain for the above option
thanks for sharing the rules in this thread @adamancini, there's a issue raised in libnetwork to highlight it (DOCKER-INGRESS needs to be disabled as well for the above case) https://github.com/docker/libnetwork/issues/2375
I'm okay approving this PR

Thanks for the update.


[Generic] Better display_id detection

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.07.10. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2018.07.10

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[x] Feature request (request for a new functionality)
[ ] Question
[ ] Other

youtube-dl.exe -v https://video.sibnet.ru/shell.php?videoid=956371 --get-id
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://video.sibnet.ru/shell.php?videoid=956371', '--get-id']
[debug] Encodings: locale cp1250, fs mbcs, out cp852, pref cp1250
[debug] youtube-dl version 2018.07.10
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17134
[debug] exe versions: ffmpeg 4.0, ffprobe 4.0, phantomjs 2.1.1
[debug] Proxy map: {}
WARNING: Falling back on generic information extractor.
[debug] Default format spec: bestvideo+bestaudio/best
shell

Description of your issue, suggested solution and other information
Is it possible for YT to return the correct ID: 956371 instead shell?
I did not notice how it is for other generic sites, but if there is no default ID detection from the parameters, then often hidden under id, v, video and f. (IDK, Maybe checking the parameter name regex101: /^((v(ideo)?[-_]?)?(id)?|f)$/)

video id for generic extractor is nominal.


Wrong auto completion hint for for loop (with key)

Description
In the web app, when typing in #for, two auto completion hints for the for loop are shown:

Choosing for loop (with key) will create this code:
#for key, value in (a: 1, b: 2) {

}

But it is missing the parentheses around key, value. It should be:
#for (key, value) in (a: 1, b: 2) {

}

Reproduction URL
No response
Browsers
No response
OS
No response

Yeah, this syntax is outdated ...


The example is outdated as PlatformEffect is a generic class now

public class FocusEffect : PlatformEffect
{
protected override void OnAttached()
~~~
}
Is no longer valid, the sig. is:
public abstract class PlatformEffect<TContainer, TControl> : Effect
where TContainer : class
where TControl : class

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

ID: 98582b03-f63d-896e-5cfb-bac55bde97fb
Version Independent ID: 81f9604e-deb9-434c-f580-47aa76087017
Content: Creating an Effect - Xamarin
Content Source: docs/xamarin-forms/app-fundamentals/effects/creating.md
Service: unspecified
GitHub Login: @davidbritch
Microsoft Alias: dabritch

I was looking a creating a new global effect, not a platform specific one, the docs linked are correct


During inference, I need to run forward on CPU, so FMOE does not support CPU inference now?

This is because you did not move the model and the input to CUDA, while FastMoE only supports computation on CUDA.
The following code should work.
import torch
from fmoe.transformer import FMoETransformerMLP

x = torch.rand(64, 64).cuda()
model = FMoETransformerMLP().cuda()
y = model(x)

Originally posted by @laekov in https://github.com/laekov/fastmoe/issues/73#issuecomment-919672644

We do not have a CPU version for distributed CPU inference, yet. Besides, the FMoELinear layer which computes multiple linear layers at the same time is specifically designed for GPUs.
So, if you want to do inference on CPU, you can only run the model using a single process, and you have to bypass the FMoELinear layer using the interface for customized experts in FMoE class.

Closing due to lack of further response. Feel free to re-open if you have any progress.


Deathknight/Unholy: Glyph of Disease doesn't reapply CF/EP

Describe the bug
GoD doesn't reapply CF/EP
To Reproduce
Steps to reproduce the behavior:

Put 43 Points into Unholy to unlock EP 3/3
Activate Glyph of Disease.
Disable Settings Debuffs Spell Damage: EP
Use APL Rotation with "Not DoT Active Frost Fever > Cast Icy Touch" "Not DoT Active Blood Plague > Cast Plague Strike" "None > Cast Pestilence"
Simulate
Results > Timeline. Scroll down.
Ebon Plaguebringer runs out at 22.19, FF and BP are not running out.

Expected behavior
Ebon Plaguebringer should be reapplied by GoD.
Sim Links and Screenshots
(https://wowsims.github.io/wotlk/deathknight/#eJzjYnBiEGKQWsnWxMgWkJNYmVrEwS7AJXWbkYtf4MMEZomXskps2w4zbd3JxMUpsHUVsxLzJSCTR+ATUO6BrBLzVjBvz2cmie9QHr/AO6DcD6A+IA8kwCvwuJtZolVOieX8TiYGLgGBz0DuFBkldog8A1DHnm5mJc5LYO56sBEfgUa8BxoBFLv2HySwaRWzxDQZuJmcAq09ULdwCtyZBWWyCOzuZAaS+1YxcwkJXG9mllghpcS58iQTBHExAOVmdzErMSxi+srEdYCJYRRQBIQMSNVRxfCLUZtLgoNJgFGC0YHRgzGAcQcj4wlGxguMTB8YGaX4BSHqPtgrMGoxGDB2Mcrp6hoZGwCRsYGpgYGxkaGpEZACQhBpYPyIUYJj7hUmgbdPmSRmXWFSmHGFSWPGVSaDmVeZXjCyfGBkn8XIcIjJdQEjo5CElBgXjxIXF4cRGxcLx/Z1zFIg+vdZZiEpKQkkmWVAGQ4uNo7GNmYFRiEuKQ6wulm9zLcYGWYxMSjNZeYEu7EhzQHqWhEHyVkzQeCkvSVE5IK9YhoYXLM3estUMKe2iicgsSQ5ozy1KFvByFQhWIJDi8bp70OjAzWMaTh5hBJzDCy0Chyp4Q5sABzYDdMeOUBteGHfwcgYBM7azn1nBRtSOBwcZk0Q+yH5zZ5YI5NYPkfuOHnV/rvQ1OXXQi7adwZU2HnMv4qm/wOcf7Dm7Pbvm3/Z10+Rt3WcweYw/43632gODocTAk4zL5T+INrewQaEDC4obrywT1DOgVgdUSQXBgAYSb3F)
Desktop (please complete the following information):

OS: Windows 10
Browser: Brave
Version 1.57.53

Additional context
Not being able to reapply CF/EP in the Sim makes it impossible to properly sim GoD for UH, since without CF/EP applied by the DK, the Shadow Damage of SS will be lowered.

You can enable an external application of CF/EP while we fix this. You can do that from the debuffs section (you will find CF/EP in the spell damage category)

I'll still fix it to properly reapply with pestilence anyway


logic_rotgb_difficulty needs a better interface for ConVar setting

Instead of manually inserting the ConVar name, there should be a dropdown list of available parameters to change.

Resolved via commit f561f7cb583760eb7da0d0f36da1eabc08bed6ab.


Fix(web-react): Tootlip closing by outside click when isDismissible prop set

Description

In the web-react package the Tooltip is not closed by outside click when the isDismissible prop is set.
Additional context

Issue reference

https://jira.almacareer.tech/browse/DS-1259

Tootlip 🎺👄

coverage: 78.63%. remained the same
when pulling 7d2a1631282733c816144197aed77009a82b7ecb on fix/DS-1259-tooltip-outside-click
into 48b3f417e5198e33e506e5e69af494bf28137558 on integration/release-v2.


docs(v2): Fix typo in markdown-features

The code needed to be in npm syntax in order to work with npm2yarn

Motivation
(Write your motivation here.)
Have you read the Contributing Guidelines on pull requests?
(Write your answer here.)
Test Plan
(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work. Bonus points for screenshots and videos!)
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/facebook/docusaurus, and link to your PR here.)

backported


scripts

hello,
I really appreciate what you have done.
excuse me, how can I have the train scripts?
I used default values in your code:
!python /content/teaching-where-to-look/train_teacher.py --save_dir /content/checkpoints --down_size 28 --total_iters 47000 --batch_size 256 --gpus 1 --data_dir /content/Face
but I cannot run it.
thank you in advance

Hello!
I updated the example training scripts in the $scripts/ folder.
If you get some errors, can you upload the snippet?
Thank you for your interest.

thank you for your attention!
after data preparation, I ran this script below and still get error:
!python /content/teaching-where-to-look/train_teacher.py --gpus 0 --save_dir /content/checkpoint/teacher --down_size 112 --batch_size 256 --data_dir /content/Face

Hi!
The error means out of memory problem.
You need to use more gpu or reduce the batch size to reduce the memory (it will require more training time).


Chrome console gives "RetiredVersion" and "SensorNotRequired" warnings

Opening the online demo with Chrome and inspecting the console gives the following warnings:

https://developers.google.com/maps/documentation/javascript/error-messages#retired-version
https://developers.google.com/maps/documentation/javascript/error-messages#sensor-not-required

This project is no longer being maintained here. It has moved to [https://github.com/parttio/Google-Maps-for-Vaadin]
Thanks.

@thinwire there is no issue tracker there.


Initialization of tree.

This PR is an first approach for a general tree.
The idea is that we can associate any class to a tree node so that we are not limited to layers.
It's a first draft which might be usefull.
The discussion about this tree approach should be made here: #205
You can find an uml class diagramm there, too.

I overworked the introduction of the tree modeling of @KaiVolland
That's what i did:

Removed the Tree and TreeLeaf models

The Tree model is not needed as a tree will always be a (root-) TreeFolder
The TreeLeaf model did not have any additional properties. If you need a simple leaf, just take the TreeNode class of my imlementation.

The TreeNode is not abstract in my implementation as this leads to problems regarding hibernate. (And it must not be abstract if we'll use it for leafs!)

The TreeNode model now has a lot of useful properties.

I added DAO, Service and web/rest controllers (for TreeNode)

One disadvantage of the current tree model: There is no generic approach to hold an associated entity (that extends PersistentObject) as PersistentObject is NOT an @Entity, but a @MappedSuperclass. Generally: The main problem is that in the context of hibernate, there is no easy strategy for an implementation of the classic "composite pattern".
But the current implementation is simple, extensible, working and it represents a tree (if you look at the JSON of a TreeFolder).
If you want associated entities on leafs/folders, you'll have to extend the TreeNode and/or TreeFolder classes as demonstrated here. (I tested this succesfully!):
@Entity
@Table
public class MySpecialTreeLeaf extends TreeNode {

    @ManyToOne
    private MySpecialEntity entity;

   [...]
}

(It's the same for TreeFolder)
Note: Subclassing will lead to separate tables, but the parent/child association (of all TreeNodes and their subclasses) will always be stored in the table TREEFOLDERS_TREENODES (which is nice in my eyes :wink: ).

Here is an example JSON of a tree (click to expand)
   ```Json
{
   "id":43,
   "text":"rootNode",
   "leaf":false,
   "checked":false,
   "expandable":true,
   "expanded":true,
   "children":[
      {
         "id":42,
         "text":"Folder 1",
         "leaf":false,
         "checked":false,
         "expandable":true,
         "expanded":false,
         "children":[
            {
               "id":40,
               "text":"Leaf 3",
               "leaf":true,
               "checked":false,
               "expandable":false,
               "expanded":false
            },
            {
               "id":41,
               "text":"Leaf 4",
               "leaf":true,
               "checked":false,
               "expandable":false,
               "expanded":false
            }
         ]
      },
      {
         "id":38,
         "text":"Leaf 1",
         "leaf":true,
         "checked":false,
         "expandable":false,
         "expanded":false,
         "qTip":"Tooltip Leaf 1",
         "qTitle":"Tooltip Title Leaf 1"
      },
      {
         "id":39,
         "text":"Leaf 2",
         "leaf":true,
         "checked":false,
         "expandable":false,
         "expanded":false
      }
   ]
}
```

Please review @annarieger @dnlkoch @ahennr @weskamm

I added one more commit to enhance the tree modeling (and it's interaction with ExtJS 6 TreeStores and REST):

Use @OneToMany and @ManyToOne for the parent/child relation (but not @ManyToMany)

This commit introduces a property parentFolder on the side of the children
The child is the owning side here!! (new "parentFolder" property)

Introduce some useful properties

index (for ordering inside of a folder)
root (whether or not a node is a root node/folder)

This is how the JSON of a tree may look like now (click to expand)
{
   "id":38,
   "text":"rootNode",
   "index":0,
   "root":true,
   "leaf":false,
   "checked":false,
   "expandable":true,
   "expanded":true,
   "children":[
      {
         "id":43,
         "text":"Leaf 4",
         "parentFolder":38,
         "index":0,
         "root":false,
         "leaf":true,
         "checked":false,
         "expandable":false,
         "expanded":false
      },
      {
         "id":39,
         "text":"Folder 1",
         "parentFolder":38,
         "index":1,
         "root":false,
         "leaf":false,
         "checked":false,
         "expandable":true,
         "expanded":false,
         "children":[
            {
               "id":40,
               "text":"Leaf 1",
               "parentFolder":39,
               "index":0,
               "root":false,
               "leaf":true,
               "checked":false,
               "expandable":false,
               "expanded":false,
               "qTip":"Tooltip Leaf 1",
               "qTitle":"Tooltip Title Leaf 1"
            },
            {
               "id":41,
               "text":"Leaf 2",
               "parentFolder":39,
               "index":0,
               "root":false,
               "leaf":true,
               "checked":false,
               "expandable":false,
               "expanded":false
            }
         ]
      },
      {
         "id":42,
         "text":"Leaf 3",
         "parentFolder":38,
         "index":2,
         "root":false,
         "leaf":true,
         "checked":false,
         "expandable":false,
         "expanded":false
      }
   ]
}

Note: In the Java models the parentFolder is of type TreeFolder, but we configured the Java model to serialize only the IDs (and resolve them vice versa)

Very nice! :+1: :heart_eyes:

What is the state of this PR? /cc @terrestris/owners
What is missing to get this in?

As far as i remember there is nothing missing to get this in. As this are only new files, but not changes on existing code, existing projects should not be affected.

OK. Looking through the diff right now.

I have added a couple f minor questions and comments. Once they are adressed this is good to go. Thanks everyone for the work here.

It all boils down to:

Give root the rootthe expolicit default value false
Harmonize collection methods

We now have

addNode,
remove and
setChildren

…which is confusing me.
I suggest to name them

~addNode~ addChild,
~remove~ removeChild and
setChildren

You agree?
One final question:
In TreeFolder you write:

This is NOT (!) the owning side of the parent/child relation, i.e. if youadd a child to this list and persist the instance of this folder, this will NOT be persisted in the database! You will always have to change the child nodes itself to persist such changes, e.g. by setting a different index (for ordering in a folder) or setting a different parentFolder there.

That same class has the utility methods for adding and removing. Why again do we need them if any changes won't have an effecrt once the TreeFolder is persisted?

@marcjansen We had the same thought regarding "owning side" and the add/remove methods.
I just pushed 2 commits that will remove the add/remove methods and set a default for root.
Feel free to merge

N1ce. Will merge now.


char on ARM

Just a quick heads-up: When compiling satch on 64-bit ARM Linux, some of the tests fail. The satch code assumes that char defaults to signed. On ARM, however, it defaults to unsigned.
Adding -fsigned-char to the compilation options fixes this.
(Well, strictly speaking, it's up to the compiler. But on ARM, compilers seem to chose unsigned.)

Thanks for reporting.  Usually I am careful about signedness of 'char' and 'int', but probably forgot here to be explicit.  I will try to reproduce it and fix it (worst was once 'struct { int a : 30; int b : 2 };' is 'unsigned' on IBM mainframe compiler even though 'int' alone is of course signed ....

Thank you for your quick response. Oh, man, that bit field issue is pretty subtle!
I also try to be diligent when it comes to conversions, and I usually throw -Wconversion into the mix. I figured that I just need as much help as I can get from the compiler.
Something just occurred to me: If you don't have an ARM machine available to reproduce this, it's also possible to reproduce the issue on Intel by passing -funsigned-char to the compiler. I just double-checked.

Fixed in '0.5.6rc1' but only tested against '-funsigned-char' and not with an ARM compiler (nor cross-compiler).

Great! Thank you for the fix. Works like a charm on my ARM machine. The tests pass with and without checks (-c).


Merge oopsie in README.md

Please do a quick search on GitHub issues first, there might be already a duplicate issue for the one you are about to create.
If the bug is trivial, just go ahead and create the issue. Otherwise, please take a few moments and fill in the following sections:
Bug description
Accidental chevrons from merge left in README.md
Environment
Just in README.md file - does not affect runtime
Steps to reproduce
Just in README.md file - does not affect runtime
Expected behavior
Just in README.md file - does not affect runtime
Minimal Complete Reproducible example
Just in README.md file - does not affect runtime

https://github.com/spring-projects/spring-ai/pull/197 will resolve this issue.

Merged, and thanks!


webp images not being served in AMP pages?

Hi there, I have an issue but not sure if it's my config or PS. I have PS installed on my server running WordPress with an AMP plugin. When I visit a non-AMP page with Chrome I see the images are served as webp as they should be, but when I visit an AMP page with either my Chrome mobile simulator plug-in or a physical tablet, images aren't served as webp but are instead served as srcset JPGs, is this normal?. It could very well be my own fault as I'm pretty new to PS so I will include my config below:
`##############################################################
ModPagespeedDisableFilters inline_css,inline_javascript
ModPagespeedEnableFilters collapse_whitespace,remove_comments
ModPagespeedEnableFilters rewrite_css,rewrite_javascript
ModPagespeedEnableFilters combine_css,combine_javascript
ModPagespeedEnableFilters defer_javascript
ModPagespeedEnableFilters prioritize_critical_css
ModPagespeedEnableFilters jpeg_subsampling
ModPagespeedEnableFilters convert_gif_to_png
ModPagespeedEnableFilters convert_png_to_jpeg,convert_jpeg_to_webp
ModPagespeedEnableFilters convert_jpeg_to_progressive
ModPagespeedEnableFilters inline_images
ModPagespeedEnableFilters responsive_images,resize_images
ModPagespeedEnableFilters responsive_images_zoom
ModPagespeedEnableFilters lazyload_images
ModPagespeedEnableFilters move_css_above_scripts
ModPagespeedEnableFilters canonicalize_javascript_libraries

ModPagespeedEnableFilters make_show_ads_async
ModPagespeedEnableFilters make_google_analytics_async
ModPagespeedEnableFilters insert_dns_prefetch
ModPagespeedEnableFilters inline_google_font_css

ModPagespeedMemcachedServers localhost:11211
ModPagespeedCreateSharedMemoryMetadataCache "/var/cache/mod_pagespeed/" 51200
ModPagespeedImageRecompressionQuality 85
ModPagespeedJpegRecompressionQualityForSmallScreens 70
ModPagespeedWebpRecompressionQualityForSmallScreens 70
################################################################`

Would appreciate any help thanks.

Can you check the content-type served when the jpg is requested from
Chrome? I think what you are seeing is that because AMP pages are cached
without regard to user-agent, PageSpeed will not rewrite URLs for images in
a browser-specific way. But it will optimize images in-place from the
original URL and will serve these in an AMP context.
-Josh
On Mon, Jul 22, 2019 at 9:46 AM Richie Brereton<EMAIL_ADDRESS>wrote:

Hi there, I have an issue but not sure if it's my config or PS. I have PS
installed on my server running WordPress with an AMP plugin. When I visit a
non-AMP page with Chrome I see the images are served as webp as they should
be, but when I visit an AMP page with either my Chrome mobile simulator
plug-in or a physical tablet, images aren't served as webp but are instead
served as srcset JPGs, is this normal?. It could very well be my own fault
as I'm pretty new to PS so I will include my config below:
`##############################################################
ModPagespeedDisableFilters inline_css,inline_javascript
ModPagespeedEnableFilters collapse_whitespace,remove_comments
ModPagespeedEnableFilters rewrite_css,rewrite_javascript
ModPagespeedEnableFilters combine_css,combine_javascript
ModPagespeedEnableFilters defer_javascript
ModPagespeedEnableFilters prioritize_critical_css
ModPagespeedEnableFilters jpeg_subsampling
ModPagespeedEnableFilters convert_gif_to_png
ModPagespeedEnableFilters convert_png_to_jpeg,convert_jpeg_to_webp
ModPagespeedEnableFilters convert_jpeg_to_progressive
ModPagespeedEnableFilters inline_images
ModPagespeedEnableFilters responsive_images,resize_images
ModPagespeedEnableFilters responsive_images_zoom
ModPagespeedEnableFilters lazyload_images
ModPagespeedEnableFilters move_css_above_scripts
ModPagespeedEnableFilters canonicalize_javascript_libraries
ModPagespeedEnableFilters make_show_ads_async
ModPagespeedEnableFilters make_google_analytics_async
ModPagespeedEnableFilters insert_dns_prefetch
ModPagespeedEnableFilters inline_google_font_css
ModPagespeedMemcachedServers localhost:11211
ModPagespeedCreateSharedMemoryMetadataCache "/var/cache/mod_pagespeed/" 51200
ModPagespeedImageRecompressionQuality 85
ModPagespeedJpegRecompressionQualityForSmallScreens 70
ModPagespeedWebpRecompressionQualityForSmallScreens 70
################################################################`
Would appreciate any help thanks.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-pagespeed-mod/issues/1933?email_source=notifications&email_token=AAO2IPL36436DKWEOTJ7OVDQAVQWNA5CNFSM4IFVYVW2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HASBCGA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAO2IPJHCCED627S3EIKOALQAVQWNANCNFSM4IFVYVWQ
.

Hi Josh, thanks for your comments. I'm not sure how to see the content-type served for JPG? The way I have been testing it is via the PageSpeed Insights website and I get 98/100 all good for desktop no warning, but for mobile it says to "Serve images in next-gen formats" (on the /amp/ variant), which would confirm what's happening when I test with Chrome or tablet.
What I might do is setup a PS dev server locally and that way I can test out different configs much faster as it takes too long via remote server. I will get back here with some results.
Cheers
Richie

Ok I have run some tests and can confirm that PageSpeed is not serving up webp images in AMP pages, and that's using a minimal config as shown below:
ModPagespeedRewriteLevel CoreFilters ModPagespeedEnableFilters prioritize_critical_css ModPagespeedEnableFilters defer_javascript ModPagespeedEnableFilters sprite_images ModPagespeedEnableFilters convert_png_to_jpeg,convert_jpeg_to_webp ModPagespeedEnableFilters collapse_whitespace,remove_comments
I also ran a diff check on both normal html and AMP html with PS on and off, it's working fine with standard HTML docs removing comments and rewriting image urls to webp. PS is changing/optimizing some code on the AMP pages (not much) but not touching the PNGs or JPGs and just serves the originals. In terms of content type, the document is HTML:
`

....`
I wonder if PS is even meant to serve up webp for AMP pages? Nothing I do seems to resolve it and this is happening on 3 different Ubuntu servers (2 cloud and 1 local).
cheers, Richie

Hi there
to get images optimized in amp you need set this:
pagespeed AddUrlValuedAttribute amp-img src image
in your config file.
This rewrite the src=Image_url but not the srcset.
In a next release (or building modpagespeed from scracth) the srcset attirbute get optimized.

Thank you!

Ok I have managed to implement that directive and it's optimizing PNGs for AMP pages but still not serving up WebP images? Is there another setting I need to configure?
cheers
Richie

Hi
Can shared a url to test?

Hi Lofesa, I setup a fresh server as I was having niggles with the testing servers and now seems to be serving up webp so all good :) It's also an HTTP2 server. https://www.eventroo.com.au/
Thank you so much for your help.
cheers!


enhancement print if using nereids planner when be coredump

Proposed changes
*** Query id: 9b6b7e6d2cab4374-b8a74b413939f0cb ***
*** is nereids: 1 ***
*** tablet id: 0 ***
*** Aborted at<PHONE_NUMBER> (unix time) try "date -d @1709879366" if you are using GNU date ***
*** Current BE git commitID: dd08ec9dd7 ***
*** SIGSEGV address not mapped to object (@0x0) received by PID 2746553 (TID 2753310 OR 0x72aec33ad700) from PID 0; stack trace: ***

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

we should not make our function signature take too many arguments, it is already complicated enough.

run buildall


Allow no 'v' in release version

Some people prefer to tag version numbers with a leading 'v', other
prefer to stick to the actual number.  I work with both types of people.
Do not shock on missing entry in the CHANGELOG.md if the version does
not include a leading 'v'.

We hardcode  the usage of a 'v' here for Vokpupuli:
https://github.com/voxpupuli/modulesync_config/blob/7d3f9a6db2c65ae72e548197edbf3ab5df22be29/moduleroot/Rakefile.erb#L51
We do not use it in our modulesync_config repository and from time to time I recall working around issues related to this, but since this is in another repo than modulesync_config I think we can relax this a bit because I know other people similarly prefer the raw version without the 'v'.
I just setup a new machine and could have a smooth workflow for publishing a new module version with only this change, so I do not think we enforce the 'v' a lot as far as voxpupusi is concerned.


🚀 [Feature] : Trigger notifications when user is away from app.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Related with https://github.com/langxapp/langx/issues/468


I broke iOS push notifications, what am I doing wrong?

Hi, I'm having a hard time getting the push notifications to work on iOS. It worked for a while, but then stopped working after some seemingly unrelated changes. Currently, it doesn't matter what payload I try to send, the iOS app doesn't seem to respond to it in any way, whether it's in foreground, background or completely killed. Please let me know if I'm missing something.
What I've done
GoogleService-Info.plist
Add GoogleService-Info.plist to the iOS project and set it's build action is BundleResource. (Copy to Output Directory is set to Do not copy, not sure if that matters).
Enabled remote notifications
Enabled remote notification background mode in Info.plist:
<key>UIBackgroundModes</key>
<array>
    <string>remote-notification</string>
</array>

Add FirebaseAppDelegateProxyEnabled
Added FirebaseAppDelegateProxyEnabled in the app’s Info.plist file and set it to No:
<key>FirebaseAppDelegateProxyEnabled</key>
<false/>

Initialize the plugin
Initialized the plugin in the FinishedLaunching in AppDelegate.cs:
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
    //code removed for brevity...

    LoadApplication(Startup.BuildApp(ConfigureIosServices));

    FirebasePushNotificationManager.Initialize(options, true);

    return base.FinishedLaunching(app, options);
}

Overrides in AppDelegate
Added the following overrides to AppDelegate.cs
public override void RegisteredForRemoteNotifications(UIApplication application, NSData deviceToken)
{
    FirebasePushNotificationManager.DidRegisterRemoteNotifications(deviceToken);
}

public override void FailedToRegisterForRemoteNotifications(UIApplication application, NSError error)
{
    FirebasePushNotificationManager.RemoteNotificationRegistrationFailed(error);
}

public override void DidReceiveRemoteNotification(UIApplication application, NSDictionary userInfo, Action<UIBackgroundFetchResult> completionHandler)
{
    FirebasePushNotificationManager.DidReceiveMessage(userInfo);
    completionHandler(UIBackgroundFetchResult.NewData);
}

Subscribe to topics and events
Subscribed to topics and subscribed to events in the OnStartup method in App.xaml.cs
protected override async void OnStart()
{
    //code removed for brevity...

    //subscribe to multiple topics
    CrossFirebasePushNotification.Current.Subscribe("general");
    CrossFirebasePushNotification.Current.Subscribe("articles");
    CrossFirebasePushNotification.Current.Subscribe("discussions");

    //subscribe to push notification events
    CrossFirebasePushNotification.Current.OnNotificationError += async (s, e) =>
    {
        await MainThread.InvokeOnMainThreadAsync(() => _customPushHandler.HandleErrorAsync(e));
    };

    CrossFirebasePushNotification.Current.OnTokenRefresh += (s, e) =>
    {
        _customPushHandler.HandleTokenRefresh(e);
    };

    CrossFirebasePushNotification.Current.OnNotificationReceived += async (s, p) =>
    {
        await MainThread.InvokeOnMainThreadAsync(() => _customPushHandler.HandleAsync(p.Data, true));
    };

    CrossFirebasePushNotification.Current.OnNotificationOpened += async (s, p) =>
    {
        await MainThread.InvokeOnMainThreadAsync(() => _customPushHandler.HandleAsync(p.Data, false));
    };

    CrossFirebasePushNotification.Current.OnNotificationAction += async (s, p) =>
    {
        await MainThread.InvokeOnMainThreadAsync(() => _customPushHandler.HandleAsync(p.Data, false));
    };

    CrossFirebasePushNotification.Current.OnNotificationDeleted += (s, p) =>
    {
        _customPushHandler.HandleDeleted(p);
    };
}

Notification payload
Here's an example of a payload I'm sending:
URL: https://fcm.googleapis.com/fcm/send
HTTP Method: POST
Headers:

Content-Type: application/json
Authorization: key={my-fcm-server-key}

{
    "to": "/topics/general",
    "notification":{
        "body" : "General notification: Some notification text",
        "title": "MyAppName",
        "sound" : "default"
    },
    "data":{
        "appActionType": "show-general-message",
        "appActionParameter": "Some notification text"
    }
}

I've also tried adding a combination of these in the payload:
"content_available": true

"priority" : "high"

Project settings
Here's a list of my project settings
Used nuget packages

Plugin.FirebasePushNotification v3.4.1
Xamarin.Forms v<IP_ADDRESS>7

iOS build settings

iOS linker skip assemblies
Assemblies that the linker should skip (specified via a LinkDescription linker config file).
linker.config
<?xml version="1.0" encoding="utf-8" ?>
<linker>
	<!--Attemt to fix push notifications-->
	<assembly fullname="Firebase.CloudMessaging">
		<type fullname="*" />
	</assembly>
	<assembly fullname="Firebase.Core">
		<type fullname="*" />
	</assembly>
	<assembly fullname="Firebase.Installations">
		<type fullname="*" />
	</assembly>
	<assembly fullname="Firebase.InstanceID">
		<type fullname="*" />
	</assembly>
	<assembly fullname="Plugin.FirebasePushNotification">
		<type fullname="*" />
	</assembly>
</linker>

Thanks for any advice!

I have the same problem :(

You are probably missing the required APN auth key (i had the same problem, after creating the key it started working). See: https://developer.clevertap.com/docs/how-to-create-an-ios-apns-auth-key

Hey @concer22 thanks for the advice! I actually did have both the APNs auth key and certificates uploaded to Firebase, so I didn't think that could be the problem. However, I've created a new auth key and a new certificate to be sure. Once I've replaced the previous APNs key and certificate in Firebase, the notifications started working again. I'm not sure what's been the problem, but it seems to be working now, so thank you!

After I wrote all the code as in "Getting Started" my iOS project was crashing on first boot. It didn't say anything as an error message either. I finally found the solution to the problem. After installing this plugin, I solved my error by adding the Xamarin.Firebase.InstanceID and Xamarin.Firebase.CloudMessaging packages that it specified as dependency to the iOS project.
Also I was using Xamarin.Firebase.iOS.Analytics package in my project. Firebase.Core.App.Configure() in AppDelegate when using this package; I fixed all the problems by commenting the code as well. If your iOS platform terminates at application launch in your Xamarin project, you can solve the problem by doing these. I already created an issue about it.

I have also thi issue. Notifications are being received normally on devices with iOS versions less than 15, but on iOS 15 devices no notifications are being received.


Sign in Google account not working

I am using Ubuntu 20.04 OS. I tried to log in using Google account, facing the below issue. screenshot attached.

Hii,
I'm also not able to login using google account. Are you still able to download?

@rubenandre Pls I am having this same issue. Pls how do you go about defining a password on ur Udemy account. Can you take me through the process cos I can't reproduce it here at my end. Thanks

@chuzksy-codeactive You can go to Your Account > Account or direct by this link: https://www.udemy.com/user/edit-account/


Proposal: add server config for static mocks via webpack-dev-server

When developing large apps which require many static mocks, we need to run a separate instance of a server so that we can proxy API calls so an endpoint which return known results.
Since ng serve already invokes webpack-dev-server, we just need a way to pass a setup() method (webpack docs) to handle the routing.
...this save us from spinning up a second server.
PR is open, hoping to get some perspective whether this approach makes sense.

Closing with reasoning on https://github.com/angular/angular-cli/pull/3661#issuecomment-279787418.
The proxy docs can be found at https://github.com/angular/angular-cli/wiki/stories-proxy.

I'm thinking that maybe the reason given in #3661 is a different use case, yeah you can add proxies to the configuration to point to ANOTHER api server how ever I also consider it an overkill to create a server instance to serve simple JSON when you already have a running server with ng serve and you just need to add the paths mapping with the setup method already available in webpack-dev-server


Possible broken heap in buffer_release

It is possible to destroy the heap in the function UwacWindowShmAllocBuffers.
If the xrealloc allocates more storage, it is possible that the pointer to the storage will be changed. If that happen, in the function buffer_release the uwacBuffer->used = false will write into unknown memory. I am a little bit unsure to fix it. I think the best way is to use a list instead of an array maybe. I am using in the moment a bigger fixed size array.
I have debugged it with valgrind.

@hardening might be able to shed some light there.

Hello,
It seems to be fixed by cbc6b666ae40b1f6a1634612f8bd5bc599eec42b
Best regards.


Update DiffEqGPU.jl example

Some users have followed your tutorial to compile DiffEqGPU solvers with their non-standard hardware. I updated the example with the latest API.

Do you mind adding appropriate versions in Project.toml? That would help with compat issues.
Also, I'm working on a way to get CI working, so that would help, too.

Thanks, @utkarsh530.


Observable grammar!

TODO

[x] Remove TS support
[x] Remove JSX support
[x] Remove exports
[x] Remove empty imports (import "foo")
[x] Remove import star (import * as foo from "foo")
[x] Remove import default (import foo from "foo")
[x] Import-with
[x] Remove class properties (not yet supported by our parser)
[x] Replace top-level Script with Cell
[x] Named cells
[x] Viewof and mutable references
[x] Viewof and mutable declarations
[x] VariableDefinition for named cell definitions
[ ] Consider adding CI?

I ported the existing tests by wrapping them with a block, for the most part: Script(…) becomes Cell(Block(…)). Then I added a bunch of new tests for more typical Observable cell definitions.
(Note that this repository depends on Node 15 to run the tests.)

For reasons that are not entirely clear to me, the cellname @cut precedence declaration is no longer doing what I expect when the cell names are VariableDefinition and not VariableName. (We want the former for syntax highlighting purposes.) However, I was able to fix the issue using [@dynamicPrecedence=1]… which kind of makes sense since a named cell is ambiguous with an assignment expression. I was just hoping that the cellname @cut would do the job… Oh well, it’s a start!

For reasons that are not entirely clear to me, the cellname @cut precedence declaration is no longer doing what I expect when the cell names are VariableDefinition and not VariableName. (We want the former for syntax highlighting purposes.) However, I was able to fix the issue using [@dynamicPrecedence=1]… which kind of makes sense since a named cell is ambiguous with an assignment expression. I was just hoping that the cellname @cut would do the job… Oh well, it’s a start!


Crashing running as root (while accessing "Manage Plugins")

I'm using BinaryNinja in one of my VMs that is running as root, as the VM is reset on every shutdown.
While most things work fine, BinaryNinja is crashing while invoking the "Edit" \ "Preferences" \ "Manage Plugins" action. It seems to be related to the Chrome Sandbox:
Steps to reproduce:

Open root-Terminal
Navigate to BinaryNinja directory
Execute ./binaryninja
Navigate to "Edit" \ "Preferences" \ "Manage Plugins"

The crashed instance shows the following error message in the console:
[16:45] [root@k01] [/opt/binaryninja]: ./binaryninja
[2305:2305:0930/164511.694147:ERROR:zygote_host_impl_linux.cc(89)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.

Possible Solution
It is possible to set QTWEBENGINE_CHROMIUM_FLAGS=--no-sandbox to instruct QT to not enable the sandbox.
Maybe this could be added in the docs for reference.
Environment

OS: Kali Linux (5.2.0-kali2-amd64)
Binary Ninja Version: 1.2.1902-dev (Build ID 96eb66b6)

Edit: Workaround found, see possible solution. Ticket can be closed.

Thanks for the report and the proposed workaround -- we'd still like to avoid this situation so we might look into other fixes.
We do recommend not running Binary Ninja as root in general, but crashing is still poor behavior.

We do recommend not running Binary Ninja as root in general, but crashing is still poor behavior.

Absolutely, I would not recommend setting this as a default option. As the snapshot of my VM is reset on every shutdown, I don't consider this an issue here.

I'm going to re-open this since it's about to get a lot worse as we're changing the start-tab to include a QWebEngine instance as well. I'll go ahead and re-title it if you don't mind with our planned fix.
We'd like to warn the user when running as root with a message that lets them know about this environment variable since otherwise the default launch behavior will be to crash.

Fixed in builds >=1908.
Note that it doesn't currently link to this specific issue since I suspect there will be other complications for root users in the future, but it at least warns that it's unsupported. This does mean you'll have to hit escape to cancel the automatic quit, but it's still possible to run as root.


Template sensor fails to detect entity_id/updates

Home Assistant release with the issue:
0.71.0
Last working Home Assistant release (if known):
None
Operating environment (Hass.io/Docker/Windows/etc.):
Debian/Python 3.5/venv
Component/platform:
sensor.template (https://www.home-assistant.io/components/sensor.template/)
group
(I don't know if it's a template sensor or a group issue)
Description of problem:
A template sensor is not updated properly when a member of the associated group changes. I am not sure whether this is an issue in the group component (group not triggered) or the template sensor (automatic entity_id detection fails).
Problem-relevant configuration.yaml entries (fill out even if it seems unimportant):
sensor:
    - platform: template
      sensors:
        open_window_count:
        friendly_name: "Open window count"
        value_template: >-
            {%- for entity_id in state_attr("group.all_windows", "entity_id") if states(entity_id) == 'on' -%}
            {%- if loop.last -%}{{loop.index}}{%- endif -%}
            {%- else -%}0{%- endfor -%}
        entity_id: group.all_windows

The issue happens with and without the entity_id attribute of the template sensor. Automatic detection of the relevant entities fails and explicitly listing the group also does not help.
Additional information:
The only workaround is to add all of the group members to entity_id, which breaks the whole point of the group.

I think this will only update if the group state changes.

Yes, you are right. And there lies the problem: it has to trigger when any entity in the group changes, so that's the bug.
The automatic detection of the entity_id should detect the state_attr("group.all_windows", "entity_id") and automatically add the entities as triggers.

this is no bug, but a feature...
as long as you check the states of the group, it will only be triggered by the state of the group.
If you want the states of the separate entity_id's, group members, you must declare the separate entity_id's.
no way around that.
unfortunately, I must admit.

The issue is still present in 0.81.1
I think this could be solved by adding support for referencing group attributes as entitiy id:
entity_id: group.all_windows.attributes.entity_id

This would provide a solution for this bug if automatic entity id detection fails otherwise.

Issue is still present in HASS 0.89.0.

It's by design.  This is covered all over the forums & the documents.  You need to list out the members of the group so the template knows what entities to update off of.  This is a feature request, not an issue.  It would be best if it was handled there.


Guides should show relative distance

select 1 element, then while hovering on any other, see the distance

Was just about to submit an issue regarding this. This would be the cherry on top for me 😍
Something like this I suppose?

Anyways, really great extension!

It would also be super cool to measure distance between actual pixels, instead of element dimensions.
For example: in text, ignore the line height and calculate the distance from the actual letter' pixels, the same as it's done in Photoshop.

It would be good select an element and hover over another, but I would play with the possibility of using the shift or alt key to invoke this feature. Often there are numerous elements on screen and it can help to be able to select a ‘target element’ in which to get the relative distance between.

i like this extension's behavior/features too http://felixniklas.com/dimensions/

released!


Run through istio.io tasks using Istio installed with operator

This will further verify the correctness of the install. I propose we each take an item or two (depending on the size and your time constraints) from the below list:

https://preliminary.istio.io/docs/tasks/traffic-management/ [ostromart]
https://preliminary.istio.io/docs/tasks/security/ [richardwxn]
https://preliminary.istio.io/docs/tasks/policy-enforcement/ [ostromart, dgn]
https://preliminary.istio.io/docs/tasks/observability/ [dgn]
https://preliminary.istio.io/docs/setup/install/multicluster/gateways/ [taohe]
https://preliminary.istio.io/docs/setup/install/multicluster/shared-vpn/ [taohe]
https://preliminary.istio.io/docs/setup/install/multicluster/shared-gateways/ [richardwxn]

@elfinhe

I hit quite a few bugs along the way but with https://github.com/istio/istio/pull/21651 applied locally I was able to get through the traffic tasks.
One takeway so far, we urgently need to reinstate the e2e and more unit tests so I'll be taking a look at that asap. There were a few regressions and missed cherrypicks to 1.5 that we could've avoided.


[Feature Request] More styling for table components

Description
The table component is lacking style section. The table components does not go with my whole page styling and frustrates me. Can you add more style options to table components such as radius, outline color, different text color for the selected row and/or text font and text color for the header(column names)?)
Steps to reproduce
No response
ILLA Builder Version
2.8.7
Browser
Google Chrome
Operating System

[X] macOS
[ ] Windows
[ ] Linux

Additional Information
No response

I agree!

Thanks for your feedback. We have added it to our plan and may release the new feature next month.


add encryption to private graph

Goal
The goal of this PR is  to add encryption and decryption to private graph
closes #3
Acceptence Criterea

[x] encrypting when Writing private graph
[x] decrypting when reading private graph
[x] Tests added

@wesbiggs If I remember correctly we decided to distinguish between different graphs (connection types) with different schemas (Even if schema structure might be the same).
@wilwade Please let me know if this is still the case.

Merging to keep the ball rolling! I'll address any additional comment is coming PRs.


[Bug]:

Minimal, reproducible example
console.log('Launching browser...');
  const browser = await puppeteer.launch({
    dumpio: true,
    args: chromium.args,
    defaultViewport: chromium.defaultViewport,
    executablePath: await chromium.executablePath(),
    ignoreHTTPSErrors: true,
    devtools: false,
  });
  console.log('Browser launched:', await browser.version());

  console.log('Loading page...');
  const page = await browser.newPage();
  await page.setContent(/*some-html*/, { waitUntil: 'networkidle0' });
  console.log('Page loaded.');

  console.log('Generating pdf...');
  const buffer = await page.pdf({ format: 'a4' });
  console.log('Pdf generated:', buffer.length, 'bytes');

Background
Hey, I am receiving the following error when working with chromium.
{
  "errorType": "Error",
  "errorMessage": "require() of ES Module /opt/node_modules/get-stream/source/index.js from /opt/node_modules/extract-zip/index.js not supported.\nInstead change the require of /opt/node_modules/get-stream/source/index.js in /opt/node_modules/extract-zip/index.js to a dynamic import() which is available in all CommonJS modules.",
  "trace": [
    "Error [ERR_REQUIRE_ESM]: require() of ES Module /opt/node_modules/get-stream/source/index.js from /opt/node_modules/extract-zip/index.js not supported.",
    "Instead change the require of /opt/node_modules/get-stream/source/index.js in /opt/node_modules/extract-zip/index.js to a dynamic import() which is available in all CommonJS modules.",
    "    at Object.<anonymous> (/opt/node_modules/extract-zip/index.js:4:19)"
  ]
}

Expectation
I was using @sparticuz/chromium^122.0.0 and puppeteer-core^22.5.0 which worked perfectly fine until now. Probably some dependency, get-stream or extract-zip had an update.
Reality
I don't know if that comes from chromium or puppeteer.
I tried upgrading to @sparticuz/chromium^127.0.0 and puppeteer-core^23.2.1 but got the exact same error.
Can someone please point me in the right direction?
Puppeteer configuration file (if used)
No response
Puppeteer version
23.2.1
Node version
22.7.0
Package manager
npm
Package manager version
10.8.2
Operating system
Linux

I am not able to reproduce the issue. Since you use @sparticuz/chromium, are you running on AWS Lambda? Is the Node version different there?  Note that also Puppeteer uses extract-zip dependency, puppeteer-core would not use it because it does not download the browsers by default. I would suggest raising the issue with @sparticuz/chromium to see if it is only reproducible with it. Neither get-stream or extract-zip had updates recently.

@OrKoN okay, thank you. Will do.

Hey @xonaman
Did you find a solution ? I am encounter with the same issue.
thank you in advance.

@AhmedBHameed  this is my current workaround (package.json):
{
  "overrides": {
    "get-stream": "6.0.1"
  }
}

Because get-stream was not an ESM module back then at version 6.0.1.

@xonaman
Thank you for your rapid answer. I figured out that the issue from my side is related "ejs-lint". Downgrading to "^1.2.1" resolved my issue. Not sure if it is a good idea but it is just a linter after all.


Maximum bandwidth reached for sct-data organization, dealing with binaries, data and models

Due to the recent changes in GitHub's price plan and policies, I received an email mentioning that our BW limit was reached for the https://github.com/sct-data organization, which is a problem because if the download service is interrupted this could disrupt SCT installation and CI.
As of today, this is our quota and usage:

It looks like this quota resets every month. We should probably chip in some $$ in order to make sure our plan fits our requirements.
Related to https://github.com/neuropoly/spinalcordtoolbox/issues/2959 https://github.com/neuropoly/spinalcordtoolbox/issues/2746 https://github.com/neuropoly/spinalcordtoolbox/issues/1526

Looking at the plans, it seems like a $5/month would leave us stress-free:

We are currently using <2GB/month, and $5/month gives us 50GB/month.

I did a quick search: https://github.com/search?q=org%3Asct-data+lfs&type=code
It seems like this issue is specific to the sct-data/exvivo-template repo, rather than SCT as a whole. Tagging @charleygros due to https://github.com/sct-data/exvivo-template/commit/ff82cc7ac317bc5380e9aa90e824c2bb34dfbcea.

I did a quick search: https://github.com/search?q=org%3Asct-data+lfs&type=code
It seems like this issue is specific to the sct-data/exvivo-template repo, rather than SCT as a whole. Tagging @charleygros due to sct-data/exvivo-template@ff82cc7.

Indeed @joshuacwnewton is right. I guess that lfs was used to work around the 100MB file size limitation that template.nii.gz exceeds.
$  git-lfs ls-files -s
f23c66e5bb - template/label_spinalsegments.nii.gz (2.2 MB)
b28c34c8c0 - template/map_greymatter.nii.gz (21 MB)
77b89929e8 - template/mask_spinalcord.nii.gz (3.2 MB)
f888bb15b6 - template/mask_spinalsegments.nii.gz (3.2 MB)
97e770fa59 - template/template.nii.gz (122 MB)

$  git-lfs fetch
fetch: Fetching reference refs/heads/master
batch response: This repository is over its data quota. Account responsible for LFS bandwidth should purchase more data packs to restore access.
error: failed to fetch some objects from 'https://github.com/sct-data/exvivo-template.git/info/lfs'

It's unfortunate that Github charges for bandwidth, otherwise it would be a no-brainer to use github lfs, it seems well integrated.

Thank you for catching this @joshuacwnewton ! I'll pay per use for this repository, if needed. The quota will be reset in 2 days so we can wait.

Reopening because the issue came up again: https://github.com/sct-data/exvivo-template/issues/1

@jcohenadad I notice that ghsplit was applied here: https://github.com/sct-data/exvivo-template/pull/2.
Can this issue be closed, then?

ah! yes I think so. Thank you for the follow up 🙏


Machine win-6 went dead from monitoring website.

Machine win-6 went dead from monitoring website.

Machine win-6 was hung, it needs restart machine.


Fix wrong type hint for TagColumnOperation in quicksight.create_athena_dataset

Feature or Bugfix

Bugfix

Relates

#1569

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 658d2714f0547672e95f7e21663862f8bfeb9856
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository