Fix Common Controller Issues

Purpose
Fixes https://github.com/wso2/apk/issues/2214
Fixes https://github.com/wso2/apk/issues/2205
Goals

Describe the solutions that this feature/fix will introduce to resolve the problems described above

Approach

Describe how you are implementing the solutions. Include an animated GIF or screenshot if the change affects the UI (email<EMAIL_ADDRESS>to review all UI text). Include a link to a Markdown file or Google doc if the feature write-up is too long to paste here.

User stories

Summary of user stories addressed by this change>

Release note

Brief description of the new feature or bug fix as it will appear in the release notes

Documentation

Link(s) to product documentation that addresses the changes of this PR. If no doc impact, enter “N/A” plus brief explanation of why there’s no doc impact

Training

Link to the PR for changes to the training content in https://github.com/wso2/WSO2-Training, if applicable

Certification

Type “Sent” when you have provided new/updated certification questions, plus four answers for each question (correct answer highlighted in bold), based on this change. Certification questions/answers should be sent to<EMAIL_ADDRESS>and NOT pasted in this PR. If there is no impact on certification exams, type “N/A” and explain why.

Marketing

Link to drafts of marketing content that will describe and promote this feature, including product page changes, technical articles, blog posts, videos, etc., if applicable

Automation tests

Unit tests

Code coverage information

Integration tests

Details about the test cases and coverage

Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes/no
Ran FindSecurityBugs plugin and verified report? yes/no
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes/no

Samples

Provide high-level details about the samples related to this feature

Related PRs

List any other related PRs

Migrations (if applicable)

Describe migration steps and platforms on which migration has been tested

Test environment

List all JDK versions, operating systems, databases, and browser/versions on which this feature/fix was tested

Learning

Describe the research phase and any blog posts, patterns, libraries, or add-ons you used to solve the problem.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 80.21%. Comparing base (ae75260) to head (9678fcb).
Report is 43 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #2215       +/-   ##
===========================================
+ Coverage   25.56%   80.21%   +54.64%
===========================================
  Files          47        9       -38
  Lines        9394      551     -8843
  Branches        0      246      +246
===========================================
- Hits         2402      442     -1960
+ Misses       6861      109     -6752
+ Partials      131        0      -131

Flag
Coverage Δ

adapter
?

common-controller
?

idp-domain-service
80.21% <ø> (?)

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

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


Faucet

I am unable to claim GETH from the faucet as the button isn't working after verifying captcha

hi @AdekunleTimi thank you for this ticket. please try the faucet at https://bubstestnet.com


PxrPathTracer UI bug

There seems to be a bug with PxrPathTracer integrator. Change mode from bxdf to manual, no change in the UI to control individual ray samples.
Just to clarify, the integrator actually works as intended in manual mode, it's just a UI bug where it's stuck on bxdf mode.
Here you can see the UI in Blender, still stuck on bxdf.

Rendering in IT - actually using manual as intended.

I cannot reproduce what you're seeing. Can you elaborate on what you mean by the UI is stuck?

@TzurH  can you see if this latest commit fixes the problem?

Can confirm works as intended now. Thanks.


IOLoop.close(all_fds=True) can raise RuntimeError

Traceback (most recent call last):
  File "/home/antoine/distributed/distributed/utils_test.py", line 435, in test_func
    loop.stop()
  File "/home/antoine/miniconda3/envs/dask35/lib/python3.5/contextlib.py", line 66, in __exit__
    next(self.gen)
  File "/home/antoine/distributed/distributed/utils_test.py", line 109, in pristine_loop
    loop.close(all_fds=True)
  File "/home/antoine/tornado/tornado/ioloop.py", line 719, in close
    for fd, handler in self._handlers.values():
RuntimeError: dictionary changed size during iteration

The explanation: IOLoop.close(all_fds=True) calls .close() on each iterated socket object, and _AsyncSocket.close calls IOLoop.remove_handler() immediately.

Good catch. It should still remove the handler in other cases. My inclination is a two-fold fix:

(safely) check private IOLoop._closing flag  in FutureSocket.close to prevent this in current versions of tornado
push a fix upstream to tornado to call list(self._handlers.values()) in close, so that it's not sensitive to the dict changing size during iteration


DXCDT-511: Adding support for auth0_tenant resource import

🔧 Changes
Introducing support for exporting the auth0_tenant resource with the reverse terraform functionality.
This one was pretty straightforward, lacking an API request because tenants are ID-less singletons.
🔬 Testing
Added unit test + manual verification.
📝 Checklist

[x] All new/changed/fixed functionality is covered by tests (or N/A)
[x] I have added documentation for all new/changed functionality (or N/A)

Codecov Report
Patch coverage: 77.77% and no project coverage change.

Comparison is base (062091f) 72.10% compared to head (9ebdd78) 72.10%.

:exclamation: Current head 9ebdd78 differs from pull request most recent head 85eb7d1. Consider uploading reports for the commit 85eb7d1 to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #808   +/-   ##
=======================================
  Coverage   72.10%   72.10%
=======================================
  Files          91       91
  Lines       11474    11483    +9
=======================================
+ Hits         8273     8280    +7
- Misses       2696     2698    +2
  Partials      505      505

Files Changed
Coverage Δ

internal/cli/terraform.go
66.53% <0.00%> (-0.53%)
:arrow_down:

internal/cli/terraform_fetcher.go
100.00% <100.00%> (ø)

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


Can not flash RG353PS - always get blank screen.

So far i have tried:
-Image "RG353M - GDrive | Mega | (Updated 01/27/2024) MD5:14BC64AA09885AFB143F85725B28CF56"
-Using a freshly formatted A-class card (Samsung Evo 32GB)
-Tried flashing with RUFUS and with Balena Etcher
-Tried the rename trick as mentioned here: click
-Turned on he device with SD card inserted (no other cards). Waited 30 min. Nothing. (tried several times).
Can anyone please help me with this! :) Is the latest RG353M image incompatible with RG353PS perhaps?
PS.
Just to be clear...the Stock OS that came with the device works absolutely fine.

The rg353ps is not supported.  You're welcome to try a workaround here https://github.com/christianhaitian/arkos/issues/842

The rg353ps is not supported. You're welcome to try a workaround here #842

Hi, thanks for the reply.
This is really frustrating for me, since if i read all sorts of guides and replies on Reddit literally NO ONE states that you need this file in order for it to work. I will try this suggestion ASAP.
Question though:
By default the RK3566 (according to specs) runs on 1.8 GHz with Anbernic's stock firmware. Is the 1.4 GHz speed only changed at boot? Are there files for 1.2 or 1.5 GHz as well?

See here for another solution you can try. https://github.com/christianhaitian/arkos/issues/831#issuecomment-2145811688


Fixed an issue with local config rebinding the prefix key

The default local config caused an issue with newer versions of tmux when using the rebind prefix example. The set command seems to have a problem with combining the flags in newer versions. Separating the flags fixed the issue.

I'm still seeing an issue intermittently so I'm now doubting if this was the issue or if there was some other issue that coincidentally went away after I made this change. Potentially with oh-my-zsh trying to check for updates or something like that. Going to close this for now. Unless someone else happens to have the same issue this is probably not a problem.


Add support for connection and subscription headers

This is a first draft at supporting connection and subscription headers, to be able to use the ActiveMq stomp extentions
https://activemq.apache.org/stomp
Not sure about having both connect and connect_with_headers, but I didn't want to add them to the regular connect function since the headers are a corner case. Same with subscribe.
Also the to_client_msg will always have empty headers, just like for the Send... not sure how correct this is.
So, please have a look and see what you think.

I have ported this to the latest main branch, and removed the _with_headers functions by using builders instead.
Not sure how to improve coverage, since tests requires a server.
But, let me know what you think about the builder approach

Maybe @zuisong have an opinion on this? Is this something that is generally desirable, or is it just a weird corner case feature? And is builders better or worse than adding another connect_with_headers method?

let connect = Message {
    content: ToServer::Connect {
        accept_version: "1.2".into(),
        host: virtualhost,
        login,
        passcode,
        heartbeat: None,
        headers, //<-- header at here
    },
    extra_headers: vec![], //<-- header appear again
};

Message<*> was designed to support extra_headers, no need to add headers property in each enum.

If you want to increase the test coverage, one possible solution is to use testcontainers , which starts an mqtt server during the tests

Thanks for the reply, I will have a look into this

@zuisong I now use the extra_headers field, by letting the Message to_frame method add the extra headers if they are not already present in the frame.
I also did a rebase and squashed all commits in to one.

I don't have any other questions.
To increase coverage, you can try doing this.
diff --git a/Cargo.toml b/Cargo.toml
index a68113d..9582438 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -23,3 +23,7 @@ typed-builder = "0.18.0"

 [dev-dependencies]
 tokio = { version = "1", features = ["time", "macros", "rt-multi-thread"] }
+testcontainers = { version = "0.15" }
+
+[features]
+integration-test = []
diff --git a/src/client.rs b/src/client.rs
index f9e4195..e5635c6 100644
--- a/src/client.rs
+++ b/src/client.rs
@@ -331,3 +331,40 @@ fn connection_message() {

     assert_eq!(expected_buffer, actual_buffer);
 }
+
+#[cfg(feature = "integration-test")]
+#[cfg(test)]
+mod integration_test {
+
+    use std::net::Ipv4Addr;
+    use testcontainers::{core::WaitFor, clients, GenericImage};
+    use crate::client;
+
+    #[tokio::test]
+    async fn test_connect() {
+        let docker = clients::Cli::default();
+        let activemq = docker.run(
+            GenericImage::new("apache/activemq-artemis", "latest-alpine").with_wait_for(
+                WaitFor::StdOutMessage {
+                    message: "<IP_ADDRESS>:8161".into(),
+                },
+            ),
+        );
+        dbg!(&activemq.ports());
+
+        let stomp_port = activemq.ports().map_to_host_port_ipv4(61613).unwrap();
+        dbg!(stomp_port);
+
+        // now you got stomp server at <IP_ADDRESS>:${stomp_port}
+
+        //  write your test here
+        let mut conn = client::connect(
+            (Ipv4Addr::LOCALHOST, stomp_port),
+            "/".to_string(),
+            "artemis".to_string().into(),
+            "artemis".to_string().into(),
+        )
+        .await
+        .unwrap();
+    }
+}

Well, I increased the coverage already, so I think the testcontainer is a bit overkill. But, it is good to have in mind if we really want to test the last pieces of the code. But, I leave that to @alexkunde to do that.

Closing due to inactivity and this is included in my async-stomp fork


Use language to determine LayoutDirection

Fixes #681.
Hello there!
Make sure you've followed the Contributing guidelines before finalizing your pull request.
TL;DR:

[x] You're opening this PR against the current release branch
[x] Works on both Python 2.7 & Python 3.x
[x] Commits have been squashed and includes the relevant issue number
[x] Pull request description contains link to relevant issue or detailed notes on changes
[x] This must include example code demonstrating your feature or the bug being fixed
[x] All existing tests pass

I get "5 failed, 65 passed, 2 warnings, 1 error", but this is the same as what I get when running on 1.0.9-release

[ ] Your bug fix / feature has associated test coverage

This one is a bit difficult for me, I couldn't find any existing test to build upon. Seems like the support for languages is missing test coverage?

[ ] README.md is updated (if relevant)

I think it's not important, but let me know if you think otherwise, and I'll update accordingly.

@chriskiehl - any chance you can take a look at this PR? Thanks!

In time. Tight release schedule at the day job is preventing all open source work atm.

Gooey seems great; but the issue addressed by this PR is making it unusable for people with Hebrew/Arabic/Persian OSes.
It'd be great if you can review this PR.


[Q] How can I add config from an already existing project?

Hello
For example, I want to include the value of the inference result in the training wandb project in the table
If I just write the code of inference, wandb shows a new project-name, how do I make it possible?

HI @youngjae-avikus , thank you for writing in. Can you please clarify what you are attempting to do as it isn't clear from the message posted. When you wrote you want to add a "config" from an existing project to a new one, are you attempting to use our API to fetch a specific run configuration and manually add/use it for another run?
Thanks

@MBakirWB
For example, I want to measure the model inference time after model training and add(logging) the config (or like table) to the existing project,
so do I have to specify the run_id when I run wandb.init?

@youngjae-avikus ,
To log to an existing run that has finished you need to reinitialize the old run and proviode the actual run id, wandb.init(id=run_id) .
Please let us know if you have additional questions.


max_length error

Django 1.9.1
from location_field.models.plain import PlainLocationField
...
city = models.ForeignKey(City, blank=True, null=True)
region = models.ForeignKey(Region, blank=True, null=True)
location = PlainLocationField('place',
                             based_fields=['city'],
                             zoom=7
                             )

When I try to makemigrations I'm got:
ERRORS:
trips.TripExpence.location: (fields.E121) 'max_length' must be a positive integer.

Second question:
Name of city defined in another model and linked through ForeignKey. Is this will work?
And third:
Can I set the place for location field using both entites: city and region?

The max_length thing seems to be a bug. I'll try to confirm later.
Second, the based_fields will look for the rendered HTML input field for the fields you set. Usually, for a ForeignKey it's a <select>, so it will use the value of the selected <option>.
Lastly, yes. You can set based_fields=['city', 'region']. You can even pass the suffix parameter if you want to restrict your search to a specific country, for example: suffix='Country name'.

And just to mention, the version 2.0 will be out within the next days. I'd consider using it for now.

Thank you!
Some addition to error's description:
DB - Postgresql
if I try to add  max_length to the field - I've got error:
TypeError: __init__() got multiple values for argument 'max_length'

I can't reproduce this issue. Which version are you using?

python 3.5.0
Django==1.9.1
django-location-field==1.6.1

Closing this for now as we released a new version. Please reopen if it persists.


HIVE-27616 : Backport of HIVE-20619: Include MultiDelimitSerDe in HiveServer2 By Default

JIRA link - https://issues.apache.org/jira/browse/HIVE-27616

Taken care of https://github.com/apache/hive/pull/4535


Changed contribution link in Readme.md

Link to the contribution page gives Not found.Changed to the accurate link

We have a contributing file, can you please link to it: .github/CONTRIBUTING.md
The file proposed in this pull request is a metrics detail page.

@GeorgLink had not realized we had that .github directory. Wouldn't it be better having CONTRIBUTING.md in the main directory instead, so that it is more clearly prominent?

We moved the contributing.md to the .github directory because it declutters
the repository but still provides the GitHub features around having the
contributing.md file.
We should link to the contributing.md file from the README.md, which this
pull request is about.

We moved the contributing.md to the .github directory because it declutters the repository but still provides the GitHub features around having the contributing.md file.

If you feel it is better to have it that way, please go ahead. I was just curious, because I think it is customary to look for the CONTRIBUTING.md file in the root of the repo. But In understand your concerns, so no problem from my side.

Thanks @Satyam-Bhalla


Unable to manage not owned teams as site admin

Gitea version (or commit ref): 3725eef
Git version: Not relevant
Operating system: Not relevant
Database (use [x]):

[ ] PostgreSQL
[ x ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[ x ] Not relevant

Log gist:

Description
Long story short, I am trying to add users to organisation that I don't own. As site admin I am able to create org, but not list org teams etc.

Check another scenario with sudo, and when changing user to the one owning organization everything works fine.
Thus I tried to track down the problem and judging by error message "Must be an organization member" and function reqOrgMembership ( https://github.com/go-gitea/gitea/blob/2933ae4e88bb954af76c4e1e67c7ab1e4892e4a4/routers/api/v1/api.go#L328 )  it seems that root cause is function isUserSiteAdmin ( https://github.com/go-gitea/gitea/blob/0af0b078f9f2f56615086de2fb50676266c59752/modules/context/context.go#L50 ). One of the sides of condition must be false. I hope someone with better gitea understanding can provide some inside which of the variables might not be properly set up.

The commit 3725eef seems to be in the branch release/v1.8.
The lines of code you mentioned are from the master branch. These are not from the release/v1.8.
There have been improvement of permission checks for API in the master branch (commit 49b2f45)
Which Gitea version are you using?
Are you using API or web UI?

My bad, I completely forgot about checking out to release v1.8, that I was using. I can directly point out 49b2f45 as a fix to the issue (just by reading the flow of reqOrgMembership).


Add phone-number exercise

@glennj Another interesting one. Could you try running this on your machine:
ok> "example.8th" f:include G:reset

ok> "223.456.7890" clean .s
 0 s: 000000010b01c970 1<PHONE_NUMBER>

ok> "223.456.7890" clean .s
 0 G: 000000010adf11c0 1  null
 1 s: 000000010b01c970 1<PHONE_NUMBER>

Seems odd that the same code returns different results. I must be making some very silly mistake.

There's something going on in digits:
$ 8th
8th 24.02 LIN64 Free (98b29c8c/2024-03-11) custid: 44e5dc98

ok> "example.8th" f:include

ok> "1234567890" digits .s
 0 a: 00007f04d0e91ec0 2   [1,2,3,4,5,6,7,8,9,0]

ok> drop

ok> "1234567890" digits .s
 0 a: 00007f04d0e91ec0 2   [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0]

ok> drop

ok> "1234567890" digits .s
 0 a: 00007f04d0e91ec0 2   [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0]


Add base class contract to renders

This change adds a base BaseRender class to new renders override implementation. It is intended to provide extensibility from the already created rendering algorithms implemented in the library.

Adds BaseRender class to be followed by newly added renders.
Adds Render2D to implement Robocup Soccer Simulation 2D rendering objects.
Adds RenderParam2D dataclass as a param aggregator from Render2D class.

We will be following gymnasium idea.
The renderer will not be described as a class but function (e.g. LunarLander.
Closing for now.


Stops when using bot.clickWindow() or bot.closeWindow()

Info

Stops working when using bot.clickWindow() or bot.closeWindow()
The code below is dropping all items from inventory, and then plugin stops working

Code
      var slots = bot.inventory.slots
      for (var currSlot of slots) {
        if (currSlot == null) continue;
        bot.clickWindow(currSlot.slot, 0, 0, () => {
          bot.clickWindow(-999, 0, 0)
        })
        bot.closeWindow(slots)
        continue;
      }

I'm not sure if we have this code in current version of armor manager. Are you reporting an existing issue or it's a question?

I mean, when I executing code like this, it stops work without any errors. Yes, this is an issue.

That's interesting, thanks for reporting, I'll look into it.

I will check the code, if I find issue I try to fix it

Crap, this is coded using TypeScript

Hasn't been able to reproduce it in the most recent version, please let me know if you encounter the issue again.


Error: react-d3-graph :: Graph :: you have not provided enough data for react-d3-graph to render something. You need to provide at least one node

I am fetching the data from backend, it is throwing error

Have you tried not rendering the component until the data is fetched? Ie have a "isLoading" (or something similar) state: if(!isLoading) -> render graph.

To avoid this kind of breaking behavior react-d3-graph should mute this in production environment and simply console.error instead of actual throwing an error.

I think it should just draw an empty canvas if you provide a data object like following:
{
nodes: [],
links: []
}

instead of throwing an error.

Hi @danielcaldas
{
nodes: [{"node":b}],
links: []
}
i am not able to render a graph with empty links can you please help me on this issue?

Hi,
Shall i work on this issue?

Hey @gokul112 thanks for your interest. I think @LonelyPrincess might be looking into the same issue. Just to make sure we don't have two people working on this, I'll put this one on hold until we hear back from @LonelyPrincess. The solution we want to go with is to provide default data in case the client does not provide it. Just like pointed by @mailuesp above.

Yeah, I agree in that it's best that we default the node list to an empty array and show a warning instead of throwing an error in these cases. It's true that the scenario in which someone uses the library to display an empty canvas is rare, but this is not really an error per se. A warning to tell the user that they forgot to pass down some data is enough to make them aware in case they didn't intend to leave that to happen. I'll upload a PR for this in a few minutes. 👍🏻


Gradle Support

Hi there,
this seems exactly what I was looking for. A great Plugin! Is there already a way to make it work with Gradle projects or any plans to support Gradle ?

Hi Jonas, I am currently not really familiar with gradle - just the real basics of it. But anyway, supporting gradle is not a bad idea, because of its popularity. I am looking forward to implement this within the next few days/weeks, depending on how this is generally possible 👍

The gradle support is included in the next version (1.1.0) and should be available in the official jetbrains repository within the next few days. If you want to test it earlier, you could install it by downloading the file manually, see README if you need help installing it :)
If you have any issues, please let me know - I just tested with the small official demo project of quarkus ( https://quarkus.io/guides/gradle-tooling ).


[SPARK-17680] [SQL] [TEST] Added a Testcase for Verifying Unicode Character Support for Column Names and Comments

What changes were proposed in this pull request?
Spark SQL supports Unicode characters for column names when specified within backticks(`). When the Hive support is enabled, the version of the Hive metastore must be higher than 0.12,  See the JIRA: https://issues.apache.org/jira/browse/HIVE-6013 Hive metastore supports Unicode characters for column names since 0.13.
In Spark SQL, table comments, and view comments always allow Unicode characters without backticks.
BTW, a separate PR has been submitted for database and table name validation because we do not support Unicode characters in these two cases.
How was this patch tested?
N/A

Test build #65946 has started for PR 15255 at commit 741d59c.

Also need to add a test case for data source tables. Will do it later

... Hit a bug in the write path... Need to fix it at first...

... Hit one more bug in the write path...

Test build #65946 has finished for PR 15255 at commit 741d59c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65946/
Test PASSed.

Merged build finished. Test PASSed.

retest this please

Test build #68263 has started for PR 15255 at commit 741d59c.

Test build #68263 has finished for PR 15255 at commit 741d59c.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/68263/
Test FAILed.

retest this please

Test build #69197 has started for PR 15255 at commit 741d59c.

Test build #69197 has finished for PR 15255 at commit 741d59c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/69197/
Test PASSed.

Merged build finished. Test PASSed.

cc @cloud-fan Could you review this PR? Thanks!

LGTM

Test build #69357 has started for PR 15255 at commit 57817a1.

Test build #69357 has finished for PR 15255 at commit 57817a1.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/69357/
Test FAILed.

Merged build finished. Test FAILed.

retest this please

Test build #69379 has started for PR 15255 at commit 57817a1.

Test build #69379 has finished for PR 15255 at commit 57817a1.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/69379/
Test PASSed.

thanks, merging to master/2.1!


added lots of ui functionality

added ability to find populated chunks.
added more name look ups to inventory and item nodes

Thanks for the updates.  Unfortunately no merge tool is willing to merge them outside of a complete replacement of the source code.  There were changes after your fork point that tweaked a few different things in forms in order to get Mono compatibility on Macs, and some Anvil support was also added.  Could you merge the current trunk and update or reissue your pull request?

Where can I find the changes that happened after my fork point? I'm not seeing any other commits

If you look at the network tab of the project you'll see how your
branch has evolved relative to the main project.  Probably you just
need to fetch and merge the head of the project branch locally, and
then push your changes.  I don't know for certain because I haven't
dealt with this aspect of git yet.
On Tue, Feb 21, 2012 at 8:35 AM, ImaginaryDevelopment
<EMAIL_ADDRESS>wrote:

Where can I find the changes that happened after my fork point? I'm not seeing any other commits

Reply to this email directly or view it on GitHub:
https://github.com/jaquadro/NBTExplorer/pull/1#issuecomment-4074731

--
Justin Aquadro

ok, the merge should be fully functional now, give it a shot?

@ImaginaryDevelopment This PR is very old.  Do you think you could rebase it or something like that?

it's 4 years later, would you accept a PR that added and integrated an F#
version of the changes?
On Fri, Jan 22, 2016 at 5:48 PM, LordNyriox<EMAIL_ADDRESS>wrote:

@ImaginaryDevelopment https://github.com/ImaginaryDevelopment This PR
is very old. Do you think you could rebase it or something like that?
—
Reply to this email directly or view it on GitHub
https://github.com/jaquadro/NBTExplorer/pull/1#issuecomment-174078749.

@ImaginaryDevelopment I'm not @jaquadro, but I figure he'll be able to more effectively make a decision regarding this PR if he can test it with current code.
Though I'm a computer klutz and therefore not a reliable source for coding advice, I understand enough of how Github works to say testing your changes will be much easier if they're at least partially up-to-date.
So go ahead and rebase—and cross your fingers @jaquadro likes what he sees.
Thanks,
~ Nyriox

@ImaginaryDevelopment You should rebase the pr


Comments in packages break parsing

Any comment with the word "module" in a package entry point breaks exports. It's probably caused by invalid parsing rules.
How to reproduce

In example project, add the comment // module anywhere in test-modules/index.js.
Check the output of (vite) meteor/test:modules in the console.

Turns out it's not only comments, but also filenames including "module". Seems to be a Meteor thing though, as the generated package sources appear to change from e.g. module.link(...) to module1.link(...).


[FEA] Support complex window range function

I wish we can support a more complex window range function:
eg:
val df = spark.read.parquet("dbfs:/path_to/TPCDS3000-parquet/useDecimal=false,useDate=true,filterNull=false/customer/").limit(100)
df.createOrReplaceTempView("df")
spark.sql("""
select first_value(c_current_addr_sk) over (partition by c_customer_sk order by case when c_salutation is not null then 100 else 200 end,c_first_name)
from df
""").show()

The fallback message is:
!Expression <WindowExpression> first_value(c_current_addr_sk#117, false) windowspecdefinition(c_customer_sk#113, _w0#155 ASC NULLS FIRST, c_first_name#121 ASC NULLS FIRST, specifiedwindowframe(RangeFrame, unboundedpreceding$(), currentrow$())) cannot run on GPU because only a single date/time or numeric (Boolean exclusive) based column in window range functions is supported

This is likely going to need some help from CUDF in the general case.
@viadea do we need this for all types of window operations ROW/RANGE RUNNING, UNBOUNDED to UNBOUNDED, BOUNDED, ETC or are there very specific windows and operators that we need to worry about?

It is very specific for this user. I can ping you offline about the exact use case @revans2

The only problem here is that the partition-spec isn't specified, so it amounts to:
RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING

This could well be reinterpreted as:
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING

I wonder if we could address that directly in the plugin GpuWindowExec.

This is a sort of corner-case.  Explicit range values aren't specified, but we would still need equality comparisons for the order-by columns (plural).
@revans2 saw this right away: This will need some handling in libcudf, whose APIs assume a single order-by column.


cannot unmarshal !!map into string

I use the datadog-agent of 7.34.0., when I start the agent, it shows the error message when I check the status
  Check Initialization Errors
  ===========================

      openmetrics (2.2.1)
      -------------------

      instance 0:

        yaml: unmarshal errors:
  line 9: cannot unmarshal !!map into string
  Loading Errors
  ==============
    openmetrics
    -----------
      Core Check Loader:
        Check openmetrics not found in Catalog

      JMX Check Loader:
        check is not a jmx check, or unable to determine if it's so

      Python Check Loader:
        could not configure check instance for python check openmetrics: yaml: unmarshal errors:
  line 9: cannot unmarshal !!map into string

my conf.yaml in /openmetrics.d/conf.yaml is like this
init_config:

instances:
    - prometheus_url: http://localhost:9090/metrics
      namespace: 'documentation_test'
      max_returned_metrics: 100000
      send_monotonic_with_gauge: true
      send_monotonic_counter: false
      metrics:
      - '*'
      tags:
      - 'source': 'host'

yeah, thank you, this resolves my problem!


No homebrew formula (yet) and status bar problem in dark mode

Hi, I really like both of your Rsync apps, and I am just exploring the new app for Monterey. Two questions upfront:

Will there be a homebrew cask just like RsyncOSX? It seems to be missing currently.
It seems to me that the status bar is very rudimentary when in dark mode - basically a blue dot growing further. Is this intended?

The blue dot also looks quite funny because it somehow "hangs down" on the right end :-) EDIT: I see, this shall become a circle, sorry for that 👍

Many thanks for this, makes rsync jobs so much better!

Hi, thx for your comment..

I tried to get a home-brew formula for it about 1/2 year ago - was rejected.. I might try again sometime in 2022..
The progress bar should be a circle, starting with a dot and 100% when completed.. You might try with more files to transfer, if there are few files the progress bar might jump form a dot to 100% in one go..

Many thanks. Sorry to hear that.

RsyncUI is a more mature app today - I believe it should be possible to get a home-brew formula for it in 2022...


Add WebGPU Provider

Adding WebGPU Provider:

README.md: Added WebGPU to the list of supported hardware acceleration options.

src/models/model.cpp: Added support for the WebGPU execution provider in the CreateSessionOptionsFromConfig method.

Android Build Process:

tools/ci_build/github/android/build_aar_package.py: Fix Android packaging pipeline

@vraspar Can you please fix these merge conflicts?


Add TLS SNI support

This PR adds support for terminating HTTPS traffic for multiple domain names using TLS SNI. See #61.
Replaces the global config parameters KeyFile CertFile with the following parameter:
[[certificates]]
CertFile = "traefik.crt"
KeyFile = "traefik.key"

To make use of SNI you only have to add certificate/key pairs for every domain you intend to serve via HTTPS:
[[certificates]]
CertFile = "example.com.crt"
KeyFile = "example.com.key"

[[certificates]]
CertFile = "example.org.crt"
KeyFile = "example.org.key"

Alternatively SNI is also supported by supplying a single "Subject Alternative Name" or "SAN" certificate (multi-domain certificate).
Fixes #101

Squashed commits

@janeczku needs a rebase :sweat_smile:. Otherwise change looks good ; I wonder if we could write a test for it (but not sur how easy it would be so this is no blocker). so LGTM 🐼.
ping @emilevauge for final LGTM :wink:

@vdemeester So i wrote some integration test for the SSL SNI stuff (which of course took much longer than the original patch hehe). Unfortunately there is problem here :boom:
DEBU[2015-11-24T03:23:07Z] Global configuration loaded &{Port::443 GraceTimeOut:10 AccessLogsFile: TraefikLogsFile: Certificates:[{CertFile:fixtures/https/snitest.com.cert KeyFile:fixtures/https/snitest.com.key} {CertFile:fixtures/https/snitest.org.cert KeyFile:fixtures/https/snitest.org.key}] LogLevel:DEBUG ProvidersThrottleDuration:2s Docker:<nil> File:0xc8201483a0 Web:<nil> Marathon:<nil> Consul:<nil> Etcd:<nil> Zookeeper:<nil> Boltdb:<nil>}
INFO[2015-11-24T03:23:07Z] Starting provider *provider.File &{baseProvider:{Watch:false Filename:fixtures/https/https_sni.toml}}
INFO[2015-11-24T03:23:07Z] Preparing server
INFO[2015-11-24T03:23:07Z] Configuration receveived from provider file: &types.Configuration{Backends:map[string]*types.Backend{"backend1":(*types.Backend)(0xc820149c40), "backend2":(*types.Backend)(0xc820149f40)}, Frontends:map[string]*types.Frontend{"frontend1":(*types.Frontend)(0xc82015e1e0), "frontend2":(*types.Frontend)(0xc82015e560)}}
INFO[2015-11-24T03:23:07Z] Last file config received more than 2s, OK
DEBU[2015-11-24T03:23:07Z] Creating frontend frontend1
DEBU[2015-11-24T03:23:07Z] Creating route test_1 Host:snitest.com
DEBU[2015-11-24T03:23:07Z] Creating backend backend1
INFO[2015-11-24T03:23:07Z] Creating load-balancer wrr
INFO[2015-11-24T03:23:07Z] Creating server server1 http://<IP_ADDRESS>:9010
DEBU[2015-11-24T03:23:07Z] Creating frontend frontend2
DEBU[2015-11-24T03:23:07Z] Creating route test_2 Host:snitest.org
DEBU[2015-11-24T03:23:07Z] Creating backend backend2
INFO[2015-11-24T03:23:07Z] Creating load-balancer wrr
INFO[2015-11-24T03:23:07Z] Creating server server1 http://<IP_ADDRESS>:9020
INFO[2015-11-24T03:23:07Z] Preparing server
INFO[2015-11-24T03:23:07Z] Starting server
INFO[2015-11-24T03:23:07Z] Starting server
FATA[2015-11-24T03:23:07Z] Error creating server: listen tcp :443: bind: address already in use

Could this be a timing issue? It looks like the first prepareServer() call takes a bit longer now because of the certificate parsing and so srv might be still nil when the second prepareServer() call is made and thats why HijackListener() is not invoked. Any ideas?

Oh oh! Thank you for that @janeczku ! This one is bad...
Created an issue #125 ;)

Patch is mature :satisfied:
PASS: https_test.go:21: HTTPSSuite.TestWithSNIConfigHandshake	0.515s
PASS: https_test.go:51: HTTPSSuite.TestWithSNIConfigRoute	2.030s

:clap: :clap:
But which patch ^^ ?

@emilevauge i ment this PR :laughing:

Ah ok :) But you don't have any more concurrency issue with your test?

You mean issue #128 ? Sure, but this is a global issue not specific to HTTPS with SNI.

@janeczku Would you join us on https://traefik.slack.com using https://traefik.herokuapp.com to talking about that?

@emilevauge  Sure np

LGTM 🐸

@janeczku said that the new tests were unstable due to #128.
Do we still merge this one (I have not found any simple solution for the concurrency issue yet)?

@emilevauge thats right, while the tests are stable on the command line they are unreliable when run in a docker container (probably due to the lag introduced by Docker's network stack).
Since the concurrency issue only affects the initial server creation on traefik startup, the easy fix is to give the server enough time to bind the listen port.
A time.Sleep(100 * time.Millisecond) added here https://github.com/emilevauge/traefik/blob/master/traefik.go#L211 solves the concurrency problem. No testing errors anymore.
	srv, er = prepareServer(configurationRouter, globalConfiguration, nil, loggerMiddleware, metrics)
	if er != nil {
		log.Fatal("Error preparing server: ", er)
	}
	go startServer(srv, globalConfiguration)
>	time.Sleep(100 * time.Millisecond)
	serverLock.Unlock()

Are you OK with adding this change to the PR?

OK for me :) Could you just add a "//TODO change that!" before?
Other than that, LGTM :clap:

Sure NP! :metal:

@emilevauge et voilà...c'est fait :smile:

@janeczku Merci :)


adding profile for Jen Looper

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

Docs Build status updates of commit 58075dc:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

advocates/jen-looper.yml
:white_check_mark:Succeeded
View

advocates/media/profiles/jen-looper.png
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Deletes partially failing with multi-server setup.

I am using dalli with a multi-server setup (2 servers).
I seem to be running into an issue where deletes seem to be executed on only one random node. If that node had the key - great, it gets deleted. If the other node had that key, it never gets deleted.
The keys are initially written by the PHP memcache client - perhaps dalli makes some assumptions about what node to execute the delete on? Maybe the memcache client doesn't make the same assumptions when writing the keys?
It is entirely possible I am missing something or doing something wrong here. Any advice? I could open a PR to look into fixing this by making sure delete commands are performed on all servers.

I have been able to look into this issue more. It seems as though our php implementation is using the 'memcache' library which is fairly dumb about how it sets/gets/deletes keys.
I think on a get it will round robin until it finds the key, and a delete issues a delete on all servers.
It seems as though Dalli is much smarter as can be seen here: https://github.com/petergoldstein/dalli/blob/master/lib/dalli/ring.rb#L32-L38
That bit of code is really incredibly clever and I imagine it balances keys out over the nodes evenly :+1:
Digging through the C code that php uses for the 'memcached' library, it looks like it does something simliar. Can anyone confirm that Dalli is intended to be compatible with the memcached PHP/C library?
I am wondering if anyone else has looked at compatibility between ruby and PHP implementations of memcached clients. What solutions are out there?

I believe https://github.com/petergoldstein/dalli/issues/413 could solve my issue.

@jeffutter Yes, a PR implementing pluggable hashing would be welcome.


Use a scoreboard-like struct for holding the pairing of sockets

Using an indexed array and expecting the indexes not to change was a very strange idea but somehow I thought it can work. I'm mad enough at my past self, so you don't have to be.
So instead of the pairing array, I'm creating a double-indexed hash functioning as a scoreboard. You can access the pairing both through the reader and the writer sockets. This isn't really doable using the concurrent hash, as we need to run multiple operations exclusively together. So I'm using a mutex instead. The whole scoreboard has been written in Ruby, so the C code became significantly less complex.
I am planning to refactor the pure Ruby implementation to use the scoreboard as well, so the specs will be much simpler.

Need to dive a little more into this.
Aside: is ruby able to garbage collect these objects? I suppose moving the data structure into ruby will help a bit. But I wonder if the objects will become untouchable (forget official name)

these objects

@kbrock what objects precisely? The only thing not allocated in Ruby is the epoll instance but that's marked to be freed when the whole selector is being garbage-collected. So I don't really understand you :confused:

Thanks for the review, I did some changes but would like to keep some of the stuff as it is...

Thanks for the update.
I gave a verbal :+1: but wanted to type in an official :+1: so here it goes....
LGTM :+1:


Editor - Ability to detect when a screen reader is running

I'm a blind user of FreeCodeCamp. I love that the editor you use has accessibility support, but as of now, you have to turn on screen reader optimization manually each time you use the editor. This can get quite tedious when you're switching between the info and code tabs on challenges, or completing easier challenges quickly.
When I looked at the help documentation for the editor you use, the guide for developers suggests to automatically detect if a screen reader is running, which will allow the editor to automatically turn on accessibility support. That guide can be found here.
The relevant portion of the guide is quoted below:

Do you have a way to detect screen readers on your runtime / Do you have a user setting for it?
Accessibility best practices dictate that applications should be accessible by default, and that no special behaviour should be implemented for accessibility purposes. I would invite the authors of the best practices to try to write a Screen Reader friendly code editor using w3c's ARIA :).
Anyways, the state of the art is lacking. Here's an example: there is no way to communicate editor wrapping points to Screen Readers, and they will quickly get confused when pressing for example arrow down in a wrapped line; they will expect the system caret to move to the next line, and we will move the system caret to the same model line, at a different column (since the line is wrapped); so, when we know a Screen Reader is connected to an editor, we disable wrapping.
If you have a user setting (like e.g. Google Docs) or run in an environment where it is possible to find out if a Screen Reader is attached (like e.g. Electron or a WebBrowser control), then please configure the editor with accessibilitySupport: "on". Even if you don't do this, your users will be let know in the editor's aria label that they can optimize the editor by themselves using Alt+F1 (or Ctrl+F1 in IE) and following the directions in there.

Can such a user setting be added so that accessibility support will be enabled automatically? Failing that, can you add a way for the editor to remember the setting for accessibility support once you toggle it?

Hi Lanie,
Thanks for taking the time to report this and going further to investigate and find us the docs to implement this. Let us take a look and get back to you.
Thanks.

I see that we have a inAccessibilityMode state stored in redux, which is reset when the page is refresh.
I'm wondering if saving it to local storage would be enough to have it persisted, rather than implementing a screen reader detection of some sort. It's the privacy implications that I don't feel comfortable about.

Local storage should be fine, I think.

It's the privacy implications that I don't feel comfortable about.

As for detecting the screen reader, We should be clear as long as we never collect this information outside of the client. The idea is to be able to assist as much as we can.
If it's stored and used on the client only, it should be OK. We could ask for consent with an alert or modal when we detect and use the screen reader persistence.

Hi @Living4God1991, I'm looking at the issue right now. I will have the setting saved to the browser local storage, which helps prevent it from being automatically reset.
Though, I'm wondering if you are aware of the Ctrl + F1 (or Cmd + F1 on Mac) keyboard combination. The combination behaves like a toggle that switches the accessibility support on or off, and saves the setting until the page is refreshed. This is not ideal, but since moving between lessons does not trigger page reload, it will help reduce the annoyance a little.
The reason I ask is because I found a couple of UX/accessibility issues when testing the editor behavior, and I'm attempting to address them as well:

List of keyboard shortcuts is not present on the page. I think it will be helpful for both visual and non-visual users to have it displayed. In fact, I could only find the keyboard combination above when I dug into the code base, and I assume other users wouldn't know about these. My suggestion is adding a button to the button group, maybe under the "Get Help" one, and show a dialog when the user clicks on it.
Lack of user feedback when a keyboard shortcut is pressed. I noticed this as I was testing if the Ctrl + F1 combination is working. I had to open the dev tool to verify because there wasn't any visual changes. We should show a notification of some sort when the user triggers an action, and must ensure that the message is picked up by screen readers.

If you find other accessibility issues, please let us know.

Hi @huyenltnguyen. I had no idea this keyboard shortcut existed. I've started using it for now. It would be great to have something showing the available keyboard shortcuts. I also noticed the lack of feedback when a keyboard shortcut is pressed. After I pressed CTRL+F1, I still found myself pressing Alt+F1 to see if the editor was optimized for screen readers.

We're planning to make the keyboard shortcuts more obvious for the upcoming curriculum, but we don't have a firm timeline for that.  In the short term, would it be helpful to have a bit of text for screen readers that tells you when the accessibility mode is off and how to enable it? Something like "Accessibility support off, press Ctrl + F1 (or Cmd + F1 on Mac) to enable"

@ojeytonwilliams Sorry, but I kind of want to fight for the presence of keyboard shortcuts on the page 😅
It is not just for the Ctrl + F1 combination alone, and nor for screen readers support specifically, but I believe visual users can get the benefits as well. There was a user asked about the Ctrl + Enter shortcut the other day in the chat because they couldn't find it anywhere on the screen.
Unless there is an overhead cost that I'm overlooking, my proposal is to add another button under the Get Help one, and show the list of keyboard shortcuts in a dialog when the button is pressed. And this a quick demo I made:

@ojeytonwilliams Sorry, but I kind of want to fight for the presence of keyboard shortcuts on the page

Yep, I understand.  I broadly agree, too.  The only issue (to my knowledge) is that we don't want to advertise the navigation hotkeys too heavily.  Reason being, they're really useful for us as contributors, but we don't want to encourage people to skip challenges.  If we only 'advertise' the other shortcuts I think that should be fine.
Also, it might be better to put them as another option under 'Get Help' to save space on the screen.
cc: @ahmadabdolsaheb

I feel that adding it in 'Get Help' might not make it known to the users that we have an option to view the list of keyboard shortcuts. Maybe it could be something similar to how it is in coderadio(but this might mean accessibility issues) or it could be added to the navbar but only in challenges.

We will have the multiple editors for different file formats (css, html, js) in the upcoming UI iterations. When all of the editors are unselected, the user will see the list of shortcuts that includes search, challenge, navigation, and accessibility shortcuts.
Most of the shortcuts are hidden in that way for the reasons Oliver mentioned above.
Since The challenge UI is the most visited UI, we are restrained to only allocate real estate to info and functionally that is essential for solving each challenge. The UI gets a bit more crammed on mobile; therefore adding a shortcut button that may only be used a couple of times is less justifiable.
That being said, I understand how having that button could be helpful for non-visual users to toggle the accessibility support.
Would a toggle in the settings that persists in the localhost be an option? We could add the shortcut info below the toggle similar to the additional info we provide to users in privacy settings.

You know, it would be strange if I don't come back to an issue discussion with a couple more issues.
I believe that the actions we add to Editor.js should show up on the accessibility support dialog when we press Alt + F1, but they don't seem to show up:

As you can see in the screenshot, VSCode editor has the Ctrl + E (Cmd + E on Mac) combination built-in to toggle the screen reader optimization, which is exactly what Ctrl + F1 does on our side. The thing is, only the Ctrl + F1 is bound to a Redux action, which saves the setting to Redux store. Since Ctrl + F1 is not listed in the keyboard shortcut list, users will follow the default instruction and use Ctrl + E instead, and the setting gets reset every time the editor unmounts.
I wonder if it would be simpler if we change our code to listen to the Ctrl + E combination instead, and let VSCode handle the announcement for us when the state changes. See their source code for it here.
Another issue is, as Lanie pointed out, there is currently no quick way to know if the feature is on or off, as in the user would need to focus onto the editor and press Alt + F1 to check it. I still need to figure out if this is an issue on our side or on VSCode side, though we can do something with our focus event handler obviously.

Regarding the display of keyboard shortcut list, I have raised a draft PR (https://github.com/freeCodeCamp/freeCodeCamp/pull/42516), but it is not complete and is more of a proof-of-concept at the moment.
What I didn't agree with initially was that leaving the keyboard shortcuts, especially those that are helpful for screen reader users, completely inaccessible / hard to discover. But that was before I look closely at the editor implementation and found the dialog issue above.
I have 3 keyboard shortcuts listed in my PR and I don't plan to add more. They are:

Ctrl + F1
Ctrl + Enter
Ctrl + S

IMHO, (1) and (2) are must have to me accessibility-wise; and (3) is good-to-have. If we are able to communicate with screen readers about (1) and (2), the keyboard shortcut list will just be a UX issue, and can be discussed and addressed separately.

So for the accessibility issues at hand, the minimum resolution I would suggest is:

Use Ctrl + E keyboard shortcut in place of Ctrl + F1
Save user setting to local storage on Ctrl + E press
Announce the state of the setting on editor focus
Use aria-describedby on the "Run the Tests" button to inform screen reader users about its shortcut

Ummm isn't Ctrl+S the browser keybind to save a webpage. Not like many people use it, but should we really be tampering/changing the logic of that.

@huyenltnguyen, thanks for doing further research. That makes sense to me. We could communicate the state of accessibility mode if necessary on the editor non-visually so the screen readers would pick it up.


better error messages for the rewrite tactic

@fpvandoorn I improved the rewrite tactic error messages.
If the extra information is too much for some problems, we can disable it using the option
set_option rewriter.trace false

Here are some examples of error messages:
invalid 'rewrite' tactic, rewrite step failed using pattern
  (?M_3 + ?M_4) * ?M_5
no subterm in the goal matched the pattern
proof state:
A : Type,
s : ring A,
a : A
⊢ has_zero.zero A * a + has_zero.zero A = has_zero.zero A * a + has_zero.zero A * a

invalid 'rewrite' tactic, rewrite step failed using pattern
  ?M_4 ∘ ?M_6 ∘ ?M_7
matching failures in the goal
  -lemma still contains meta-variables
    compose_squares ?M_14 ?M_15
  after the equation source has been unified with subterm
    vc ∘ wc ∘ xg ∘ xf
  -lemma still contains meta-variables
    compose_squares ?M_22 ?M_23
  after the equation source has been unified with subterm
    wc ∘ xg ∘ xf
  -lemma still contains meta-variables
    compose_squares ?M_30 ?M_31
  after the equation source has been unified with subterm
    vc ∘ (yg ∘ yf) ∘ wa

The following is the error for by rewrite {x + _}mul.left_distrib
invalid 'rewrite' tactic, rewrite step failed using pattern
  x + ?M_1
matching failures in the goal
  -fail to unify equation source
    ?M_2 * (?M_3 + ?M_4)
  with subterm
    x + y
  -fail to unify equation source
    ?M_5 * (?M_6 + ?M_7)
  with subterm
    x + z
proof state:
x y z : ℕ
⊢ (x + y) * (x + z) = x * x + y * x + x * y + y * y


EAGLE-1088: Change the inconsistent method name 'find'.

Change the method name 'find' to 'isMatched'.
The method is named "find", but the method does not find anything, just returns a boolean-variable 'this.matched'. Thus, rename method as "isMatched" should be more clear than "find".

@BruceKuiLiu, I believe this is consistent with Java.Pattern class method where find will return true/false based on pattern match.
I would let @yonzhang comment further on this.
Thanks for the PR though.


Modularize and consolidate the Docker images for downstream usage

System information

TensorFlow version (you are using): 2.4.0+
Are you willing to contribute it (Yes/No): I can help, but it needs ownership from TF Dev-Infra team.

Describe the feature and the current behavior/state.
Currently there are 3 or 4 Dockerfiles which are maintained independently and with different levels of support. This has been a time sink for the TF team, and a headache for downstream consumers. It should be (relatively) easy to refactor these as docker targets that build from one another. Information below is for  GPU containers (though it applies to CPU and TF versions as well):

DockerHub tensorflow/tensorflow:gpu

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/dockerfiles/dockerfiles/gpu.Dockerfile
Builds from nvidia/cuda
Installs TF pip package to base python3

DockerHub tensorflow/tensorflow:devel-gpu

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/dockerfiles/dockerfiles/devel-gpu.Dockerfile
Builds from nvidia/cuda
Installs build tools and bazel
Clones TF source code;
Installs python deps to base python3

DockerHub tensorflow/tensorflow:custom_op_gpu

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/ci_build/Dockerfile.custom_op_ubuntu_16_cuda10.1
Builds from nvidia/cuda
Installs build tools and bazel
Installs devtoolset7 and devtoolset8 for manylinux2010 builds
Explicitly installs select python versions
Installs python deps to base python3

GCR tensorflow-testing/nosla-cuda11.0-cudnn8-ubuntu18.04-manylinux2010-multipython

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/ci_build/Dockerfile.rbe.cuda11.0-cudnn8-ubuntu18.04-manylinux2010-multipython
Builds from nvidia/cuda
Installs build tools and bazel
Installs devtoolset7 and devtoolset8 for manylinux2010 builds
A nice modular installation of all support python versions
Installs python deps to all python installations
This is currently used by SIG Addons and SIG IO -- though there is no SLA for these images

As you can see there is a ton of duplication, not reusing of modular scripts when they can be, and with these 4 options there is still a ton of bloat in the images that should be refactored.
Will this change the current api? How?
We should use Docker targets to progressively build the containers and publish their intermediate stages. There would be no need to modify tags or anything. Prototype:
FROM nvidia/cuda${ARCH:+-$ARCH}:${CUDA}-base-ubuntu${UBUNTU_VERSION} as base
RUN apt-get update && apt-get install -y --no-install-recommends \
        build-essential \
        cuda-command-line-tools-${CUDA/./-} \
        libcublas-${CUDA/./-} \
        ....

RUN ln -s $(which python3) /usr/local/bin/python

COPY install/build_and_install_python.sh /install/
RUN /install/build_and_install_python.sh "3.6.9"
RUN /install/build_and_install_python.sh "3.7.7"
RUN /install/build_and_install_python.sh "3.8.2"

# Install bazel
ARG BAZEL_VERSION=3.7.2
RUN mkdir /bazel && \
    wget -O /bazel/installer.sh "https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VERSION}/bazel-${BAZEL_VERSION}-installer-linux-x86_64.sh" && \
    wget -O /bazel/LICENSE.txt "https://raw.githubusercontent.com/bazelbuild/bazel/master/LICENSE" && \
    chmod +x /bazel/installer.sh && \
    /bazel/installer.sh && \
    rm -f /bazel/installer.sh

# -------------------------------------------------------------------
FROM base as tensorflow_gpu
RUN python3 -m pip install --no-cache-dir ${TF_PACKAGE}${TF_PACKAGE_VERSION:+==${TF_PACKAGE_VERSION}}

# -------------------------------------------------------------------
FROM base as tensorflow_devel_gpu

RUN apt-get update && apt-get install -y \
    openjdk-8-jdk \
    ....

RUN /build_devtoolset.sh devtoolset-7 /dt7
# Set up a sysroot for glibc 2.12 / libstdc++ 4.4 / devtoolset-8 in /dt8.
RUN /build_devtoolset.sh devtoolset-8 /dt8

FROM nvidia/cuda:11.0-cudnn8-devel-ubuntu18.04
COPY --from=devtoolset /dt7 /dt7
COPY --from=devtoolset /dt8 /dt8

RUN /install/install_bootstrap_deb_packages.sh
RUN /install/install_deb_packages.sh
RUN /install/install_clang.sh
RUN /install/install_bazel.sh
RUN /install/install_buildifier.sh
RUN /install/install_pip_packages.sh
RUN /install/install_auditwheel.sh

ENV TF_NEED_CUDA=1

# -------------------------------------------------------------------
FROM tensorflow_custom_op_gpu as tensorflow_build_manylinux2010_multipython

COPY install/install_pip_packages_by_version.sh /install/
RUN /install/install_pip_packages_by_version.sh "/usr/local/bin/pip2.7"
RUN /install/install_pip_packages_by_version.sh "/usr/local/bin/pip3.8"
RUN /install/install_pip_packages_by_version.sh "/usr/local/bin/pip3.5"
RUN /install/install_pip_packages_by_version.sh "/usr/local/bin/pip3.6"
RUN /install/install_pip_packages_by_version.sh "/usr/local/bin/pip3.7"

# -------------------------------------------------------------------

Who will benefit with this feature?
SIGs, developers, and downstream libraries looking for well managed Docker containers to build from.
Example benefits:

Currently the custom_op container has a lot of installations that are not needed see #38352
Currently the custom_op container gets updated when time permits, this would make it update alongside the rest of the containers
Currently the manylinux2010_multipython is the most comprehensive build container, but it has no SLA and is also unnecessarily bulky (can remove all the pip package installations for every py version)
Single Dockerfile to maintain (can have owners for seperate pieces etc.)

Any Other info.
With this being refactored properly we could close #38352, https://github.com/tensorflow/addons/issues/2326 and https://github.com/tensorflow/build/issues/6

Tagging some stakeholders to see if we're able to get traction on this issue. I know some team members have left Dev-Infra, but this would be a great way to consolidate work and save time down the line.
cc
TF team -  @av8ramit @angerson
SIG Build - @perfinion
SIG Addons - @bhack @WindQAQ
SIG IO  - @yongtang

Dockerfile analisys and refactoring was discussed many times in many SIG build meetings also for the cache issue at https://github.com/tensorflow/build/issues/5.
But I think that @angerson is no more allocated on this activity.

First, thanks a lot for writing this up as a clean issue with clear goals. It's a big help for our prioritization and planning.
Docker has been challenging for us internally because of the maintenance costs and related confusion. A consolidation would be awesome:

Save engineering time maintaining the images
Help other internal teams that use TF's docker images for their own tests
Give us an opportunity to use containerization in our own tests
Let us build internally with the same environments as we offer externally

I don't think we'll be able to prioritize a dedicated project for this because of our team's current constraints (DevInfra is only a few people now, and internal maintenance is prioritized). I'd like to make better Docker support a goal beyond just our team, though, and I have some internal OKRs that would actually benefit a lot from Docker improvements. So what I think I can do for now is work on Docker while doing that, and use the results to encourage prioritization at a higher level than just me.
On to implementation: I like your suggested Dockerfile layout. I regret my decision years ago to create a complex assembler for our Dockerfiles and would like to deprecate it for something more normal, like this. I also want to move the Dockerfiles and scripts out of tensorflow/tensorflow because dealing with branches is very annoying; an officially-supported project in SIG Build should work nicely. I'll work on testing out your prototype there.

How many Dockerfiles we have in the tree? 67?
https://github.com/tensorflow/tensorflow/search?l=Dockerfile&q=rights&type=

How many Dockerfiles we have in the tree? 67?
https://github.com/tensorflow/tensorflow/search?l=Dockerfile&q=rights&type=

find  tensorflow/* -iname "*.Dockerfile"  | wc -l currently we have 107 Dockerfiles (including partial)

find  tensorflow/* -iname "*.Dockerfile"  | wc -l currently we have 107 Dockerfiles (including partial)

Having 107 Dockerfiles create also an overhead when you need to create a PR for update just a python library.

Having 107 Dockerfiles create also an overhead when you need to create a PR for update just a python library.

Also, I think some of the python installations such as 2.7, 3.5 (with heavy customization etc) may not be necessary any more, as 2.7 and 3.5 are deprecated. Some of the customizations in the script may also come from the original Ubuntu 14.04 base where packages were missing. It may be possible to clean up a little now as we moves to Ubuntu 18.04+.

Also, I think some of the python installations such as 2.7, 3.5 (with heavy customization etc) may not be necessary any more, as 2.7 and 3.5 are deprecated. Some of the customizations in the script may also come from the original Ubuntu 14.04 base where packages were missing. It may be possible to clean up a little now as we moves to Ubuntu 18.04+.

This is currently used by SIG Addons and SIG IO -- though there is no SLA for these images

Just to be clear: what, beyond an environment that is ideal for building TensorFlow, is required for your use case? I've been operating under the assumption that custom-op is somehow unique, but I've never known what about it is helpful.

This is currently used by SIG Addons and SIG IO -- though there is no SLA for these images

Just to be clear: what, beyond an environment that is ideal for building TensorFlow, is required for your use case? I've been operating under the assumption that custom-op is somehow unique, but I've never known what about it is helpful.

For Addons/IO, one challenges is that the custom kernel ops are based on C++ API which may have subtle differences depending on the compiler and c runtime inside the OS. As a result if the gcc version and C runtime is different from tensorflow's gcc version and c runtime, the kernel ops may see incompatibility (sometimes strange seg fault, etc).
This is the biggest challenge as tensorflow uses a gcc version from devtoolset and relies on a Ubuntu 16.04 c/c++ runtime. (devtoolset is not natively built with ubuntu so any mismatch could accompanied with surprises for custom ops). In the end we realized that it is just much easier to built the kernel ops on Addons/IO with the same devtoolset/ubuntu environment.

For Addons/IO, one challenges is that the custom kernel ops are based on C++ API which may have subtle differences depending on the compiler and c runtime inside the OS. As a result if the gcc version and C runtime is different from tensorflow's gcc version and c runtime, the kernel ops may see incompatibility (sometimes strange seg fault, etc).
This is the biggest challenge as tensorflow uses a gcc version from devtoolset and relies on a Ubuntu 16.04 c/c++ runtime. (devtoolset is not natively built with ubuntu so any mismatch could accompanied with surprises for custom ops). In the end we realized that it is just much easier to built the kernel ops on Addons/IO with the same devtoolset/ubuntu environment.

Cc: @sub-mod @fatherlinux dont we build TF images based on RHEL/UBI ?

Cc: @sub-mod @fatherlinux dont we build TF images based on RHEL/UBI ?

@seanpmorgan @angerson Is there an interest for centos Images ? PyPI is using centos and we can contribute those images.

@seanpmorgan @angerson Is there an interest for centos Images ? PyPI is using centos and we can contribute those images.

We have centos for Onednn third_party builds https://github.com/tensorflow/tensorflow/search?l=Dockerfile&q=centos

We have centos for Onednn third_party builds https://github.com/tensorflow/tensorflow/search?l=Dockerfile&q=centos

Thanks @bhack .
Last time i checked multistaged dicker builds don't work on RHEL. The docker client is different on RHEL and mac.

Thanks @bhack .
Last time i checked multistaged dicker builds don't work on RHEL. The docker client is different on RHEL and mac.

@seanpmorgan

Currently the manylinux2010_multipython is the most comprehensive build container, but it has no SLA and is also unnecessarily bulky (can remove all the pip package installations for every py version)
I thought having all the pip packages installed in each version was a benefit. Is that incorrect?

@seanpmorgan

Currently the manylinux2010_multipython is the most comprehensive build container, but it has no SLA and is also unnecessarily bulky (can remove all the pip package installations for every py version)
I thought having all the pip packages installed in each version was a benefit. Is that incorrect?

@angerson The manylinux2010 is mostly needed for building .so files, so just having one python version will be enough.
The packing of pip can be done easily with any thin python container. For example, in IO we use manylinux2010 container to build the .so file, then on second step, we use python:3.6-slim( and python:3.7-slim and python:3.8-slim) to built the pip wheels.

@angerson The manylinux2010 is mostly needed for building .so files, so just having one python version will be enough.
The packing of pip can be done easily with any thin python container. For example, in IO we use manylinux2010 container to build the .so file, then on second step, we use python:3.6-slim( and python:3.7-slim and python:3.8-slim) to built the pip wheels.

Ah, I see, thank you. But it's still useful to have all of the python versions available, right?

Ah, I see, thank you. But it's still useful to have all of the python versions available, right?

Ah, I see, thank you. But it's still useful to have all of the python versions available, right?

What Is the size overhead for the Dev images?

Ah, I see, thank you. But it's still useful to have all of the python versions available, right?

What Is the size overhead for the Dev images?

Pretty big. I think Nvidia's devel containers are ~3GB and the nosla ones are ~13GB. It will be difficult to make an everything-included image that's much smaller than that.

Pretty big. I think Nvidia's devel containers are ~3GB and the nosla ones are ~13GB. It will be difficult to make an everything-included image that's much smaller than that.

Comparatively, the current official images are pretty small. devel-gpu is 3.22GB and nightly-gpu is 2.36GB. The non-GPU ones are much smaller.

Comparatively, the current official images are pretty small. devel-gpu is 3.22GB and nightly-gpu is 2.36GB. The non-GPU ones are much smaller.

Custom ops image isn't published anymore.
We have temp switched to cr.io/tensorflow-testing/nosla-cuda11.2-cudnn8.1-ubuntu18.04-manylinux2010-multipython  with https://github.com/tensorflow/addons/pull/2598 but we don't have a CPU image anymore.
We are also trying to use  the new image at https://github.com/tensorflow/addons/pull/2515 but also here we don't have a CPU image anymore.
We have a new ticket for disk space issue on small cloud instances with these large GPU image at https://github.com/tensorflow/addons/issues/2613

@angerson perhaps we can bring this issue up in SIG Build, but with the new nightly Docker images would it make sense to support options for CUDA vs other GPUs as well as a CPU-only image?

Hi,
Thank you for opening this issue. Since this issue has been open for a long time, the code/debug information for this issue may not be relevant with the current state of the code base.
The Tensorflow team is constantly improving the framework by fixing bugs and adding new features. We suggest you try the latest TensorFlow version with the latest compatible hardware configuration which could potentially resolve the issue. If you are still facing the issue, please create a new GitHub issue with your latest findings, with all the debugging information which could help us investigate.
Please follow the release notes to stay up to date with the latest developments which are happening in the Tensorflow space.

I think this has been done.


Fixed download link on artwork page for admins

This PR fixes BUGS-684.
Previously administrators could click on a "Download" link on an artwork page to download its original image file. However, currently this link throws a 500 error with the following message being logged:
.end() was called twice. This is not supported in superagent
Upon investigating the endpoint that handles this request, I found that two .pipe() calls were being chained, so I added an optional end: false flag to the first call to prevent the stream from closing before the second one could execute.
https://nodejs.org/api/stream.html#stream_readable_pipe_destination_options

Makes sense! I wonder if this was a regression somewhere, or it never worked? 🤔

I wasn’t in time to request this change, but I was going to request test coverage.

Nice fix and thanks for doing the research on the underlying API 👌
Looks like this mock could do with some updating, such that it would fail without this change applied. E.g. using the withArgs method (untested):
    @req =
      params: id: 'foo'
      pipe: sinon.stub().withArgs({ end: false }).returns pipe: sinon.stub()

(This would probably fail with a undefined has no pipe function error, or something along those lines.)


Django migrations south+1.7

Django 1.7 wouldn't do any migrations. I wasn't getting any errors, it just it wouldn't run any migrations for Guardian. So rather than always doing it by hand, this will make it simpler.
As per Django / South documentation South will look in south_migrations before migrations. I believe it requires South>=1.0 for this.
Migrations - Library / Third-party Apps

Coverage decreased (-3.35%) to 92.82% when pulling db69557a4ab51e4e9dad344c8245828321d8c3d8 on patgmiller:django-migrations-south+1.7 into af822d75113d048c7686b5b8790a57113c9ef604 on lukaszb:devel.

Coverage decreased (-3.35%) to 92.82% when pulling db69557a4ab51e4e9dad344c8245828321d8c3d8 on patgmiller:django-migrations-south+1.7 into af822d75113d048c7686b5b8790a57113c9ef604 on lukaszb:devel.

Makes sense, thank you!


[Chrome] DragOut fires when mouse goes over an element inside the drop area

Hello,
On chrome, the drag out event fires when the user goes over elements which exist inside the drop area, therefore causes horrible flicker depending on what the drag over styles are.
It can be replicated on the demo page using Chrome Version 61.0.3163.79 (whatever the latest is).
I reckon confirming the event target is the same as the element where the directive is declared will resolve this problem - but that's just a guess.
Thanks
Marlon

Same issue here. any clue about this issue?

I think I disabled pointer events via css and that sorted it
On Tue, 25 Sep 2018, 18:18 webcat_black<EMAIL_ADDRESS>wrote:

Same issue here. any clue about this issue?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bleenco/ngx-uploader/issues/340#issuecomment-424426829,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABHOQ-zzG-h7QqEzM2S0nUM_seIvb1GBks5uemVbgaJpZM4PX2HS
.

Yeah. it works fine, but I can't give a pointer-events: none to all child elements, that's why some of them are links and some of them are buttons and so on. Any better solution for this?

That could be an option. Thank you very much for your help


demo failure

This was a test of whether the CI would work with pull requests. As the results are clear, we no longer need it.

This was a test of whether the CI would work with pull requests. As the results are clear, we no longer need it.


avoid re-definition of macro

This patch adds a guard statement to only define the
_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS macro if it has not previously
been defined.  Similarly, it checks to make sure that the macro has been
defined before un-defining it, but only if it was defined in this file.
This patch is necessary if there is a dependency on ORT or another third
party library that sets the macro.  If there is no such dependency, then
the macro is correctly set and unset in the root CMakeLists.txt, making
this patch a NOP.
Signed-off-by: Ashay Rane<EMAIL_ADDRESS>

Can one of the admins verify this patch?

@jenkins-droid  test this please

@ashay  : Can you share the steps that produced the error in your build?

@jenkins-droid test this please

@tungld : I'm following up with Ashay offline to see what the issue is, it may be that this change is not necessary because the definition in the cmake file applies to third party code while the definition in the header file applies to the numerical tests.

We looked into this some more and the issue in Ashay's case is because we also depend on ORT which defines that flag. However, this might still happen in onnx-mlir in the future, so the change still makes sense here.
@ashay : Can you update the description to add some of these details?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Jenkins Linux s390x Build #7454 [push] avoid re-definition of m... started at 16:37

Jenkins Linux amd64 Build #7438 [push] avoid re-definition of m... started at 15:37

Jenkins Linux ppc64le Build #6503 [push] avoid re-definition of m... started at 16:39

Jenkins Linux amd64 Build #7438 [push] avoid re-definition of m... passed after 1 hr 33 min

Jenkins Linux ppc64le Build #6503 [push] avoid re-definition of m... passed after 1 hr 48 min

Jenkins Linux s390x Build #7454 [push] avoid re-definition of m... passed after 2 hr 0 min


Remove all the things.

A PR to test approvers.  Ignore this

This change is

/approve

/approve cancel

eh? I don't think we're actually ready to do this, are we?
Plus it will probably break doc links so suggest leaving it for now, till the defragmentation propagates through the internet. Can we make it ro somehow?

TESTING
[APPROVALNOTIFIER] Needs approval from someone in each of the following OWNERS Files:
/OWNERS
404-server/OWNERS
addon-resizer/OWNERS
We suggest the following people:
cc
You can indicate your approval by writing /approve in a comment
You can cancel your approval by writing /approve cancel in a comment

Let's make more innocuous test PRs just in case they exercise a bug and actually get merged...


Treat URLs have same IP address as same

To solve validation error problem using URLs in hostname #2123

cc: @barakmich @kelseyhightower

This is a kind of short-term fix, so should be removed after some improvements...

@sorah I have not explored into this much. But I think a better approach might be that we always resolves the dns to TCP addresses rather than delay it to the comparing face. So we will always have a "correct and consistent" representation of a hostname.

LGTM for the short term, I think @xiang90  is right that the long term fix is to resolve any dns the minute we get it, and only deal in IPs.

lgtm

@xiang90 Agreed about a better approach. but note that we have to keep both, for TLS hostname verification, as I noted in #2123.


Service reload/restart can cause multiple instances of haproxy process

The restart and reload logic in the CentOS service script (templates/centos/haproxy-init.erb) doesn't have enough locking and can result in multiple haproxy processes. It is very easy to reproduce
service haproxy reload & service haproxy reload

or
service haproxy restart & service haproxy restart

The problem is most likely to arise when you have automated logic to reload as the configuration changes.

I see this is closed in the consul-template, is this fixed on your side @kcd83

I no longer have this setup but yes I believe it did
On 19/01/2017 5:11 PM, "Richard Shade"<EMAIL_ADDRESS>wrote:

I see this is closed in the consul-template, is this fixed on your side
@kcd83 https://github.com/kcd83
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/sous-chefs/haproxy/issues/114#issuecomment-273677447,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AArK8D8afuSl0AhdeuTk307Xb1Fids-Tks5rTuJTgaJpZM4GX6oe
.


Upgrading the docs for 2.1

The current document link says this guide is for 2.1, yet details the procedure for ASP.NET Core 2.0 (such as "Add tool reference for Microsoft.EntityFrameworkCore.Tools.DotNet to the second <ItemGroup>". ASP.NET Core 2.1 has this.)
I will open my first PR if you want to update this document, and would be more than glad to receive your feedback.

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

ID: b34c4871-adc3-0d13-6f20-6f6ac1f65e91
Version Independent ID: ea1742b3-808b-d449-3308-6847a9f339f9
Content: Add a model to an ASP.NET Core Razor Pages app with Visual Studio Code
Content Source: aspnetcore/tutorials/razor-pages-vsc/model.md
Product: aspnet-core
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

@TNoronha  thanks. This doc is scheduled to be updated in the next month and we'll take care of that.


net/http ServeContent to return bytes copied end error

It will be good if http.ServeContent will return number of bytes copied and error.
It should not break API compatibility, cause it doesn't return anything at the moment.

But it would break compatibility for anyone that's using http.ServeContent as a function value.
To do what you want, you could wrap the ResponseWriter with one that records errors etc. I know this isn't ideal.

No, I can't wrap cause I still could not access bytes copied (and it is primary reason for issue).
At the moment, I see that it looks like I ought to copy whole ServeContent implementation to achieve goal.

may be there is possibility to make checkETag and checkLastModified public?
or make serveContent to be a public function with different name, like DoServeContent(...)(int64, error)?

You can wrap both the io.ReadSeeker and the http.ResponseWriter with something that counts the bytes copied:
package main

import (
        "io"
        "log"
        "net/http"
        "strings"
        "time"
)

func main() {
        http.HandleFunc("/", handler)
        log.Fatal(http.ListenAndServe("localhost:8080", nil))
}

func handler(rw http.ResponseWriter, r *http.Request) {
        rs := strings.NewReader("content")
        crs := &countingReadSeeker{ReadSeeker: rs}
        crw := &countingResponseWriter{ResponseWriter: rw}
        http.ServeContent(crw, r, "file.txt", time.Now(), crs)
        log.Printf("read %v bytes, wrote %v bytes", crs.count, crw.count)
}

type countingReadSeeker struct {
        io.ReadSeeker
        count int64
}

func (r *countingReadSeeker) Read(b []byte) (n int, err error) {
        n, err = r.ReadSeeker.Read(b)
        r.count += int64(n)
        return
}

type countingResponseWriter struct {
        http.ResponseWriter
        count int64
}

Yes, we can't change the signature of things due to the Go 1 API compatibility promise.

But you can expose new function: just make private function 'serveContent' to be a public one with non colliding name, and make it return bytes and error.
For example, it could be named as "ServeContentImpl",  "ServeContentInternal" or other.

ServeContent hasn't changed in years. If you want to access its internals, just make a copy.

And now I do not offer to change ServeContent, i offer to make serveContent public with changed name and return type.

Your minor convenience isn't worth the cost of all other Go programmer's increased cognitive load required by having more stuff in the net/http package to read and understand the difference between.
Sorry, we're not adding this. There are ways to do this already. Unless a large number/percentage of people needed this, it's not worth the cost of adding it.


rust: allow adding more targets

I want to compile from mac a arm64 binary. Therefore we need to add a option to allow more targets. This seems to be possible with fenix and I have no glue how to configure this.

I want to compile `wasm32-unknown-unknown"

See https://github.com/cachix/devenv/pull/900

I want to compile wasm32-unknown-unknown

FWIW, this workaround seems to work for me:
{ pkgs, fenix, ... }: {
  languages.rust = let ff = fenix.packages.x86_64-linux; in {
    enable = true;
    channel = "nightly";
    toolchain.rustc = ff.combine [
      ff.minimal.rustc
      ff.targets.wasm32-unknown-unknown.latest.rust-std
    ];
  };
  # ...
}

Example is now on devenv.sh :)


🔧  Dependency updates may break server

Yesterday's update showed that npm install is not run on the server side. This means that updated dependencies are not actually installed. Yesterday, this broke the DDVis application and had to be fixed manually.
In the future it would be great if the run script would also trigger an npm install so that dependencies are up to date.

Closed as completed via #130


Blob support

Implement the support for firebird blobs(all subtypes)

[ ] Params
[ ] Row column
Tests(like the #8):

[ ] Params
[ ] Row column

Work started


Feb alerts encountered errors

frontend.management.commands.send_monthly_alerts.BatchedEmailErrors: Encountered 2 mail exceptions

These were when we were trying to generate screen grabs for:

https://openprescribing.net/analyse/#org=practice&orgIds=11X&numIds=4.10.2&denom=total_list_size&selectedTab=summary&source=pageload
https://openprescribing.net/analyse/#org=CCG&numIds=0703023L0BBAAAA&denomIds=7.3&selectedTab=summary&source=pageload

Investigate:

Any evidence in the logs as to why this might have happened (they are both working via the browser)

Could it be to do with how many processes we are running?

How far the alert process got. The process was not logging to file, so ensure it will in the future. In absence of this, we can extract delivery information from the mail log

According to this, 188 have been delivered

Here's the SQL for generating a list of email addresses that have received something:
\copy (select distinct recipient  from frontend_maillog where 'monthly_update' = ANY(tags) and timestamp > '2017-04-26' and event_type = 'delivered') to '/tmp/delivered.csv' WITH CSV HEADER

The next iteration we can incorporate something like this directly into the command with something like a --continue flag

Didn't work out why the errors were raised. Have since improved error logging a bit. Let's see what happens in March import.


chore: use ARM64 runner for main build

As the image build generates multi-arch output, we can use our own runners instead of GH hosted runners. As our runners are more power, this change can improve build times
Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO - learn more)

/skip-e2e


(BKR-1423) Fix SSH settings in nodesets

Allow SSH settings from nodesets to propagate properly into the host's
SSH configuration.
BKR-1423 #close

@sbeaulie This is the correct fix instead of the PR in https://github.com/puppetlabs/beaker/pull/1633

@sbeaulie The issue is that if the :config item is populated, literally everything else is overridden which was the crux of the original problem. We may need an auxillary data structure for rsync.

I've traced the code and the only place it seems to be used is with the rsynch method in beaker so I don't see where it would conflict - can you shed light on where it would replace everything? I can test my suggestion with the pupmod-simp-acpid project you suggested.

The host['ssh'] hash is passed directly into the Net::SSH connection configuration. If host['ssh'][:config] is populated, Net::SSH will pick it up and run with it.
We almost need a host['ssh'][:cli_config] or something.

Testing a solution now.

This is the code where it is being used: https://github.com/puppetlabs/beaker/blob/master/lib/beaker/host.rb#L550-L552
We could change the name in both places. But I still don't see where NET::SSH would pick the host['ssh'][:config] up.
I tested with having both :config and the merge and it passed in pupmod-simp-acpid. The connection attempts look like this:
Attempting ssh connection to 10.X.X.X, user: root, opts: {:config=>"/var/folders/yb/y8xggbwd5l17w64zjz174h4c0000gn/T/el620200318-3752-y2mnkr", :verify_host_key=>false, :auth_methods=>["none", "publickey", "keyboard-interactive"], :port=>2222, :forward_agent=>true, :keys=>["XX/insecure_private_key"], :user_known_hosts_file=>"/dev/null", :keepalive=>true, :host_name=>"<IP_ADDRESS>", :user=>"root", :keys_only=>true, :logger=>...}

Can I ask you to test with my suggested change and give me the details on the failure you get?
Thanks!

It will work, because it's ignoring everything else.
See the :config option in Net::SSH itself https://www.rubydoc.info/github/net-ssh/net-ssh/Net/SSH
This basically seems like it's fixing the original issue, but it's not because all of the other options in the hash are now ignored.

If you try sticking something that Net::SSH can't handle into the Hash, you can see it fail.

Ok, this commit, when combined with https://github.com/puppetlabs/beaker/pull/1634 should do the right thing in all cases (I think)

ok I'm following now 😄 From the Net SSH config class documents:

Note that you will never need to use this class directly–you can control whether the OpenSSH configuration files are read by passing the :config option to Net::SSH.start. (They are, by default.)

In beaker we run start like so Net::SSH.start(host, user, ssh_opts)  where ssh_opts[:config] can be set as follows

:config => set to true to load the default OpenSSH config files (~/.ssh/config, /etc/ssh_config), or to false to not load them, or to a file-name (or array of file-names) to load those specific configuration files. Defaults to true.

If we look at the source code for Net:SSH version 5.0 used in beaker you are correct that the ssh_opts hash will return an ArgumentError for any non valid options:
github
The only thing in the start method that is different from the experience you describe is that it seems like it would load the file from :config (if its a file path) and then merge the other options on top, so the passed hash should take precedence, and not the :config:
https://github.com/net-ssh/net-ssh/blob/v5.0.0/lib/net/ssh.rb#L221
In conclusion, I'm happy with this fix, :vagrant_ssh_config should not be put in the 'ssh' hash, so putting it within the host is fine. Is there any documentation that would need updated for this new field? Since we do not make that variable avalable to users, and its only used for internal logic between beaker-vagrant and beaker I think it is fine without.
One thing left to fix is the Unit tests. See the travis results: https://travis-ci.com/github/puppetlabs/beaker-vagrant/jobs/299555431
I think the first failed test's expect can be changed to the new :vagrant_ssh_config and the second failed test's expect is probably not needed.


KAFKA-17053: Restructure build.gradle to configure publishing last

Goooler/shadow 8.1.4-8.1.8 will produces incorrect results when publishing is configured before the actual archive is configured. so we Restructure build.gradle to configure publishing last to upgrade latest version of ShadowJavaPlugin. This can be seen in detail in https://github.com/GradleUp/shadow/issues/945
BTW, because Goooler/shadow is retired now，so So we may need to upgrade to the latest version of GradleUp/shadow in order to keep track of subsequent updates to the shadow plugin. I will create a new ticket for changing the fork.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Hey @chia7712 @KTKTK-HZ, this PR contents does not match the ticket or the PR title. By restructuring the build.gradle, I meant that the shadowJar block should be moved above the publishing block. That is not happening in this PR, only changing the fork is.
Please update the PR to match the ticket, and/or create a new ticket for upgrading/changing the fork.
I did validate the published artifact and observed that the classifier is correct (i.e. not present). This is because the 8.3.0 release does not have the https://github.com/Goooler/shadow/pull/80 patch that caused us to revert versions most recently, so this PR should not cause a regression.

By restructuring the build.gradle, I meant that the shadowJar block should be moved above the publishing block. That is not happening in this PR, only changing the fork is.

@KTKTK-HZ WDYT? could you fix it in this PR?

Hey @gharris1727 @chia7712 , I will modify this PR and refactor build.gradle to move the shadowJar block before the publishing block.

I will modify this PR and refactor build.gradle to move the shadowJar block before the publishing block.

@KTKTK-HZ Thanks a bunch!
BTW, could you please remove the "[Minor]"? The value of patch you will contribute is NOT MINOR I feel :smile:

Hey @gharris1727 @chia7712 , I have modified this pr, is there anything else that needs to be modified? thank you for your review.

Hi @gharris1727 ,The new PR has been submitted, have you had time to review the new PR? Thanks.

@KTKTK-HZ could you please fix the conflicts?

Hi, @chia7712.I have resolved these conflicts, thanks for your reminder.

Hi @chia7712 .I have resolved these conflicts, thanks for your reminder.

https://github.com/GradleUp/shadow/issues/945 is fixed already, so I guess we don't need this workaround now?

@chia7712 @KTKTK-HZ We no longer need to "restructure to configure publishing last, but we do need to remove the ShadowExtension.component call: https://github.com/GradleUp/shadow/pull/956

I'll close this PR later first and then re-raise a ticket to upgrade the shadow plugin and deal with GradleUp/shadow#956


[dv/kmac] update error_cg

this PR updates the error_cgto collect coverage on newly added IP
errors, and makes the corresponding documentation more clear as to what
coverage is being collected for each type of error.
Signed-off-by: Udi Jonnalagadda<EMAIL_ADDRESS>

Is this PR ready to be merged?


Added new game "Hangman" to src/Games

Fixed issue #706

@shobhitexe @admindebu @dhairyaostwal

Please Create new PRs for this because it contains conflict issue.


Add Map.filterMap

Matching PR to darklang/tablecloth-ocaml-base#7.  My Rescript is rusty though :P

This looks good. I'm surprised rescript doesnt have a better way than this in Belt (Map.update is almost it!) but I guess we make do with what we have.


Adding modules to the standard library

Things are at the point now where the standard library can be defined mostly in Elixir. Here are some steps on adding them.

Add the module to the lib/elixir_script/prelude folder.
Add an entry to the map created in the build_standard_lib_map function in ElixirScript.Translator.State.
If you need some functionality in JavaScript, create it within the src/javascript/core module and then use it within your Elixir module.

ex: I want to create the Tuple module

Step 1: Add tuple.ex to the lib/elixir_script/prelude folder

defmodule ElixirScript.Tuple do
...

Step 2: Add an entry for Tuple to the map created in the build_standard_lib_map function in ElixirScript.Translator.State.

|> Map.put(Tuple, ElixirScript.Tuple)

Step 3: If you need some functionality in JavaScript, create it within the src/javascript/core module and then use it within your Elixir module.

For the Tuple.duplicate I need a make_tuple function in JavaScript so I create it in src/javascript/core/functions.js. I also make sure to add it to the export declaration at the bottom of the file.
function make_tuple(data, size){
  let array = [];

  for (var i = size - 1; i >= 0; i--) {
    array.push(data);
  }

  return new Tuple(...array);
}

Now I use this function in my Tuple.duplicate function in Elixir
  def duplicate(data, size) do
    Elixir.Core.Functions.make_tuple(size, data)
  end

That's pretty much it. If anything is missing or incomplete, please report it.

There are still some standard library modules written in JavaScript that need to be converted over.

Closing this as the new strategy should be to share standard library modules with Elixir #154


refactor: frontend

Fix Refactor Frontend #112
🔥 Summary
😤 Problem / Goals

🤓 Solution

Revert  and use react-app-rewired to make simple
Replace emotion with styled-component

🗒 Additional Notes

Just did a overall look but I'm not sure do we want to revert eject now. @DorianKwan any opinions?

I'm confused why we are reverting back to CRA setup.  We are losing control of a large set of configuration that doesn't lend well to the maintenance and development of a production application.
I don't believe reverting the the eject is the way to go.
For context, we ejected with the long term goal of stripping away all CRA setup in favour of a more custom setup.  We didn't have the time to remove it completely yet.  And that's what led us to today.  Where the eject doesn't seem like it's worth it at the moment in favour of rewired.  But the decision to not use rewired has previously been made.
Can you expand on your idea of using rewired instead?

Hi @gyroflaw, for now please let's stick to ejected project.
We can decide about this later on in January, there are too many question marks right now about project future so I don't want anybody to spend time on this. You can keep it as a branch that we can use in future.

Oh and there are now a few conflicts because @valfaro123 added multilang support, please look at them, then you should be unlocked. Cheers :)

@gyroflaw please revert React app eject and resolve the conflicts so we can merge it.


package.json updates

[x] Add bugs property
[x] Keywords style
[x] Alphabetized dependencies

Another thing that might be worth looking into is outdated devDependencies and adding Gemnasium to the README.

Great, thanks a lot (again!).


LICENSE

Hi! I was wondering if you could add licensing information to the repo.

Also happy to send a PR if you let me know how the code is licensed

@cakiki yes sorry I have now added the MIT license 👍


False positive A003 when overriding logging.Filter.filter

It's probably a quite common case to use a custom logging.Filter, either to add context to log records or to decide if a given Record is to be logged (cf. Python documentation).
However, Ruff currently considers it breaks the A003 rule:
Class attribute `filter` is shadowing a Python builtinRuff [A003](https://beta.ruff.rs/docs/rules/builtin-attribute-shadowing)

This issue seems to be somewhat related to #5956 and I'm aware that it's probably low-priority.
Here's a minimal reproducible example of the problem:
from logging import Filter, LogRecord

class CustomFilter(Filter):
    def filter(self, record: LogRecord) -> bool:  # noqa: A003 is required here
        return super().filter(self, record)

I'm using ruff 0.0.280.

I will special-case some stuff in the standard library for now.