DevStats for GraphQL

We should probably work with the GraphQL community to get DevStats rolled out: http://devstats.graphql.org
We need to validate that the data is good and what projects to track.

This is up now: https://devstats.graphql.org/


Fixes and service naming

@leecalcote I verified that the image on docker hub does work. Also, I have made some fixes so that the services will be able to identify which service made a request to them.

any more changes, or is it okay for merge?

Good to merge (I just neglected to do so after approving).


This is a feature.

Here is how the feature should work: ...

Please review this one
View in Slack


COR-425-Fix_token_renewal

This probably isn't the most elegant solution, but I left the browser window open for over 30 minutes and I wasn't automatically logged out as was the case previously.
Edit: the refresh gets triggered, but I'm still getting an unauthorized response

Don't merge this, I just realized that my fix isn't working for POST requests somehow

The refresh logic should probably handle a response returning a 401, refreshing the token, and trying again.

I think something like this would clean the refresh useEffect up. I don't think you really need to be checking the expiration time. We can just blindly refresh it.
  React.useEffect(() => {
    const refreshToken = async () => {
      if (!discovery) return;
      if (!tokenResponse) return;
      if (!tokenResponse.expiresIn || tokenResponse.expiresIn <= 0) return;

      const refreshConfig = {
        clientId,
        scopes,
        extraParams: {},
      };

      try {
        const resp = await tokenResponse.refreshAsync(refreshConfig, discovery);
        setTokenResponse(resp);
      } catch {
        setTokenResponse(undefined);
      }
    };

    let interval: number | undefined;
    if (discovery && tokenResponse?.expiresIn) {
      interval = setInterval(refreshToken, tokenResponse.expiresIn / 3);
    }

    return () => {
      if (interval) clearInterval(interval);
    };
  }, [JSON.stringify(discovery), tokenResponse?.expiresIn]);

/lgtm


Core-signal doesn't work with Dartium/Chromium.app from SDK 1.13 and above

We have an application that uses core-signals for a couple of custom events.  With Dartium/Chromium.app for SDK 1.12.2 and earlier, the signals work just fine.  But, as soon as we upgrade to Dartium/Chromium.app for SDK 1.13 or above, they no longer work.
We really want to upgrade to the current release 1.13.2 so that we can use the new @JS() and JS-Interop features, but we also need these custom core-signals working.
I have posted a test program that is able to illustrate the problem at https://github.com/gtaylor20/incoming.git

Looks like the way custom events are handled changed.

You could try firing the event from JS as a temporary workaround, something like this:
 this.jsElement.callMethod('fire', ["core-signal", new JsObject.jsify({"name": "test-notification", "data": now}));

Is there any update on this issue?  Thanks.


Bulk Edit Offset set to 0

When updating multiple attributes the offset is set to 0.

Bulk Edit is not yet implemented, see #34

Added in 4c091618e06b3661787804c485475cf0386ac200


api server validation test on nodes during cse

What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
If applicable:

[ ] documentation
[ ] unit tests
[ ] tested backward compatibility (ie. deploy with previous version, upgrade with this branch)

Release note:

api server validation test on nodes during cse

Confirmed:
Executed "nc -vz <IP_ADDRESS> 443" 66 times
+ echo 'Custom script finished successfully'

This may be delaying the ARM deployment time a bit, we'll want to watch.

/hold


Update version from 0.0.140 to 0.0.141

This is an automated version-update on pyproject.toml.
The workflow was triggered by a succesfull pull request from branch:
With push event SHA of: d4510b3f4154142d597bf3a118e013ab4e0411fa
This action is performed by the Github Action: publish.yml after every accepted pull request. When finished,
this will have published the latest patch of the Extractable codebase to Pypi so it can be pip installed.

updated version in pyproject.toml from 0.0.140 to 0.0.141


Update documentation about Datetime types

Problem description
In pola-rs/polars#10299 I was trying to use unix timestamp integers with resolution in seconds (e.g. from a Python datetime object's timestamp() method), and wasn't aware of two things:

Types in Polars represent a physical type in the machine, and isn't meant for semantics (see comment: https://github.com/pola-rs/polars/issues/10299#issuecomment-1665731236). I'm suggesting here that this could be mentioned in the User's Guide on types.
There's a from_epoch function that handles the case I was trying to solve for, but it's not mentioned in the Parsing section of the User's Guide, and didn't come up when searching Datetimes or timestamps (hadn't considered looking up the word "epoch").

Thanks to @orlp for providing the explanations in the original issue!

There's a section on Datetimes here:
https://pola-rs.github.io/polars-book/user-guide/expressions/casting/#dates
We cannot explain every single API method in that section. If you feel like from_epoch is an important addition there, please open a PR in the main repo with an addition. Then we can judge whether the addition is worthwhile.
For now, I'll close this issue.


ns-viewer cannot establish connection to websocket (Google Colab)

Bug Description
When using ns-viewer in Google Colab, Viser fails to establish a connection to the visualized training instance.
I was hoping to solve this issue by setting the --viewer.make-share-url True flag. A shared URL gets printed when using ns-train but not when using ns-viewer.
As a solution, I would appreciate a suggestion on how to access the shared URL of the ns-viewer or a way to resolve the connection issue with Colab's /localhost:7007/.
To Reproduce
Steps to reproduce the behavior:

Have some trained scene available or train a scene using!ns-train <model_name> --viewer.make-share-url True --data /content/.../path_to_data

Along with some training output, a viewer link is printed to the console.

Viewer at: http://localhost:7007/ or https://input-inference.share.viser.studio/

Use the following code to find out where Google Colab launches its localhost:7007:from google.colab import output
output.serve_kernel_port_as_window(7007)

https://localhost:7007/

Access the resulting config.yaml to load the viewer. Use!ns-viewer --viewer.make-share-url True --load-config /content/.../config.yml

Expected behavior
After step 3, I would expect the output to be available through the Colab localhost from step 2. While the port can be accessed by ns-viewer (indicated by a Viser instance on that port), it will always remain in the "Connecting..." state.
Additionally, I would expect a shared link to be printed (as is the case when using ns-train) such that a publicly accessible viewer instance can be accessed.
These two errors combined disallow visualizing any pretrained instances which makes nerfstudio practically incompatible with Google Colab.
Screenshots
Viser never leaves the "Connecting..." state.

Additional context
Here is the full console output that is printed when executing ns-viewer:

2024-05-13 05:54:28.780850: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:9261] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
2024-05-13 05:54:28.780905: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:607] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered
2024-05-13 05:54:28.782402: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1515] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
2024-05-13 05:54:28.790266: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2024-05-13 05:54:29.959001: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
[05:54:37] Auto image downscale factor of 1

Since the training process runs on the server, to view the results on the PC (client), we need to forward the server port to the local machine:
For example, if the SSH command for the server is: ssh -p 48332<EMAIL_ADDRESS>The URL for viewing results is http://localhost:7007/
We need to forward the server’s port 7007 to the client’s port 7007, but the connection port remains as specified in the SSH command. Enter the following in cmd or PowerShell:
ssh -CNg -L 7007:<IP_ADDRESS>:7007<EMAIL_ADDRESS>-p 11451
Here, china.autodl.com acts like an IP address, and if required, the login password is the server's password.


Can we convert this into .GGUF format without breaking?

Have you guys started on quantized version support, e.g BF16, Q8_0 etc. Cheers

Sorry, we haven't started on supporting quantized models at this time. We might explore this in the future.


Pass tests on Windows

I finally got a Windows VM up and running to try out our test suite there. The results were unsurprising:
----------------------------------------------------------------------
Ran 980 tests in 32.036s
FAILED (errors=255, failures=14)

We should get to the bottom of these so that we can confidently run the test suite on Windows before each release. Even better would be to add new tests for Windows-specific dangers like Unicode path handling and subprocess invocations.
Help from Windows natives would be enormously helpful here.

Alright, we now have a Windows continuous integration service up and running! https://ci.appveyor.com/project/sampsyo/beets
Here's the current status:
Ran 1494 tests in 303.796s
FAILED (SKIP=26, errors=39, failures=46)

94% passes ain't bad! :smiley: Let the fixing begin.

Is there a reason that AppVeyor always reports a success, even if some tests fail? For example here. In this build, 51 tests failed and there were 38 errors, and the command even exited with code 1 (highlighted in red at the end), but AppVeyor still says everything is fine.

I've told Appveyor to ignore all failures, since our test suite doesn't yet pass on Windows. Otherwise, we'd get "checks failed" for every PR.

Aha! I might try working out some of the Windows issues, 51 failed tests out of over 1500 isn't bad!

I did a little more work on the Windows tests today. I ran into a couple of obvious loose ends:

Query paths like C:\foo\bar look like queries for the field c to beets. This is probably not worth addressing for UI reasons, but it did break some tests that were relying on passing paths as arguments.
Speaking of which, is was really tricky to get the encoding right for passing paths as arguments. I fixed it for the convert plugin tests, but the problem may be lurking elsewhere too.
The convert tests use an external program to do a fake conversion. I rewrote this in Python instead of using Unix shell commands, but it still doesn't work because of encodings.

There's still something mysterious going on with plugin loading too. I haven't worked out what it is yet because the problem seems to go away if you run any of the test files individually; the problem only arises as an inter-test dependency. :cry:
Current status:
Ran 1659 tests in 54.532s
FAILED (SKIP=34, errors=55, failures=48)

That convert stub problem is now fixed.

In 82640260c266aae3a895dfdd934b21a149aa1dad, I fixed an absolutely maddening bug that caused almost all plugin tests to fail because of some old, broken code in testall.py. It was hard to narrow down because it only happened when running the entire test suite; running nosetests test/test_something.py alone made the problem disappear.
Ran 1659 tests in 63.838s
FAILED (SKIP=34, errors=25, failures=21)

I fiddled with some of the database closing issues today, which made up the bulk of the remaining unhandled exceptions:
Ran 1669 tests in 61.500s
FAILED (SKIP=35, errors=3, failures=20)

Pretty close! Most of the remaining failures have to do with filename vagaries.

I'm having fun making this a running log! I got some more of the low-hanging fruit today:
Ran 1676 tests in 63.462s
FAILED (SKIP=39, errors=2, failures=11)

There's a bunch of vexing path stuff in those remaining 13 tests.

A few more path-related fixes and a judicious skip brings us ever closer:
Ran 1677 tests in 61.198s
FAILED (SKIP=40, failures=9)

No more unhandled exceptions! That's something, right?

Great work on this so far @sampsyo! Windows support is ever nearing 🎉 😄.

On my machine, we're down to one last test!!!!!!!!!!!!
Ran 1679 tests in 56.951s
FAILED (SKIP=40, failures=1)

It's a tricky one: it's a weird interaction with ImageMagick where my setup is saying "Invalid Parameter" for no reason I can discern.
FAIL: test_accept_similar_art (test.test_embedart.EmbedartCliTest)
----------------------------------------------------------------------
[...]
beets.embedart: DEBUG: embedart: ImageMagick convert failed with status 4: u'Invalid Parameter -
c:\\users\\xxx\\appdata\\local\\temp\\tmpsycmii.jpeg\r\n'

can you run the command it runs manually with imagemagick?

Yeah, and weirdly the command works fine. A little fiddling with that did narrow it down, though: for whatever reason, Popen is getting a different convert.exe program that ships with Windows rather than the ImageMagick binary. Typing commands into PowerShell was invoking the right program, hence the disconnect.

Hmm, have you tried setting shell to True to see if it's PATH or cmd.exe related?

Good call; shell=True makes it work. I guess we could paper over the problem by just setting that flag on Windows? That feels a little icky...

Yeah it does. It seems that subprocess.Popen uses the CreateProcess function on Windows, which has the following description:

The name of the module to be executed. This module can be a Windows-based application. It can be some other type of module (for example, MS-DOS or OS/2) if the appropriate subsystem is available on the local computer.
The string can specify the full path and file name of the module to execute or it can specify a partial name. In the case of a partial name, the function uses the current drive and current directory to complete the specification. The function will not use the search path. This parameter must include the file name extension; no default extension is assumed.

I'm not entirely sure what the implications are of this, maybe we need to use the absolute path to convert somehow?

Yeah, an absolute path to convert.exe would work -- it would be nice to make this configurable.
In the mean time, though, I'm going to address the other problem here: that the check for ImageMagick "lies" and says everything is working fine even though convert refers to something else. I just noticed that a0c38a07a6d99ae8bb7461f1122ee34d70d2cd65 changed the check to use identify instead of convert for exactly this reason, which I believe was wrong -- it caused this problem we're having now. Finding out that we don't have a working convert is important!


Feature request: Explanation of auditors

Some of the checks require some expertise to understand or figure out how to fix.  For example, for S3 buckets, you can end up with "POLICY - No Policy." which has a score of zero, but what does this mean? Would there be any negative to this? How would you resolve it?  This is at https://github.com/Netflix/security_monkey/blob/c83571b671fcaa8a11f49720cba0b8a7c170b2d8/security_monkey/auditors/s3.py#L97
It's not clear to me what that is checking for.
Ideally, for every check, there would be:

An explanation of why this potentially bad, and why someone would do this at all.  For example, for an S3 bucket exposed publicly.
An description of how to resolve this.
A way to look up how you can check for the issue manually (to immediately ensure you've resolved the issue)

We (namely @monkeysecurity ) have been refactoring the auditors to help clarify and resolve some of these ambiguities.  @monkeysecurity has this been fixed?


How to run on Mac

Does anyone know how to run this on terminal on Mac?
Also, how do I install Pillow, audiotsm, scipy, numpy and pytube?
What is the nix-build and how do I use it?

Its all via python.
First install python 3.6
Then run pip install pillow
Pip install audiotsm
Etc
Run it the same way as shown in the video

You must also install ffmpeg. I don't have a Mac so it's best to google the installation process for that

You can just install ffmpeg through Homebrew: brew install ffmpeg

Thanks so much everyone. Got everything downloaded


[SPARK-37205][YARN] Introduce a new config 'spark.yarn.am.tokenConfRegex' to support renewing delegation tokens in a multi-cluster environment

What changes were proposed in this pull request?

This adds a new config spark.yarn.am.tokenConfRegex which is similar to mapreduce.job.send-token-conf introduced via YARN-5910. It is used for YARN AM to pass Hadoop configs, such as dfs.nameservices, dfs.ha.namenodes., dfs.namenode.rpc-address., etc, to RM for renewing delegation tokens.
Why are the changes needed?

YARN-5910 introduced a new config mapreduce.job.send-token-conf which can be used to pass a job's local configuration to RM which uses them when renewing delegation tokens. A typical use case is when a YARN cluster needs to talk to multiple HDFS clusters, where the RM may not have all the configs (e.g., dfs.nameservices, dfs.ha.namenodes.<nameservice>.*, dfs.namenode.rpc-address) to connect to these clusters when renewing delegation tokens. In this case, the clients can use the feature to pass their local HDFS configs to RM.
Does this PR introduce any user-facing change?

Yes, a new config spark.yarn.am.tokenConfRegex will be introduced to Spark users. By default it is disabled.
How was this patch tested?

It seems difficult to come up with a unit test for this. I manually tested it against a YARN cluster with Hadoop version 3.x and it worked as expected.
$SPARK_HOME/bin/spark-shell --master yarn \
            --deploy-mode client \
            --conf spark.driver.extraClassPath="${HADOOP_CONF_DIR}" \
            --conf spark.executor.extraclasspath="${HADOOP_CONF_DIR}" \
            --conf spark.yarn.am.tokenConfRegex="^dfs.nameservices$|^dfs.namenode.rpc-address.*$|^dfs.ha.namenodes.*$|^dfs.client.failover.proxy.provider.*$|^dfs.namenode.kerberos.principal|^dfs.namenode.kerberos.principal.pattern" \
            --conf spark.yarn.access.hadoopFileSystems="<HDFS_URI>"

Test build #145343 has started for PR 34635 at commit b2411ba.

Test build #145345 has started for PR 34635 at commit 8c6e5b8.

cc @gaborgsomogyi @xkrogen

Test build #145343 has finished for PR 34635 at commit b2411ba.

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

Test build #145345 has finished for PR 34635 at commit 8c6e5b8.

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49814/

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

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49816/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49814/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49816/

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

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

Sorry, but I need to ask if you think we can add a test coverage for this.

I mentioned a bit in the PR description. It's pretty hard to come up with a e2e test for this esp. with kerberos involved. I checked a few related PRs such as #31761 and #23525 and they also didn't come with tests.

Test build #145369 has started for PR 34635 at commit 37c430c.

Test build #145369 has finished for PR 34635 at commit 37c430c.

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

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49841/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49841/

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

Test build #145464 has started for PR 34635 at commit 8ff6be1.

Test build #145464 has finished for PR 34635 at commit 8ff6be1.

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49936/

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

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49936/

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

Could you review this once more please, @mridulm ?

Test build #145752 has started for PR 34635 at commit c69cb6e.

Test build #145752 has finished for PR 34635 at commit c69cb6e.

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

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50224/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50223/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50223/

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

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50224/

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

@dongjoon-hyun could you help to double check the new changes and see if they look good to you? if so I'm going to merge this soon. Thanks.

Merged, thanks!


Adding ORT-FRANCE Education School

https://ort-france.fr/

@bfoujols Pull request merged. Thank you!


insertGraph not working for specific column name

I'm trying to debug why insertGraph won't work for a specific column of a specific table. The table just has an ID and a "dob" date column. The ID uses a sequence and the insert does create the record, but the "dob" column is not inserted.
This:
Person
  .query()
  .insertGraph({ dob: '1980-01-01' })
  .returning('*')

yields this:
insert into "person" default values returning *

However, if I rename the column to "dob123", and leave everything else the same, it works:
Person
  .query()
  .insertGraph({ dob123: '1980-01-01' })
  .returning('*')

yields:
insert into "person" ("dob123") values (?) returning "id"

Any idea what could possibly be wrong here? Or how I could debug how this SQL is being created?

I think it would be useful to get some more information about your Person model.  Are you using validation, and if so, what does that look like?  Are you using any lifecycle hooks?

@devinivy Your comment was all I needed to trigger it in my brain... My model inherits from another model that had the dob property as a virtual attribute, so that was keeping this from working. Thank you for your help!

@kevhender nice, glad that's all it was!


Research the need to display global data in addition to just region data

We may want "global statistics" such as the total number of auctions and the total market cap, but considering whether we need individual item statistics and price histories. These queries would likely become extremely inefficient when processing billions of documents.

Closing. We may look at global data later, but for now I'm only doing region.


Strip the vendor'd section of the package path

If the package that easyjson is being used on is vendor'd
then we need to strip off the vendor'd bit of the pkg path
Fixes: #29
See: golang/go#12739

@luma will this somehow end up in upstream?


v2.0.3 Fails to Load in Piwigo v12 (stays at v2.0.2)

Completing a fresh install of Piwigo v12 there is a constant error with MugShot not being compatible with the current version.  Even if I manually download it still shows 2.0.2 instead of 2.0.3.

You have to change MUGSHOT_VERSION to 2.0.3 in main.inc.php.

@jporte thanks for that. Yes I'd spent most of yesterday trying to figure out why the upgrade kept failing with an error. I did notice eventually today that the v2.0.2 was in that file after a manual installation was also failing, but I thought maybe the v2.0.3 download link was still downloading the older version. But your suggestion has at least stabilised things, and the plugin works fine.


FOLIO-351 tidy 2

Whitespace changes only.
Tidied the testing/**.js to remove tabs and fix inconsistent indentation, etc.

Can one of the admins verify this patch?


[spi_device] SPI Device SRAM does not support byte-writes or read access

Description
Non-word writes to the SPI Device SRAM cause a store fault. We can write unaligned data by manually masking the bits, but in the a0 revision, there doesn't appear to be read access to the egress buffer, so this would require maintaining a shadow copy of the SRAM. See the Rust code below for an example to reproduce.
const SPI_DEVICE_BASE_ADDR: usize = 0x40050000;
const MAILBOX_RAW_ADDRESS: usize = SPI_DEVICE_BASE_ADDR + 0x1000 + 0x800;
const MAILBOX_SIZE: usize = 1024;

fn reset_mailbox(&self) {
        // SAFETY: reference to mailbox destroyed on function end
        unsafe { slice::from_raw_parts_mut(MAILBOX_RAW_ADDRESS as *mut _, MAILBOX_SIZE) }.fill(0);
        fence();
}

This was an oversight, and it actually isn't a limitation of the SRAM itself. Instead, the TL-UL frontend is forbidding sub-word writes due to...
https://github.com/lowRISC/opentitan/blob/bff93a06f5e569270c56ec08db723722de9da805/hw/ip/spi_device/data/spi_device.hjson#L1560
There is some downstream logic to check for issues, though, and this miss was deemed acceptable for A0 (not qualifying for ECO).


Stop commute retroactively on app start with no recent location updates

If the app starts (in the foreground OR from a notification, see #122), and the last location update is more than 25 minutes in the past, and the last timeslot is a commute slot, we should stop that slot at the last location update, and create a new one running since then. The user should not notice this change as it will happen before the UI is shown.

As discussed: This change must be handled by the TimeSlotCreationService. We need to create a new method and the UIAppDelegate must only pump data and let the service decide what to do.


Pydra

Imports pydra serialization for tensors
Currently has the serializer in 2 places, the __init__ and in a helper function module, should choose one and use that
Has some miscelanrous bug fixes for audio classification

Codecov Report
Attention: Patch coverage is 43.90244% with 23 lines in your changes missing coverage. Please review.

Project coverage is 63.54%. Comparing base (f3c595f) to head (1029d04).
Report is 50 commits behind head on main.

Files
Patch %
Lines

.../tests/utils/data_structures/pydra_helpers_test.py
31.25%
11 Missing :warning:

src/senselab/__init__.py
57.14%
6 Missing :warning:

...tasks/classification/speech_emotion_recognition.py
57.14%
3 Missing :warning:

src/senselab/utils/data_structures/device.py
25.00%
3 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #115      +/-   ##
==========================================
+ Coverage   63.04%   63.54%   +0.49%
==========================================
  Files          63       69       +6
  Lines        2073     2230     +157
==========================================
+ Hits         1307     1417     +110
- Misses        766      813      +47

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


[Q] Is there a way to change pointer speed while having disabled pointer acceleration?

Thank you for the beautiful app! So far I have experienced only one issue referenced in the title. I have tried changing pointer speed in system preferences and that seems to be unresponsive because of disabled pointer acceleration. Is there any other way to slow down the unaccelerated pointer speed? If it would possible, maybe having a nice slider underneath would be nice. :) Thanks!

I am sorry, I somehow overlooked a big slider right underneath Acceleration slider, eh. However I have noticed that having checked the "Disable pointer acceleration" checkbox also disabled speed slider along with acceleration slider. I am a bit confused as though why is that? Is checking "Disable pointer acceleration" the same as setting acceleration to 0?

You are not the only one who has this question. Please refer to #201.

You are not the only one who has this question. Please refer to #201.

Thank you. That is what I was looking fot. Closing the issue.


feat request to resolve rule descrepancy

there is a rule descrepancy in E7111 vs F632 we can't comply with both
one says i must 0.1 is not None
the other says i must 0.1 != None
may i request a Ruff-specific rules (RUF) that reconciles these? it basically would say "use != in constant comparisons that don't involve None else use is not None syntax`

I think it has to go the other way, because 0.1 is not None is a syntax warning. We should allow 0.1 != None (although it seems strange to have code that compares two literals like that :))


Pull Request [190625]

1.Fix Event Mapsui.UI.Forms.MapControl.OnLongTapped
2.Fix Mapsui.UI.Forms.MapView Clean Drawables On 0 Size
3.Add Event Mapsui.UI.Forms.MapView.PinLongTap (use PinClicked EventArgs)

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

@zerocraft are you able to give a small blurb on what this is trying to achieve for each of the above points. Does this reference some bug somewhere?

@zerocraft Sorry for my very late reaction. The tap logic is too complicated at the moment. We should further simplify it ourselves first.


Endiness check for UUIDs

Environment

Elixir version (elixir -v): Elixir 1.7.2 (compiled with Erlang/OTP 19
Database and version (PostgreSQL 9.4, MongoDB 3.2, etc.): N/A
Ecto version (mix deps): 2.1
Database adapter and version (mix deps): N/A
Operating system: Linux Mint

Current behavior
Using Exldap to retrieve user details from Active Directory, one of the fields I wish to use is a GUID.
The textual representation of this GUID is 4FC10CDB-5197-4B99-8058-17603B0A21AF.
'objectGUID' => [
    [219, 12, 193, 79, 151, 81, 153, 75, 128, 88, 23, 96, 59, 10, 33, 175]
]

[219, 12, 193, 79, 151, 81, 153, 75, 128, 88, 23, 96, 59, 10, 33, 175]
|> :binary.list_to_bin
|> Ecto.UUID.load

{:ok, "db0cc14f-9751-994b-8058-17603b0a21af"}

Notice that the first 3 parts are reversed. This seems to be (according to wikipedia):

Variant bits aside, the two variants are the same except that when reduced to a binary form for storage or transmission, variant 1 UUIDs use “network” (big-endian) byte order, while variant 2 GUIDs use “native” (little-endian) byte order. In their textual representations, variants 1 and 2 are the same except for the variant bits.

When byte swapping is required to convert between the big-endian byte order of variant 1 and the little-endian byte order of variant 2, the fields above define the swapping. The first three fields are unsigned 32- and 16-bit integers and are subject to swapping, while the last two fields consist of uninterpreted bytes, not subject to swapping. This byte swapping applies even for version 3, 4, and 5 UUID’s where the canonical fields do not correspond to the content of the UUID

If I swap the first parts, it then works.
Interactive Elixir (1.7.2) - press Ctrl+C to exit (type h() ENTER for help)

iex(1)> << a::32, b::16, c::16, d::16, e::48 >> = [219, 12, 193, 79, 151, 81, 153, 75, 128, 88, 23, 96, 59, 10, 33, 175] |> :binary.list_to_bin
<<219, 12, 193, 79, 151, 81, 153, 75, 128, 88, 23, 96, 59, 10, 33, 175>>

iex(2)> << a::32-little, b::16-little, c::16-little, d::16-big, e::48-big >> |> Ecto.UUID.load
{:ok, "4fc10cdb-5197-4b99-8058-17603b0a21af"}

Note: Im not sure if this is an actual issue with Ecto, or if it is just a quirk of how AD stores the represenation.
Expected behavior
That the correct value is returned when using Ecto.UUID.*

As the wikipedia page says, you don't have a UUID, but rather a GUID. My suggestion is for you to implement a custom type based on Ecto.UUID, named EctoGUID, and use it as part of your project.

I had always assumed that the term GUID and UUID were interchangeable - I wasn't aware that there was any difference. But if Ecto treats them differently, then yep, I'll create a custom type to use.
Thanks!

AFAIK the endianess is the main difference. So a custom type is the way to go here. :)


Building flatpaks fails

Running the flatpak from Flathub or pyfda releases
flatpak run com.github.chipmuenk.pyfda
fails with
Traceback (most recent call last):
  File "/app/bin/pyfdax", line 33, in <module>
    sys.exit(load_entry_point('pyfda==0.7.1', 'console_scripts', 'pyfdax')())
  File "/app/bin/pyfdax", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib/python3.9/importlib/metadata.py", line 86, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/app/lib/python3.9/site-packages/pyfda/pyfdax.py", line 20, in <module>
    import matplotlib
  File "/app/lib/python3.9/site-packages/matplotlib/__init__.py", line 113, in <module>
    from . import _api, _version, cbook, _docstring, rcsetup
  File "/app/lib/python3.9/site-packages/matplotlib/rcsetup.py", line 28, in <module>
    from matplotlib._fontconfig_pattern import parse_fontconfig_pattern
  File "/app/lib/python3.9/site-packages/matplotlib/_fontconfig_pattern.py", line 15, in <module>
    from pyparsing import (Literal, ZeroOrMore, Optional, Regex, StringEnd,
ModuleNotFoundError: No module named 'pyparsing'

There have been some deprecation warnings during the build process (which I can't find right now). The action 'bilelmoussaoui/flatpak-github-actions@v4' probably is outdated and should be replaced by 'flatpak/flatpak-github-actions' but I'm just guessing here.
@Murmele : could you perhaps take a look at this?

I tried to look into it, but I am unable to get the flatpak package running again, I am not able to update the requirements without running into strange build errors

It seems the flatpak is building now, the artifact is uploaded but I cannot download it:
Action script
- name: Build package
  uses: bilelmoussaoui/flatpak-github-actions/flatpak-builder@v6
  with:
    bundle: com.github.chipmuenk.pyfda.flatpak
    manifest-path: com.github.chipmuenk.pyfda/com.github.chipmuenk.pyfda.yaml
    cache: false
    branch: development

The build process runs successfully, files are uploaded but I have no idea where to:
Creating a bundle...
/usr/bin/flatpak build-bundle repo com.github.chipmuenk.pyfda.flatpak --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo --arch=x86_64 com.github.chipmuenk.pyfda development
Uploading artifact...
Starting artifact upload
For more detailed logs during the artifact upload process, enable step-debugging: https://docs.github.com/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging#enabling-step-debug-logging
Artifact name is valid!
Container for artifact "com.github.chipmuenk.pyfda-x86_64" successfully created. Starting upload of file(s)
...
Total size of all the files uploaded is 54986200 bytes
File upload process has finished. Finalizing the artifact upload
Artifact has been finalized. All files have been successfully uploaded!

The raw size of all the files that were specified for upload is 54986200 bytes

The next step also is successful and uploads more files:
- name: Publish build artifacts
  uses: actions/upload-artifact@v4
  with:
    path: com.github.chipmuenk.pyfda/*
    name: pyfda Flatpak

... giving the following output.
Run actions/upload-artifact@v4
  with:
    path: com.github.chipmuenk.pyfda/*
    name: pyfda Flatpak
    if-no-files-found: warn
    compression-level: 6
    overwrite: false
    include-hidden-files: false
/usr/bin/docker exec  9b2ced314f022e9fe8efb59f5d57f13304f9bd0d1a83bcdd98204bb68d2ee1a0 sh -c "cat /etc/*release | grep ^ID"
With the provided path, there will be 8 files uploaded
Artifact name is valid!
Root directory input is valid!
Beginning upload of artifact content to blob storage
Uploaded bytes 11493
Finished uploading artifact content to blob storage!
SHA256 hash of uploaded artifact zip is YYY
Finalizing artifact upload
Artifact pyfda Flatpak.zip successfully finalized. Artifact ID xxx
Artifact pyfda Flatpak has been successfully uploaded! Final size is 11493 bytes. Artifact ID is xxx
Artifact download URL: https://github.com/chipmuenk/pyfda/actions/runs/11321603163/artifacts/xxx

The problem occurs during download of the artifacts:
- name: Download artifacts
  uses<EMAIL_ADDRESS>  with:
    path: artifacts

- name: list artifacts folder
  run: |
    echo "*** Show artifacts folder: ***"
    ls artifacts
    echo "*** Show artifacts/pyfda Flatpak folder: ***"
    ls "artifacts/pyfda Flatpak"
    # This doesn't work, path / file not found
    echo "*** Show com.github.chipmuenk.pyfda-x86_64: ***"
    ls "com.github.chipmuenk.pyfda-x86_64"

giving the following output:
Run<EMAIL_ADDRESS>  with:
    path: artifacts
    merge-multiple: false
    repository: chipmuenk/pyfda
    run-id:<PHONE_NUMBER>3
Found 1 artifact(s)
No input name or pattern filtered specified, downloading all artifacts
An extra directory with the artifact name will be created for each download
Preparing to download the following artifacts:
- pyfda Flatpak (ID:<PHONE_NUMBER>, Size: 11493)
Redirecting to blob download url: https://productionresultssa11.blob.core.windows.net/actions-results/257f05f2-8a9b-43d5-ae1f-174286de7091/workflow-job-run-a187e388-c9ad-5cfd-c7bd-4b71dca68066/artifacts/13dd00d6cad7cd862e9ff996de0250acb53fd27407c587e278e245d080c604b0.zip
Starting download of artifact to: /home/runner/work/pyfda/pyfda/artifacts/pyfda Flatpak
(node:1779) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Artifact download completed successfully.
Total of 1 artifact(s) downloaded
Download artifact has finished successfully

However, the large artifact has not been downloaded, causing the action to fail.
Run echo "*** Show artifacts folder: ***"
*** Show artifacts folder: ***
pyfda Flatpak
*** Show artifacts/pyfda Flatpak folder: ***
Readme.md
build.sh
com.github.chipmuenk.pyfda.yaml
flathub.json
flatpak-github-action-modified-com.github.chipmuenk.pyfda.yaml
install.sh
matplotlib-setup.cfg
pyqt5.json
*** Show com.github.chipmuenk.pyfda-x86_64: ***
ls: cannot access 'com.github.chipmuenk.pyfda-x86_64': No such file or directory

@Murmele : sorry to needle you once more, the build process now seems to run through but I cannot access the uploaded artifact. This problem seems to be much simpler, perhaps you've got an idea here. If not, just ignore my message ;-)

Hi @chipmuenk I eill have a look into it :)


Scala 3 support

Hello
Will this lib be updated with Scala 3 support ? Or should we wait for ZIO 2.0 that will include both zio-magic features and Scala 3 support ?
Thanks

Currently, Scala 3 support is implemented in the series/2.x branch of ZIO. But yeah, to minimize the combinatoric explosion of maintenance efforts, I've so far been procrastinating until that is released :)

Thanks, that definitely makes sense, in the meantime maybe that it could work by using the
withDottyCompat(scalaVersion())

In mill, or something similare with SBT, in order to use 2.13 lib in Scala 3.
I think you can close this issue

Ah, due to this library's macro-based nature, I don't think that will work. I'm going to look into possibly opening the zio-magic features into ZIO 1.0, technically the should work. I just have to be careful around maintaining bin-compat for whatever decisions are made once introduced.


Consider refactor for known annotated metadata application in recursive cases

See https://github.com/pydantic/pydantic/pull/9279 for a start.
Consider other schemas like chain, json or python, etc.

Also, as suggested by @dmontagu:

ArgumentsSchema, CallSchema, CustomErrorSchema, JsonSchema, DefinitionsSchema, DefinitionReferenceSchema, I think these would all have the same issues
CustomErrorSchema and JsonSchema seem like real potential issues
The Definition and maybe DefinitionReference ones also seem like real potential issues with things like type aliases


NoMethodError: undefined method `html?' for "json":String

This is a regression related to #1955.  This works fine in 3.8.0, but breaks in 3.9.0 and remains broken with 3.10.0
I see this error when running a test of a component using rspec:
  1) EmbedPanelComponent header has the panel title
     Failure/Error: <textarea id='sul-embed-iframe-code' data-behavior='iframe-code'><%= render IframeComponent.new(viewer:) %></textarea>

     NoMethodError:
       undefined method `html?' for "json":String
     # /Users/jcoyne85/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/view_component-3.10.0/lib/view_component/base.rb:320:in `maybe_escape_html'
     # /Users/jcoyne85/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/view_component-3.10.0/lib/view_component/base.rb:335:in `safe_render_template_for'
     # /Users/jcoyne85/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/view_component-3.10.0/lib/view_component/base.rb:108:in `render_in'
     # /Users/jcoyne85/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/actionview-7.1.2/lib/action_view/helpers/rendering_helper.rb:42:in `render'
     # /Users/jcoyne85/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/view_component-3.10.0/lib/view_component/base.rb:204:in `render'
     # ./app/components/embed_this_form_component.html.erb:30:in `call'
     # /Users/jcoyne85/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/view_component-3.10.0/lib/view_component/compiler.rb:126:in `render_template_for'
     # /Users/jcoyne85/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/view_component-3.10.0/lib/view_component/base.rb:333:in `safe_render_template_for'
     # /Users/jcoyne85/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/view_component-3.10.0/lib/view_component/base.rb:108:in `render_in'
     # /Users/jcoyne85/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/actionview-7.1.2/lib/action_view/helpers/rendering_helper.rb:42:in `render'
     # /Users/jcoyne85/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/view_component-3.10.0/lib/view_component/base.rb:204:in `render'
     # ./app/components/embed_panel_component.html.erb:11:in `call'
     # /Users/jcoyne85/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/view_component-3.10.0/lib/view_component/compiler.rb:126:in `render_template_for'
     # /Users/jcoyne85/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/view_component-3.10.0/lib/view_component/base.rb:333:in `safe_render_template_for'
     # /Users/jcoyne85/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/view_component-3.10.0/lib/view_component/base.rb:108:in `render_in'
     # /Users/jcoyne85/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/actionview-7.1.2/lib/action_view/helpers/rendering_helper.rb:42:in `render'
     # /Users/jcoyne85/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/view_component-3.10.0/lib/view_component/test_helpers.rb:50:in `render_inline'
     # ./spec/components/embed_panel_component_spec.rb:7:in `block (2 levels) in <top (required)>'

It appears that the request method that is expected by maybe_escape_html is a custom method that I have been using in my component.
   319|     def maybe_escape_html(text)
=> 320|       debugger
   321|       return text if request && !request.format.html?
   322|       return text if text.blank?
   323|
   324|       if text.html_safe?
=>#0	ViewComponent::Base#maybe_escape_html(text="<iframe src=\"http://test.host/iframe?ur...) at ~/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/view_component-3.10.0/lib/view_component/base.rb:320
  #1	ViewComponent::Base#safe_render_template_for(variant=nil) at ~/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/view_component-3.10.0/lib/view_component/base.rb:336
  # and 79 frames (use `bt' command for all frames)
(rdbg) request
#<Embed::Request:0x0000000106883e50 @params={:url=>"http://purl.stanford.edu/abc123"}>
(ruby) method(:request)
#<Method: IframeComponent#request(...) /Users/jcoyne85/workspace/sul-dlss/sul-embed/app/components/iframe_component.rb:9>
(rdbg)

I wonder if there's anything we can do to signal that request is a reserved word? IIRC, we already warn/error for slot overrides on a bunch of things, not sure if this is among them.


How do I find an embedded document with its id?

I am trying something like:
$field = $modelDescription->fieldDescriptions->find($id)
Where fieldDescriptions are embedded in a modelDescription document - but it is not working.
Why is my embedded document's id stored as an array in "_id"?
"name": "newField1",
"label": "New Field",
"type": "text",
"fillable": true,
"id": 2,
"_id": {
"$id": "55931752d8e30f7b018b456e"
}

Because it is a MongoId. Try something like where('fieldDescriptions._id', ...)

But why is it sometimes returning the _id as a string and other times (for example - a model's relationships) as the MongoID?
I saw in another post I can use with to get the result I want:
$this->modelDescription->where('name',$name)->with('fielddescriptions')->first();
But this does not work if the relationship name is written in camel case as 'fieldDescriptions' because laravel then returns the JSON snake cased as 'field_descriptions' while it is stored in the database as fieldDescriptions.


Namesake

Hi,
please note that Nero has been already used for a note chess engine; please consider that, to avoid confusion.
https://www.chessprogramming.org/Nero
Thanks,
Alex

Hey Alex,
Thanks for the heads up! I will consider changing the name to something else.
P.S. How did you find this repo so quickly?

I found it because I look for new chess engines very often :)
Alex


Disabling authorized IP ranges is not working

The command to disabled the authorized IP ranges is not working.
PS xxxxxxxxx> az --version
azure-cli                         2.0.81
command-modules-nspkg              2.0.3
core                              2.0.81
nspkg                              3.0.4
telemetry                          1.0.4
Python location 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe'
Extensions directory 'C:\Users\xxxxxxxxx.azure\cliextensions'
Python (Windows) 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)]
Legal docs and information: aka.ms/AzureCliLegal
Your CLI is up-to-date.
Please let us know how we are doing: https://aka.ms/clihats
PS xxxxxxxxx> az aks update --resource-group myResourceGroup --name myK8sCluster --api-server-authorized-ip-ranges ""
az aks update: error: argument --api-server-authorized-ip-ranges: expected one argument
usage: az aks update [...]
Specifying no value for --api-server-authorized-ip-ranges does not work either.

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

ID: 660320d4-fad5-3307-e29f-5f4cfad4b7f7
Version Independent ID: 85ac2e8b-633f-6e1a-e642-0645ca92e129
Content: API server authorized IP ranges in Azure Kubernetes Service (AKS)
Content Source: articles/aks/api-server-authorized-ip-ranges.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

@epictecch Thank you for reaching out. We will investigate and update the thread further.

@epictecch Thanks for the feedback.
I see that you are using Azure CLI from powershell.   I am able to reproduce your issue in powershell.
It works well in bash and cloudshell bash.
Workaround for powershell is to use a string with a space instead of a string with 0 characters.
Please try with the below command and let know if it works or not
az aks update --resource-group myResourceGroup --name myK8sCluster --api-server-authorized-ip-ranges " "

@jakaruna-MSFT Thanks for your helpful answer.
I was able to execute the command in bash. So, my problem is solved and I can access the Kubernetes cluster's API server again.
I also tried your workaround using a space as argument in Powershell but this failed:
PS xxxxxxxxx> az aks update --resource-group myResourceGroup --name myK8sCluster --api-server-authorized-ip-ranges " "
Operation failed with status: 'Bad Request'. Details: '' in APIServerAuthorizedIPRanges is not a valid IP address or CIDR.

ok.  Since Azure cli is for bash, It will work well there.
If we use that in powershell, Then clashes are coming in when quotes are used.
I will pass this feedback for this particular command.


Night vision flashes when the game is overloaded

There's not a lot I can do about it, but I am aware that it happens. There's not a lot I can do.

found a mod to fix this issue


v2.1.0 throws error when used with next.js

Error: Nesting detected at 1:289. Unfortunately nesting is not supported by styled-jsx.
    at Function.disableNestingPlugin (/home/dre/workspaces/reactjs/phreshr/node_modules/styled-jsx/dist/lib/style-transform.js:19:13)
    at proxy (/home/dre/workspaces/reactjs/phreshr/node_modules/stylis/stylis.js:1133:30)
    at compile (/home/dre/workspaces/reactjs/phreshr/node_modules/stylis/stylis.js:679:10)
    at compile (/home/dre/workspaces/reactjs/phreshr/node_modules/stylis/stylis.js:285:17)
    at stylis (/home/dre/workspaces/reactjs/phreshr/node_modules/stylis/stylis.js:1270:16)
    at stringifyRules (/home/dre/workspaces/reactjs/phreshr/node_modules/styled-components/lib/utils/stringifyRules.js:27:31)
    at ComponentStyle.generateAndInjectStyles (/home/dre/workspaces/reactjs/phreshr/node_modules/styled-components/lib/models/ComponentStyle.js:59:24)
    at StyledComponent.generateAndInjectStyles (/home/dre/workspaces/reactjs/phreshr/node_modules/styled-components/lib/models/StyledComponent.js:124:38)
    at StyledComponent.componentWillMount (/home/dre/workspaces/reactjs/phreshr/node_modules/styled-components/lib/models/StyledComponent.js:153:39)

Can you post some code for reproduction purposes and your version of next.js? It seems to be related to their code somehow, not ours, since the error includes some styled-jsx stuff

Having the same issue. I'm on 2.1.0 of styled-components and 3.0.0-beta14 of next.
Below is an example of the code that causes the error:
 const List = styled.div
border-bottom: 1px solid red;
&:last-of-type {
border-bottom: none;
}

I have a custom _document.js, .babelrc as well as package.json configs as provided in the example here: https://github.com/zeit/next.js/tree/v3-beta/examples/with-styled-components

Downgraded and tested with 2.0.1 of styled-components and nesting still works.

This is a bug with styled-jsx – or at least an inter-compatibility problem. So we should raise an issue with next.js and styled-jsx.
cc @giuseppeg; any idea what this could be?

uhm probably Stylis is shared and a singleton and therefore carries over the plugins we register https://github.com/zeit/styled-jsx/blob/master/src/lib/style-transform.js#L66-L71 ? Are you folks using styled-jsx too? Have you tried to remove styled-jsx from the Next.js babel preset? See https://github.com/zeit/next.js/blob/v3-beta/examples/with-styled-jsx-postcss/babel-preset.js Obviously in your case you should remove it instead of replacing, maybe use filter instead of map and then make sure that you register the custom preset https://github.com/zeit/next.js/blob/v3-beta/examples/with-styled-jsx-postcss/.babelrc

@giuseppeg That does sounds like the problem. Maybe we should detect whether stylis has loaded some plugins? Sounds reasonable if it's possible.
So for everyone in this thread: Please either turn off experimental preprocessing, or turn off the styled-jsx plugin.

As a workaround you may want to remove all the plugins before using stylis stylis.use(null) (I will probably add that to styled-jsx too).
Probably though this should be fixed in Stylis maybe by making it a class or factory rather than a singleton cc @thysultan

@giuseppeg This should fix it for the babel plugin: https://github.com/styled-components/babel-plugin-styled-components/pull/62
However, for the runtime, I'm reluctant to include a reset for each time that we use stylis. It seems that a factory would fix this issue in a cleaner manner.

Sure i can add this to stylis in 3.2.0, which would allow you to use it either via
// factory pattern
var {stylis} = require('stylis')

or
// default singleton pattern
var stylis = require('stylis')

@thysultan I'm not sure whether that's a good API :/ Sorry, but x vs x.stylis and similarly even x.default vs x.stylis is for me as random as for example stylis.use(null). Maybe we can expose sth more explicit maybe?
You know what they say: Write once, maintain forever :wink: So it'd be neat to have some more explicit API

@philpl
var {stylis} = require('stylis')

Would extract a new stylis instance like you would a class var stylis = new require('stylis'), without adding any overhead checks to the compiler / require major sem-version bump.
What API addition would you propose?

@thysultan maybe you could go with a mutable API, since it's already a mutable singleton? So .clone or something similar, and migrate to a class pattern or factory pattern in the future (next major release?)

maybe you could go with a mutable API, since it's already a mutable singleton? So .clone or something similar.

@philpl That's essentially how var {stylis} = require('stylis') would work. You'd rather it be a method call like var stylis = stylis.clone()?
// identical
var {stylis} = require('stylis') // uses a property getter
var stylis = require('stylis').clone() // method

// default pattern works as you'd expect
var stylis = require('stylis')

@thysultan yea, essentially, like I mentioned, I don't have any problem with the proposed API – or any other one per se – the problem is clarity. So, stylis.stylis doesn't really convey that it's a factory for a new instance in this case.

Implementing it as new stylis(opts) doesn't cause any overhead when in strict mode so there that option as well.
var stylis = new require('stylis')

Please at least do something, because until then styled-components is basically unusable with next js.  🙏

@whmountains you can do what I suggested above https://github.com/styled-components/styled-components/issues/934#issuecomment-310840909

@philpl @giuseppeg The x = new stylis pattern landed with 3.2.0

@thysultan I'll push some patches for the babel plugin and SC later then :smile: Awesome work :+1:

Fixed in<EMAIL_ADDRESS>we are using an instance of stylis now. This should fix the OP issue when Next upgrades to the latest v of styled-jsx.

@giuseppeg Yea, this has already been fixed in SC since 17 days haha. Sorry for forgetting to close this issue https://github.com/styled-components/styled-components/releases/tag/v2.1.1


Fix error on downloads directory browse cancel

Fixes the issue #149.
It checks if filePaths is truthy before making changes to the settings.

Thank you.


3 types of black color

Hi! i recently saw that we are using around 3 types of black color on the landing page, can we reduce it to the only true black.
I believe its only in light mode.

the first one img is connected with #4566
In light mode there is only one black color, in figma its k-black, its true black. In darkmode, instead of black, we are using k-darkmode (its not true black, because otherwise it is not pleasant:D )
There are only more types of grey

👋

I am working on this 😅

hmm, maybe we want to raise the issue limit to 5 issues without matching PRs? This way, I could get this one assigned (I didn't attempt to, because I already have 5 issues on me).
the limit was set to avoid stalling, opening up PR prevents stalling and keeps things moving forward? thoughts @yangwao ?
@prachi00 seems to ignore the condition described in CONTRIBUTING.md altogether, maybe that's a way to go 😆

I feel like it's showing wrong as I dont have 5 issues currently

hmm, maybe we want to raise the issue limit to 5 issues without matching PRs? This way, I could get this one assigned (I didn't attempt to, because I already have 5 issues on me).
the limit was set to avoid stalling, opening up PR prevents stalling and keeps things moving forward? thoughts @yangwao ?
@prachi00 seems to ignore the condition described in CONTRIBUTING.md altogether, maybe that's a way to go 😆

I mean its a small issue so I can combine it with the other ui one

sure, go ahead, but the size of the issue isn't the point. Either we're all respecting the rules in CONTRIBUTING.md or we're back at the wild west scenario before bot came along 😆 you have 5 issues assigned to you with 0 PRs open at this point, this one is 6th. This is the exact situation which was supposed to be avoided by the 5 issue limit 🤷🏻♂ I'm at 5 issue limit with 4 PRs open. I would happily work on this if the limit wasn't a thing. (I'm not trying to be mean, just trying to figure out how should I act as outside contributor in the future)

I mean sure yeah if anyone else wants to work on it, I am not going to say no since it's obviously open for grabs, but if like the pr isnt raised and I have bandwidth as sometimes the issues that are assigned are blocked temporarily because youre waiting for something? So, I could work on it in the meantime as like I said this is a small issue, sorry if it seemed like I was hoarding issues, but it wasnt my intention
I guess we are all on the same side here and that is to get issues done quickly and I am all for it ☺

I guess we are all on the same side here and that is to get issues done quickly and I am all for it ☺

yes, I think it would be best to take the issues with raised PRs outside of the limit. We'll see. Personally, I'd prefer to take the guess work out of the assigning process.

👋

hey 👋 there I guess best would be tackle issues with higher priority, other than that I don't mind to have resolved issues 😉
With Assign bot it's still experiment, it's good rule of thumb to respect that, so one who has that PR made has higher chance to be merged & paid out.
But if someone will make PR, I won't be against tbh, we have quite long que to go!
We can also think of raising limit if so to 7?

hey 👋 there I guess best would be tackle issues with higher priority, other than that I don't mind to have resolved issues 😉

roger that 🚀

We can also think of raising limit if so to 7?

okay, the limit is set to 7 for now, feel free to ping me for change


Replaced printStackTrace() with JUL

Codecov Report

Merging #150 into master will not change coverage.
The diff coverage is 0%.

@@            Coverage Diff            @@
##             master     #150   +/-   ##
=========================================
  Coverage     80.01%   80.01%
  Complexity     1682     1682
=========================================
  Files           156      156
  Lines          5599     5599
  Branches        731      731
=========================================
  Hits           4480     4480
  Misses          840      840
  Partials        279      279

Impacted Files
Coverage Δ
Complexity Δ

...ver/spi/request/RestServletRequestParamReader.java
93.44% <0%> (ø)
23 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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

@tangiel ... and if if it's okay, I would like to get it released, thx :)

Thanks. I will release it in 2.1.1.


Correct goog.structs.Pool minCount default

The JSDoc's state that goog.structs.Pool's minCount is 1 by default.
However, the specific source file tells us that

this.minCount_ = opt_minCount || 0;

We don't have a record of gingerik signing CLA. Please sign: https://cla.developers.google.com/clas

Thanks @nanaze, I added 'gingerik' to the CLA. Is it correct now?

Verified the CLA has been submitted for gingerik


Multiple word to word attention between LSTM and one single word

Hello,
I am trying to implement an attention model based on LSTM to do relation classification based on SemEval 2010 task 8 dataset. An example of the sample looks like:
28	"This <e1>article</e1> gives details on 2004 in <e2>music</e2> in the United Kingdom, including the official charts from that year."

Message-Topic(e1,e2)

The number is just index, which is not important. Given this sentences, the classifier is supposed to classify this sentence to Message-Topic(e1,e2) class. The dataset contains 19 classes.
My designed model is illustrated in below figure:

For this sentence:
Poor care led to her <e1>death</e1> from <e2>pneumonia</e2>.
My design is to feed this sentence into a LSTM model and with the output of the LSTM, attend to the entity and the preposition, to select the important words with high importance to the entities and the preposition. (The preposition matters in relation classification, which is my own observation.)
I designed this model based on the famous paper

Rocktäschel, Tim, et al. "Reasoning about entailment with neural attention." arXiv preprint arXiv:1509.06664 (2015).

I try to modify this implementation to fit my own model.
The attention code is:
main_input = Input(shape=(N,), dtype='int32', name='main_input')
x = Embedding(output_dim=opts.emb, input_dim=opts.max_features, input_length=N, name='x')(main_input)
drop_out = Dropout(0.1, name='dropout')(x)
lstm_fwd = LSTM(opts.lstm_units, return_sequences=True, name='lstm_fwd')(drop_out)
lstm_bwd = LSTM(opts.lstm_units, return_sequences=True, go_backwards=True, name='lstm_bwd')(drop_out)
bilstm = merge([lstm_fwd, lstm_bwd], name='bilstm', mode='concat')
drop_out = Dropout(0.1)(bilstm)
h_n = Lambda(get_H_n, output_shape=(k,), name="h_n")(drop_out)
Y = Lambda(get_Y, arguments={"xmaxlen": L}, name="Y", output_shape=(L, k))(drop_out)
Whn = Dense(k, W_regularizer=l2(0.01), name="Wh_n")(h_n)
Whn_x_e = RepeatVector(L, name="Wh_n_x_e")(Whn)
WY = TimeDistributed(Dense(k, W_regularizer=l2(0.01)), name="WY")(Y)
merged = merge([Whn_x_e, WY], name="merged", mode='sum')
M = Activation('tanh', name="M")(merged)
alpha_ = TimeDistributed(Dense(1, activation='linear'), name="alpha_")(M)
flat_alpha = Flatten(name="flat_alpha")(alpha_)
alpha = Dense(L, activation='softmax', name="alpha")(flat_alpha)

Y_trans = Permute((2, 1), name="y_trans")(Y)  # of shape (None,300,20)

r_ = merge([Y_trans, alpha], output_shape=(k, 1), name="r_", mode=get_R)

r = Reshape((k,), name="r")(r_)

Wr = Dense(k, W_regularizer=l2(0.01))(r)
Wh = Dense(k, W_regularizer=l2(0.01))(h_n)
merged = merge([Wr, Wh], mode='sum')
h_star = Activation('tanh')(merged)
out = Dense(3, activation='softmax')(h_star)

My problems are:
If I want to convert this code to Theano backend Keras code,
h_n = Lambda(get_H_n, output_shape=(k,), name="h_n")(drop_out)
Y = Lambda(get_Y, arguments={"xmaxlen": L}, name="Y", output_shape=(L, k))(drop_out)

Both h_n and Y take in the output of drop_out, and then later merged together. Should I make two Sequential() layer? Then how to take in the same input from the drop_out?
I am quite new to Keras, I think it provides great convenience for newbies like me, but sometimes, I don't know whether I should go deeper to write my own layer or learn new tricks to make the program work.
Thank you for your help.

This is a perfect implementation of  functional API, newbie mistake. Sorry.


Message shows I need to login before voting

although i was logined, it still pop a messagebox, that shows "you need to login before voting".
i have security question set for my account?
should i close the security question to solve  such issue?
nothing wrong on web, or the other official app.

login for another time, everything is ok...


FPS drops while walking (40k Tiles Unlocked)

Hello,
sadly my game started to lagg while walking within ~35k-~40k Tiles unlocked
When I stand still im fine with 70 FPS, maybe is there a way to load the tiles while walking differntly? Maybe if tiles would load while the new region loads there wouldn't be a lagg.
All regards

It's been almost a year since the last change here.
It sounds like your issue could be solved by #42, so if you know how to run a plugin from source you could use their version instead: https://github.com/elgbar/Tileman-Mode-Async
Here's a youtube video that helped me with loading a plugin from source: https://www.youtube.com/watch?v=mB5Wxfx0Ork&ab_channel=MakingStan
Wish you luck and hope the developers come back 🙏🏻


refactor: storage secret and configmap keep exactly the same code impletation details in some behaviors

refactor: storage secret and configmap keep exactly the same code impletation details in some behaviors
close #8106
Signed-off-by: Liu Ming<EMAIL_ADDRESS>

Have rebased already, thanks for reminder. @hickeyma :smile:

This also needs an issue number to an issue that describes the reason why this should be refactored.

In #8106, you mention

A little difference in new object function: Secret has a Type filed but ConfigMap hasn't.

But I don't see a change in this PR addressing this or explaining why this is an issue for you.

In #8106, you mention

A little difference in new object function: Secret has a Type filed but ConfigMap hasn't.

But I don't see a change in this PR addressing this or explaining why this is an issue for you.

Yep, I'm not sure about this point because I do not the intention of set the Type field of Secret.  If there are no further usage of this filed, I think we needn't to set this field value for Secret.

Why is this an issue for you?
I bring this up because in general we try to avoid code refactors for the sake of refactoring code unless it fixes an actual issue you are experiencing. At best, code refactors improve nothing for the end-user. At worst, they introduce breaking changes. At their very worst, they introduce behavioural changes to the codebase introducing new bugs, either for us for for third parties relying on the SDK.
https://github.com/helm/helm/pull/8076#discussion_r424547022 for example is a high-risk refactor. The previous behaviour was just fine, because as per the documentation on errors.Wrap, if err = nil, nil is returned. Had this not been the behaviour, this code refactor could've introduced a behavioural change (and in some cases, that results in a bug).
The end result of that code change is identical to the old code's behaviour, which warrants bringing up the original question: why are these changes necessary in the first place?

https://github.com/pkg/errors/blob/614d223910a179a466c1767a985424175c39b465/errors.go#L184-L196
// Wrap returns an error annotating err with a stack trace
// at the point Wrap is called, and the supplied message.
// If err is nil, Wrap returns nil.
func Wrap(err error, message string) error {
	if err == nil {
		return nil
	}
	err = &withMessage{
		cause: err,
		msg:   message,
	}
	return &withStack{
		err,
		callers(),
	}
}

errors.Wrap wouldn't be a breaking change, @bacongobbler  the following tow ways of code implementation  should be identical in returned values:
        // the original
        return errors.Wrap(err, "update: failed to update")

        // refactor
        if err != nil {
		return errors.Wrap(err, "update: failed to update")
	}
	return nil

And the only change point is that I make a log record here.
        if err != nil {
		secrets.Log("update: failed to update: %s", err)
		return errors.Wrap(err, "update: failed to update")
	}
	return nil

However, this will have nothing affect for users, but will improve user experience, to keep the output log message consistency. Here I explain:
before refactor
~/.kube » /Users/apple/Workspace4go/src/github.com/helm/helm/cmd/helm/helm-configmap install configmap-test helm-chart-sample --kubeconfig /Users/apple/Workspace/git_sogou-inc_com/thanos/paas/apiserver/apiserver/src/main/resources/pre/kubeconfig-thanos -n bizdev --debug
install.go:159: [debug] Original chart version: ""
install.go:176: [debug] CHART PATH: /Users/apple/.kube/helm-chart-sample

cfgmaps.go:171: [debug] create: failed to create: configmaps is forbidden: User "bizcloud:default-user" cannot create resource "configmaps" in API group "" in the namespace "bizdev"
Error: configmaps is forbidden: User "bizcloud:default-user" cannot create resource "configmaps" in API group "" in the namespace "bizdev"
helm.go:85: [debug] configmaps is forbidden: User "bizcloud:default-user" cannot create resource "configmaps" in API group "" in the namespace "bizdev"
-----------------------------------------------------------------------------------------------------------------------------------------------
~/.kube » /Users/apple/Workspace4go/src/github.com/helm/helm/cmd/helm/helm-secret install configmap-test helm-chart-sample --kubeconfig /Users/apple/Workspace/git_sogou-inc_com/thanos/paas/apiserver/apiserver/src/main/resources/pre/kubeconfig-thanos -n bizdev --debug
install.go:159: [debug] Original chart version: ""
install.go:176: [debug] CHART PATH: /Users/apple/.kube/helm-chart-sample

Error: create: failed to create: secrets is forbidden: User "bizcloud:default-user" cannot create resource "secrets" in API group "" in the namespace "bizdev"
helm.go:85: [debug] secrets is forbidden: User "bizcloud:default-user" cannot create resource "secrets" in API group "" in the namespace "bizdev"
create: failed to create
helm.sh/helm/v3/pkg/storage/driver.(*Secrets).Create
	/Users/apple/Workspace4go/src/github.com/helm/helm/pkg/storage/driver/secrets.go:161
helm.sh/helm/v3/pkg/storage.(*Storage).Create
	/Users/apple/Workspace4go/src/github.com/helm/helm/pkg/storage/storage.go:66
helm.sh/helm/v3/pkg/action.(*Install).Run
	/Users/apple/Workspace4go/src/github.com/helm/helm/pkg/action/install.go:319
main.runInstall
	/Users/apple/Workspace4go/src/github.com/helm/helm/cmd/helm/install.go:229
main.newInstallCmd.func1
	/Users/apple/Workspace4go/src/github.com/helm/helm/cmd/helm/install.go:117
github.com/spf13/cobra.(*Command).execute
	/Users/apple/Workspace4go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:842
github.com/spf13/cobra.(*Command).ExecuteC
	/Users/apple/Workspace4go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:950
github.com/spf13/cobra.(*Command).Execute
	/Users/apple/Workspace4go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:887
main.main
	/Users/apple/Workspace4go/src/github.com/helm/helm/cmd/helm/helm.go:84
runtime.main
	/usr/local/opt/go/libexec/src/runtime/proc.go:203
runtime.goexit
	/usr/local/opt/go/libexec/src/runtime/asm_amd64.s:1373
-----------------------------------------------------------------------------------------------------------------------------------------------
~/.kube »                                                                                1 ↵ apple@liuming216448

We can notice that ConfigMaps will log the error  then return it, and no exception stack is printed, but Secrets return the error directly and give user the exception stack. the output is possibly  different. I'm not sure wether this will puzzle attentive users or not, but I feel that this will be better to do this.
After refactor
~/.kube » /Users/apple/Workspace4go/src/github.com/helm/helm/cmd/helm/helm-secret install configmap-test helm-chart-sample --kubeconfig /Users/apple/Workspace/git_sogou-inc_com/thanos/paas/apiserver/apiserver/src/main/resources/pre/kubeconfig-thanos -n bizdev --debug
install.go:159: [debug] Original chart version: ""
install.go:176: [debug] CHART PATH: /Users/apple/.kube/helm-chart-sample

secrets.go:169: [debug] create: failed to create: secrets is forbidden: User "bizcloud:default-user" cannot create resource "secrets" in API group "" in the namespace "bizdev"
Error: create: failed to create: secrets is forbidden: User "bizcloud:default-user" cannot create resource "secrets" in API group "" in the namespace "bizdev"
helm.go:85: [debug] secrets is forbidden: User "bizcloud:default-user" cannot create resource "secrets" in API group "" in the namespace "bizdev"
create: failed to create
helm.sh/helm/v3/pkg/storage/driver.(*Secrets).Create
	/Users/apple/Workspace4go/src/github.com/helm/helm/pkg/storage/driver/secrets.go:170
helm.sh/helm/v3/pkg/storage.(*Storage).Create
	/Users/apple/Workspace4go/src/github.com/helm/helm/pkg/storage/storage.go:66
helm.sh/helm/v3/pkg/action.(*Install).Run
	/Users/apple/Workspace4go/src/github.com/helm/helm/pkg/action/install.go:319
main.runInstall
	/Users/apple/Workspace4go/src/github.com/helm/helm/cmd/helm/install.go:229
main.newInstallCmd.func1
	/Users/apple/Workspace4go/src/github.com/helm/helm/cmd/helm/install.go:117
github.com/spf13/cobra.(*Command).execute
	/Users/apple/Workspace4go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:842
github.com/spf13/cobra.(*Command).ExecuteC
	/Users/apple/Workspace4go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:950
github.com/spf13/cobra.(*Command).Execute
	/Users/apple/Workspace4go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:887
main.main
	/Users/apple/Workspace4go/src/github.com/helm/helm/cmd/helm/helm.go:84
runtime.main
	/usr/local/opt/go/libexec/src/runtime/proc.go:203
runtime.goexit
	/usr/local/opt/go/libexec/src/runtime/asm_amd64.s:1373
-----------------------------------------------------------------------------------------------------------------------------------------------
~/.kube » /Users/apple/Workspace4go/src/github.com/helm/helm/cmd/helm/helm-configmap install configmap-test helm-chart-sample --kubeconfig /Users/apple/Workspace/git_sogou-inc_com/thanos/paas/apiserver/apiserver/src/main/resources/pre/kubeconfig-thanos -n bizdev --debug
install.go:159: [debug] Original chart version: ""
install.go:176: [debug] CHART PATH: /Users/apple/.kube/helm-chart-sample

cfgmaps.go:169: [debug] create: failed to create: configmaps is forbidden: User "bizcloud:default-user" cannot create resource "configmaps" in API group "" in the namespace "bizdev"
Error: create: failed to create: configmaps is forbidden: User "bizcloud:default-user" cannot create resource "configmaps" in API group "" in the namespace "bizdev"
helm.go:85: [debug] configmaps is forbidden: User "bizcloud:default-user" cannot create resource "configmaps" in API group "" in the namespace "bizdev"
create: failed to create
helm.sh/helm/v3/pkg/storage/driver.(*ConfigMaps).Create
	/Users/apple/Workspace4go/src/github.com/helm/helm/pkg/storage/driver/cfgmaps.go:170
helm.sh/helm/v3/pkg/storage.(*Storage).Create
	/Users/apple/Workspace4go/src/github.com/helm/helm/pkg/storage/storage.go:66
helm.sh/helm/v3/pkg/action.(*Install).Run
	/Users/apple/Workspace4go/src/github.com/helm/helm/pkg/action/install.go:319
main.runInstall
	/Users/apple/Workspace4go/src/github.com/helm/helm/cmd/helm/install.go:229
main.newInstallCmd.func1
	/Users/apple/Workspace4go/src/github.com/helm/helm/cmd/helm/install.go:117
github.com/spf13/cobra.(*Command).execute
	/Users/apple/Workspace4go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:842
github.com/spf13/cobra.(*Command).ExecuteC
	/Users/apple/Workspace4go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:950
github.com/spf13/cobra.(*Command).Execute
	/Users/apple/Workspace4go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:887
main.main
	/Users/apple/Workspace4go/src/github.com/helm/helm/cmd/helm/helm.go:84
runtime.main
	/usr/local/opt/go/libexec/src/runtime/proc.go:203
runtime.goexit
	/usr/local/opt/go/libexec/src/runtime/asm_amd64.s:1373
-----------------------------------------------------------------------------------------------------------------------------------------------
~/.kube »                                                                                1 ↵ apple@liuming216448

we will not be accepting this PR as it changes code that does not need to be changed.


Bug report: spo file move throws unclear error when specifying --deleteIfAlreadyExist

Description
The command spo file move throws an unclear error when you specify --deleteIfAlreadyExist when the destination file does not exist.

This is because we perform an error check when we try to recycle a file that doesn't exist.
https://github.com/pnp/cli-microsoft365/blob/13e2a93ef522135714d2aa689d18c910d8839685/src/m365/spo/commands/file/file-move.ts#L196-L206
However the error returned looks like this:
{"message":"The file /sites/Projectsite/shared documents/Test55/Accountants (Stanley).xlsx does not exist."}

Steps to reproduce
Run m365 spo file move --webUrl <url> --sourceUrl <sourceUrl> --targetUrl <targetUrl> --deleteIfAlreadyExists when the destination file does not exist.
Expected results
Command to run without a problem
Actual results
Error: [object Object]
Diagnostics
No response
CLI for Microsoft 365 version
v6.4.0
nodejs version
v16.18.1
Operating system (environment)
Windows
Shell
PowerShell
cli doctor
No response
Additional Info
No response

Are you planning to work on this @milanholemans?

No, already have 2 issues on my name. Are you planning to work on this? 😊

No, already have 2 issues on my name. Are you planning to work on this? 😊

Would love to! ❤


Add component for palindrome

Generate palindrome strings of a given length or a number of palindromes. This can be useful in testing the palindrome function or for other applications that require palindrome strings. The function can take parameters such as the length of the palindrome string, the number of palindromes to generate, and the characters to use to create the palindrome (such as only alphabets or alphanumeric characters).

Implemented the solution and tested it successfully. Closing the issue.


Populate BBP_ADJUSTED in RT

Slope of 1 of regular BBP, data mode A

Essentially done, just need to verify on a couple files that is being populated properly.


Static services errors

https://github.com/mesg-foundation/core/blob/bd84ad1d54eadfb8aa2bd79ac0c7c68f775f9c03/service/error.go#L20-L26
https://github.com/mesg-foundation/core/blob/bd84ad1d54eadfb8aa2bd79ac0c7c68f775f9c03/service/error.go#L45-L51
https://github.com/mesg-foundation/core/blob/bd84ad1d54eadfb8aa2bd79ac0c7c68f775f9c03/service/error.go#L70-L76
I really don't like to call validate function in the Error() function.
I think the errors should already contain everything needed to display the full error as a string. @mesg-foundation/core what do you thinks guys? Moreover, the app already call the validate functions in order to know if the data is valid.

related with https://github.com/mesg-foundation/core/issues/347, https://github.com/mesg-foundation/core/issues/348, https://github.com/mesg-foundation/core/issues/349, https://github.com/mesg-foundation/core/issues/337.
this can be a solution:
type InvalidOutputDataError struct {
	Key      string
	Warnings []*ParameterWarning
}

func (e InvalidOutputDataError) Error() string {
	s := fmt.Sprintf("Outputs of task %q are invalid", e.Key)
	for _, warning := range e.Warnings {
		s = fmt.Sprintf("%s. %s" + warning())
	}
	return s
}

or lets be more generic:
const (
	InvalidTaskInput invalidData = iota + 1
	InvalidTaskOutput
	InvalidEventData
)

type invalidData int

type InvalidDataError struct {
	Type     invalidData
	Key      string
	Warnings []*ParameterWarning
}

func (e InvalidDataError) Error() string {
	var w string
	switch e.Type {
	case InvalidTaskInput:
		w = "Inputs of task"
	case InvalidTaskOutput:
		w = "Outputs of task"
	case InvalidEventData:
		w = "Data of event"
	}
	s := fmt.Sprintf("%s %q are invalid", w, e.Key)
	for _, warning := range e.Warnings {
		s = fmt.Sprintf("%s. %s" + warning())
	}
	return s
}

and for the not found errors:
const (
	EventNotFound notFound = iota + 1
	TaskNotFound
	TaskInputNotFound
	TaskOutputNotFound
)

type notFound int

type NotFoundError struct {
	Type      notFound
	ServiceID string
	Key       string
}

func (e NotFoundError) Error() string {
	var w string
	switch e.Type {
	case EventNotFound:
		w = "Event"
	case TaskNotFound:
		w = "Task"
	case TaskInputNotFound:
		w = "Input"
	case TaskOutputNotFound:
		w = "Output"
	}
	return fmt.Sprintf("%s %q not found in service %q", w, e.Key, e.ServiceID)
}

finally they can be used like below with the new APIs of service package described at #337:
manager := service.NewManager()
service, _ := manager.GetService("v1_x")

event, err := service.GetEvent("request")
// err can be a `NotFound` error or nil
// NotFound can be type asserted like: `eventNotFound := err.(NotFound)``
// access to Type, Key or ServiceID like `eventNotFound.Key` when needed

err := event.ValidateParameters()
// err can be a `InvalidDataError` error or nil
// InvalidDataError can be type asserted like: `invalidEventData := err.(InvalidDataError)`
// access to Type, Key or Warnings like `invalidEventData.Warnings` when needed

I really like the generic version :)

I'm ok to put directly the warnings in the errors.
But not for the generic version: it removes too much context.

https://github.com/mesg-foundation/core/blob/39ad2a2ea8e7228840f55990bb16369af26c8781/service/error.go#L65-L69
( 2 differents keys)
Versus
type NotFoundError struct {
	Type      notFound
	ServiceID string
	Key       string
}

no worries, we have a support for that in the update version. do you like following approach?
package service

import "fmt"

const (
	EventNotFound notFound = iota + 1
	TaskNotFound
	TaskInputNotFound
	TaskOutputNotFound
)

type notFound int

type NotFoundError struct {
	Type          notFound
	ServiceName   string
	EventKey      string
	TaskKey       string
	TaskInputKey  string
	TaskOutputKey string
}

func (e NotFoundError) Error() string {
	p := fmt.Sprintf

	switch e.Type {
	case EventNotFound:
		return p("Event %q not found in service %q", e.EventKey, e.ServiceName)

	case TaskNotFound:
		return p("Task %q not found in service %q", e.TaskKey, e.ServiceName)

	case TaskInputNotFound:
		return p("Input %q of task %q not found in service %q", e.TaskInputKey, e.TaskKey, e.ServiceName)

	case TaskOutputNotFound:
		return p("Output %q of task %q not found in service %q", e.TaskOutputKey, e.TaskKey, e.ServiceName)
	}

	return ""
}

const (
	InvalidTaskInput invalidData = iota + 1
	InvalidTaskOutput
	InvalidEventData
)

type invalidData int

type InvalidDataError struct {
	Type          invalidData
	Warnings      []*ParameterWarning
	EventKey      string
	TaskKey       string
	TaskOutputKey string
}

func (e InvalidDataError) Error() string {
	var (
		p = fmt.Sprintf
		s string
	)

	switch e.Type {
	case InvalidTaskInput:
		s = p("Inputs of task %q are invalid", e.TaskKey)

	case InvalidTaskOutput:
		s = p("Outputs %q of task %q are invalid", e.TaskOutputKey, e.TaskKey)

	case InvalidEventData:
		s = p("Data of event %q is invalid", e.EventKey)
	}

	for _, warning := range e.Warnings {
		s = p("%s. %s", s, warning)
	}

	return s
}

we had a further discussion about this on Discord. we decided to go with creating special error types for each.
as a future note if we face something like this again, my argument about this was:
using a generic error type can save us from doing multiple type assertions from error type. and these generic errors not that generic, they wraps the errors that are in same contexts.


Core: Warning on the client when the user is logged out

When the Datagork instance is updated (and possibly in some other occasions?), but the client remains opened in the user's browser, a situation occurs such that the client continues to operate with Datagrok in the opened tab (for example, returning to this tab on his working computer after a weekend).
In this case, after the first action in the UI, the user is shown that he's signed out from Datagrok and is brought to the log in screen. There is no way for the user to know this before he starts to actions in the client. This is a hinder for the user, as he may loose the current working session with data, and be misled and interrupted at presentations.

This issue has been mirrored in Jira: https://reddata.atlassian.net/browse/GROK-14801

This issue has been mirrored in Jira: https://reddata.atlassian.net/browse/GROK-16060


Other Game Support

I have been maintaining a personal fork to allow me to use this leaderboard plugin for all my streams, even if the game is not ACC (and also address some short comings). https://github.com/LukasLichten/KLPlugins.DynLeaderboards/tree/generalized
However it is currently not in a state of being turned into a PR:

Still uses depracted SimHub Opponent data
Unrelated features such as a work around flag for ACC driverswap (so the plugin stays connected if simhub sets the game to stopped), and other things I probably forgot about
All drivers are treated as pro and as unknown class (which inherits the GT3 styling)
Branch is 37 commits behind
Some of my commits undo and redo changes due to refactoring work done by you over time (the commits might say 3 weeks ago, this is because of a rebase, we are talking about years here in actuality)
Adheres to code conventions as well as a teenager to curfew

Before I rebase and or rebuild (potentially into multiple PRs) this I wanted to ask.
Firstly if I should do this at all.
But then in terms of design especially how and if other game multiclass should be handled, as it would require in the UI the ability to add more classes, perhaps require defining car names that would be put into the class (for AC for example), but especially the car classes could no longer be handled by an Enum.
Currently the other game support is run by in large parts emulating the way the websocket messages would be reencoded into classes like RealtimeUpdate (but instead using another constructor that takes the simhub data to construct it) using the ProcessViaSimHub function in Values.
For the other things that can be turned into other PRs:

ACC driver swap work around:

SimHub thinks the game is no longer "running" if you are not actively driving. While you can swap SimHub to spectator mode, to remember to swap this back prior to the driver swap is difficult and cumbersome (also causes all plugins to reload)
So, if the game is ACC, and our websocket is not already connected, and SimHub doesn't think ACC is running, then check the Windows API to see if we can find the process running, if it is try connect (if it fails we retry after a bit)
That win api poll is slow (5ms), but because it only triggers when the game truely isn't running we don't need to worry about causing SimHub to drop updates
Obviously data like session time or session time are not updated, we do have these values from the websocket, so could add them as propertys (I did a hack workaround for Session Time Remaining)

Apparently I added at some point actions that swap the leaderboard into specfic modes (instead of having only cycle actions)
Some fixes for Values going out of bounds (like my most recent commit to make a workaround for GT2)

Before I rebase and or rebuild (potentially into multiple PRs) this I wanted to ask. Firstly if I should do this at all.

I would be happy to accept PRs that implement multi game support.

But then in terms of design especially how and if other game multiclass should be handled, as it would require in the UI the ability to add more classes, perhaps require defining car names that would be put into the class (for AC for example), but especially the car classes could no longer be handled by an Enum.

I suppose we could use a dict to map between car and class and other properties, shouldn't be too much of an issue. Then we could use some kind of data files that define the mapping, say car name,pretty name,manufacturer,class name.
We'd provide some definitions from the plugin side and then accept another file where the user can add it's own definitions and overrides if needed.
I think a simple config file would suffice for start. UI option could always be added later.
We would also need to add a way to generate lap data for proper gap calculation on the fly (well I was thinking of adding this anyway).

Currently the other game support is run by in large parts emulating the way the websocket messages would be reencoded into classes like RealtimeUpdate (but instead using another constructor that takes the simhub data to construct it) using the ProcessViaSimHub function in Values.

How well does this approach work? Are there any weird edge cases? The logic is based on how ACC handles things and I suppose other games could have major differences there.
Also what games have you used it with?

For the other things that can be turned into other PRs:

ACC driver swap work around:

SimHub thinks the game is no longer "running" if you are not actively driving. While you can swap SimHub to spectator mode, to remember to swap this back prior to the driver swap is difficult and cumbersome (also causes all plugins to reload)

So, if the game is ACC, and our websocket is not already connected, and SimHub doesn't think ACC is running, then check the Windows API to see if we can find the process running, if it is try connect (if it fails we retry after a bit)
That win api poll is slow (5ms), but because it only triggers when the game truely isn't running we don't need to worry about causing SimHub to drop updates
Obviously data like session time or session time are not updated, we do have these values from the websocket, so could add them as propertys (I did a hack workaround for Session Time Remaining)

Apparently I added at some point actions that swap the leaderboard into specfic modes (instead of having only cycle actions)

Some fixes for Values going out of bounds (like my most recent commit to make a workaround for GT2)

I think all of these are nice improvements and any of them would be welcome as a PR.