Core occasionally cannot be downloaded from China

We've had several reports from users in China who sometimes cannot download Realm's core.
Realm hosts its core binaries in an AWS S3 bucket, available through Cloudflare via our static.realm.io domain. You're affected by this issue if those services are operational, you have a good internet connection, you're in mainland China and you're still getting the following error: Downloading core failed. Please try again once you have an Internet connection..
We're working with Cloudflare to improve our availability in China and will update this issue when we have more to announce.
In the meantime, please use a VPN or a prebuilt version of Realm available through our GitHub releases: https://github.com/realm/realm-cocoa/releases.
Thanks for your patience.

Please note that through a change to the error handling of CURL in our build.sh script, this errors appears lately with the output as seen below:
[!] /bin/bash -c
set -e
sh build.sh cocoapods-setup

core is not a symlink. Deleting...
Downloading dependency: core 0.96.1
Downloading core failed:
curl: (56) SSLRead() return error -9806

Whenever the first download via CocoaPods has failed, the cache could be in a corrupt state. It might help in such cases to remove Realm from the CocoaPods cache, what can be achieved by running the following command:
rm -rf ~/Library/Caches/CocoaPods/Pods/**/Realm*

In addition, the integration in the project should be reset.
rm -rf /Pods

After that and ensuring that you've a working internet connection without restrictions, you can run the following:
pod install --verbose

I am in china and has the same problem when I use VPN. The core realm package is 63MB, that is so big and the VPN is hard to download it. By looking the build.sh of realm, it use getconf DARWIN_USER_TEMP_DIR1 to get the tmp direction and check the $TMPDIR, if it has the core-${REALM_CORE_VERSION}.tar.bz2. So I download the https://static.realm.io/downloads/core/realm-core-0.97.1.tar.bz2 by VPN and move it to $TMPDIR, then you can pod install.
1.cd getconf DARWIN_USER_TEMP_DIR
2.curl https://static.realm.io/downloads/core/realm-core-0.97.1.tar.bz2 -o realm-core-0.97.1.tar.bz2
3.cd /home/yourProjectDir/
4.pod install --verbose

@madawei2699 says the correct answer. Ian also a developer in China.The solution is download realm-core-XXX.tar.bz2 and copy it into /tmp/ dir. So I suggested the maintainer to list the download url of each realm version.

Wish you fix this issue ASAP. Too many developer in China work without VPN.

@Onetaway You can find the download url in
https://github.com/realm/realm-cocoa/blob/master/build.sh#L289
which is the value of CORE_URL

It's stop  when  "Downloading dependency: core 0.100.4".I  tried  these  methods  that mentioned above.

After Realm 2.0.x you'd want to download realm-sync-cocoa-${REALM_SYNC_VERSION}.tar.xz from https://static.realm.io/downloads/sync/realm-sync-cocoa-${REALM_SYNC_VERSION}.tar.xz, where REALM_SYNC_VERSION can be found at https://github.com/realm/realm-cocoa/blob/master/dependencies.list#L3 (currently 1.0.0-BETA-3.3).

This is ridiculous, if the developers from China needs to download the zipped file to local temp directory to let cocoapods to detect it, why not just download the dylib/static framework and add the dependency to project manually directly?
All the pods just pass except the realm-cocoa for command pod install, cocoapods brings the conveniences for developers to manage the 3rd-party packages and easy integration way. If the realm team won't support it, the China developer should switch to manual way w/o any hesitation to use it.
BTW, that would be so nice to writing a note/tips in README.md file in github and realm.io/docs, since this issue has blocked so many developers. @realm-admin
BTW, I'm a developer from China. Many thanks for your great job!

I have the same problem even I use VPN and I solved it by downloading the dependence manually. In conclusion, you should download realm-core-XXX.tar.xz and realm-sync-cocoa-${REALM_SYNC_VERSION}.tar.xz, then put them into $TMPDIR/core/ and $TMPDIR/sync respectively.

I am not in China, and I am having lots of trouble installing realm. Here is the relevant bit from the "pod  install verbose" output:
-> Installing Realm (2.1.1)

Git download
Git download
$ /usr/local/bin/git clone https://github.com/realm/realm-cocoa.git /var/folders/w4/x6y651ks4zq9jx00gbth2wd5hlmvrr/T/d20161219-5097-12umqi0
--template= --single-branch --depth 1 --branch v2.1.1
Cloning into '/var/folders/w4/x6y651ks4zq9jx00gbth2wd5hlmvrr/T/d20161219-5097-12umqi0'...
Note: checking out 'a6f8e282bdf9d44de635e44b3f8967addbdfd2c9'.

 You are in 'detached HEAD' state. You can look around, make experimental
 changes and commit them, and you can discard any commits you make in this
 state without impacting any branches by performing another checkout.

 If you want to create a new branch to retain commits you create, you may
 do so (now or later) by using -b with the checkout command again. Example:

   git checkout -b <new-branch-name>

 Checking out files: 100% (1101/1101), done.
 $ /usr/local/bin/git -C /var/folders/w4/x6y651ks4zq9jx00gbth2wd5hlmvrr/T/d20161219-5097-12umqi0 submodule update --init --recursive
 Submodule 'Realm/ObjectStore' (https://github.com/realm/realm-object-store.git) registered for path 'Realm/ObjectStore'
 Cloning into '/private/var/folders/w4/x6y651ks4zq9jx00gbth2wd5hlmvrr/T/d20161219-5097-12umqi0/Realm/ObjectStore'...
 Submodule path 'Realm/ObjectStore': checked out 'bedfafd264ffe823a633cac582036ca31be69793'
 Submodule 'external/catch' (https://github.com/philsquared/Catch) registered for path 'Realm/ObjectStore/external/catch'
 Submodule 'external/pegtl' (https://github.com/ColinH/PEGTL) registered for path 'Realm/ObjectStore/external/pegtl'
 Cloning into '/private/var/folders/w4/x6y651ks4zq9jx00gbth2wd5hlmvrr/T/d20161219-5097-12umqi0/Realm/ObjectStore/external/catch'...
 Cloning into '/private/var/folders/w4/x6y651ks4zq9jx00gbth2wd5hlmvrr/T/d20161219-5097-12umqi0/Realm/ObjectStore/external/pegtl'...
 Submodule path 'Realm/ObjectStore/external/catch': checked out 'f294c9847272b1b92c5119a6f711e57113b5f231'
 Submodule path 'Realm/ObjectStore/external/pegtl': checked out '3c4128a7e7e1288eb746418ea60c41477358f26a'

Running prepare command
$ /bin/bash -c  set -e sh build.sh cocoapods-setup
[!] /bin/bash -c
set -e
sh build.sh cocoapods-setup

wtf is going on??

@danat8x8 what's wrong with the installation? The log output you shared doesn't seem to indicate a failure of any kind...
If by your own admission your issue is unrelated to what this issue is tracking, why not open a new issue, taking care to fill out the new issue template, and include the full output of pod install --verbose? Thanks!

apologies, I was typing before thinking. there is an error when it tries to install Realm, that I can't resolve. I'll open another issue.

I am in china and has the same problem when I use VPN..Place tell me how to host success
     Submodule path 'Realm/ObjectStore/external/catch': checked out 'ce37f48ffad2401e6c23a54cae3f015c01fdc200'
     Submodule path 'Realm/ObjectStore/external/pegtl': checked out '3c4128a7e7e1288eb746418ea60c41477358f26a'
 > Running prepare command
   $ /bin/bash -c  set -e sh build.sh cocoapods-setup
   core is not a symlink. Deleting...
   Downloading dependency: sync 1.10.0

[!] /bin/bash -c
set -e
sh build.sh cocoapods-setup

core is not a symlink. Deleting...
Downloading dependency: sync 1.10.0
Downloading sync failed:

I am facing this problem today, the @madawei2699 is right.
In addition:
for RealmSiwft 2.10.0 source path:
https://static.realm.io/downloads/sync/realm-sync-cocoa-1.10.8.tar.xz
and then pull the file into /tmp/dir, pod install again is OK.

The speed almost drives me mad, I don't understand my previous colleague choose this database, but he already leave the company, just because this database can cause a lot of trouble?

@kimown
you should download the blew two files:
cocoa:
https://static.realm.io/downloads/sync/realm-sync-cocoa-1.10.8.tar.xz
core:
https://static.realm.io/downloads/core/realm-core-2.8.1.tar.xz
and put them into  $TMPDIR/sync & $TMPDIR/core/ separately. So, it can save your a lot of time.

It's only necessary to download the former file. The latter is not used.

Realm is the best DB library i found for iOS. I love, but i live in Cuba, and cloudflare (realm.io) is making me going crazy every time i need install them. Using Speedify (a really good and speedy VPN) i will take 2 or 3 ours to achieve this task. Please do something, move the core to a domain that don´t block countries. Realm is the unique library in the world giving problems when installed with CocoaPods. Help please !

@wonder2011 have you tried migrating to SPM, which will only download code from GitHub and will not require to download core's monorepo from "https://static.realm.io/downloads"


IDL: Generation fails if struct is not from the same program.

If we have 2 programs one of them has a account T:
Program1:
pub struct T{
pub seeds: String
}

And in the second program for the context if I try to do something like:
Program2:
use program1::struct::T;

pub struct Accounts{
#[account(
        seeds = [account_t.seeds.as_bytes()],
        bump ,
        seeds::program = program1::ID,
    )]
  pub account_t: Account<T>
}

Fails as an option is unwrapped:
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', lang/syn/src/idl/pda.rs:225:37

Hey @SushantChandla, thanks for raising the issue
I am not able to reproduce this error on my local. Can you please check if you have enabled the seeds flag under features in Anchor.toml. Also when adding the program from which the struct is imported in your Cargo.toml, have you added the no-entrypoint feature to the program?
If the problem still persists, please share the Anchor.toml and Cargo.toml files of the program here. I am using anchor v0.28.0 on my local for context if you are on some other version.

Hey @SushantChandla, thanks for raising the issue
I was not able to reproduce this issue on my local. Can you please post the Anchor.toml and Cargo.toml configurations here? Also would be helpful if you could upload a complete piece of code on which this issue is easily reproducable.I am using Anchor v.28.0 on my programs just for context.

Fixed in https://github.com/coral-xyz/anchor/pull/2824.


Add ability to save plot as PNG to StlPlotter

Calling StlPlotter#plot causes Travis CI to fail because X11 is not set up. PlotTest has been disabled for now to allow CI to pass, but we should add the ability to save plot as PNG as opposed to rendering on screen, so we can continue to exercise code path.

Sorry for the delay, I'll take care of this in the tests. @brandtg

No worries, thanks again for your help


GetTypeLink fails for tuples

I think there needs to be a special case. Once it gets into the if (typeArguments?.Count > 0) branch this succeeds, but then it fails with a "count can't be negative" error because the display name is something like (string Left, string Center, string Separator, string Right) after looking for the < and > in the type name rather than Tuple<string, string, string, string>

Great find - it wouldn't surprise me if there were other tuple problems as well given the slightly unusual syntax. I'll need to go through and audit this stuff for the newer language constructs since it was ported from Wyam and predates some of it.

Also, I think you should get some sort of prize or something for issue #1.

Going to move this to Statiq Docs since this functionality is provided there and not in the theme


Cannot run minist  example on a single system

I have attached the error. As suggested by @RadhakrishnaJ i tried to running APLS, Spire Server, Sentinel node in a single system and wanted to attach two other system later.
When i run the Sentinel node  i get this error

Sorry that was the wrong screen shot Please find the error below

I have tried it on multiple systems but i get the same error.
The spire server is shown below

There a a small mistake which i did i dint add the get token in the command
But this dint solve the issue, when i was running the sl-node in the same system i get this error.
Can i get the solution or in which direction i should work forward? @RadhakrishnaJ @sathya-SL

We could able to see 2 issues with the commands.

run-sn missing parameter -genJoinToken
run-sl has sn-fs-port instead of sl-fs-port

SPIRE and APLS and License should be setup before these commands.
Following is the info to confirm successful SN initialization.
swarm.blCnt : INFO : Starting SWARM-API-SERVER on port :30304 (As provided)
This message does not come if APLS or SPIRE is not running correctly.
If issue still exists, please provide docker logs of APLS, SPIRE server, SN. If problem exists at SL, additionally provide SL docker log as well.

This was the error which i was getting. Now i do not have that problem.
Now i have the sl-1 running. But when i am trying to run the sl-2 in the other system i am having the problem.
The first image is the full screen of my host system which i am running my APLS, SPIFFE, and SN1 and sl-1

The error which i am getting in the second and third system.

The command i used to start the sn-node is:
bash ./swarm-learning/bin/run-sn      --name=sn-1                  --host-ip=<IP_ADDRESS>         --sentinel-ip=<IP_ADDRESS>     --sn-p2p-port=10000          --sn-api-port=11000          --sn-fs-port=12000           --apls-ip <IP_ADDRESS>          -serverAddress <IP_ADDRESS> -genJoinToken
The command i used to run sl-1 node is:
bash ./swarm-learning/bin/run-sl      --name=sl-1 --sl-platform=PYT    --host-ip=<IP_ADDRESS>         --sn-ip=<IP_ADDRESS>  --sn-api-port=11000          --sl-fs-port=16000  --data-dir=examples/mnist/app-data  --model-dir=examples/mnist/model  --model-program=mnist_pyt.py  --gpu=0        --apls-ip <IP_ADDRESS>          -serverAddress <IP_ADDRESS> -genJoinToken
The command i used for sl-2 node in the second system is:

@RadhakrishnaJ is this the problem of the port number because the error is saying port22: connection refused. I have not given port 22

I don't see anything Swarm setup related here. This seems to be your local permissions issue.  Your machines should accessible from one other.
Make sure following.

Get access to Docker group in all the machines.
Set up password less SSH connection.

Thank you @RadhakrishnaJ  for the information. Can you please guide me to a link where can check how to get access to docker group in all machine and set up passwordless SSH connection? I am new to the field so it would be really helpful.

Thank you @RadhakrishnaJ for the information. Can you please guide me to a link where can check how to get access to docker group in all machine and set up passwordless SSH connection? I am new to the field so it would be really helpful.

We don't have any recommended instructions here.
Refer FAQ on docker group docker group
You can browse for "setup password less ssh" and try whatever works for you.

Thanks for the information the issue is solved after
Get access to Docker group in all the machines.
Set up password less SSH connection.


add aiodns

once aiodns is installed, this is automatically used by aiohttp, so nothing to do here


Removes hethers since it is deprecated

Description:
This pull request involves the elimination of hethers' usages throughout the codebase.
Related issue(s):
Fixes #1524
Checklist

[x] Tested (unit, integration, etc.)

Codecov Report
Patch coverage: 60.00% and project coverage change: +0.22% :tada:

Comparison is base (036deb1) 78.02% compared to head (f50e03b) 78.24%.

:exclamation: Current head f50e03b differs from pull request most recent head 076a10d. Consider uploading reports for the commit 076a10d to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1559      +/-   ##
==========================================
+ Coverage   78.02%   78.24%   +0.22%
==========================================
  Files          32       32
  Lines        2621     2625       +4
  Branches      541      544       +3
==========================================
+ Hits         2045     2054       +9
+ Misses        410      405       -5
  Partials      166      166

Files Changed
Coverage Δ

packages/relay/src/lib/eth.ts
85.29% <50.00%> (+0.42%)
:arrow_up:

packages/relay/src/lib/clients/mirrorNodeClient.ts
89.48% <100.00%> (ø)

... and 1 file with indirect coverage changes

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


how can i use static file, it always throws error

Why it is wrong at the code background: url(../static/img/login_bg.png) ?

try with url(/img/login_bg.png)
the static folder is publish at root on run serve.

It is wrong too.

Sorry,this static file is type of .jpg, not .png.This is why i got a 404 error.


Docs: update torch export docs with modern canonical usage

move torch.compile support to an advanced/experimental feature category
Show canonical "two liner" of how to compile with separate weights and save to a safetensors file
Include iree-run-module example
Remove any examples that include jittable
Show both external and inlined parameter examples

See: https://discourse.llvm.org/t/how-to-separate-the-body-and-dialect-resources-from-a-module-in-torch-mlir-and-how-to-reload-it/81338/2?u=stellaraccident

Did you mean torchscript.compile @stellaraccident in your comment?

Referring to torch.compile here: https://iree.dev/guides/ml-frameworks/pytorch/#just-in-time-jit-execution
It is really just experimental right now and needs to be called out as such.

@stellaraccident just to be sure, I and @kumardeepakamd looked into this, and we had some questions.
We are not clear on where the experimental package is supposed to live: In turbine, or in pytorch itself?
Once we have accomplished that, do we simply ensure that https://iree.dev/guides/ml-frameworks/pytorch/#just-in-time-jit-execution has instructions that work and use the experimental package?

move torch.compile support to an advanced/experimental feature category : shark_turbine.aot to shark_turbine.experimental.aot?

My interpretation is that this focuses just on the documentation for the code as it already exists. Separately we should do the work to make the code more stable. (Also please someone pick up https://github.com/iree-org/iree-turbine/issues/28 - we shouldn't be using the shark_turbine namespace this many months later)

So, https://github.com/iree-org/iree-turbine/blob/main/iree/turbine/init.py still seems to use shark_turbine? Is someone working on changing that iree_turbine? or should we take care of that?

@vinayakdsci @kumardeepakamd
Another user having an issue with jittable. Can you please respond to them.
https://discourse.llvm.org/t/jittable-error-of-iree-turbine/81457/2?u=stellaraccident

https://github.com/iree-org/iree/tree/main/samples/dynamic_shapes is still using @aot.jittable


Introduce Json Type to Restrict Presence Type to JSON Serializable Types

What this PR does / why we need it?
This PR introduces a more restrictive type for the presence object P. Previously, the type <P extends Indexable> allowed any type as a value, since Indexable was defined as Record<string, any>. This broad type allowed values that are not JSON serializable, such as byte arrays, Date, and Long, which could cause issues during serialization.
To address this, we now restrict the type of P to only allow JSON serializable types. This ensures that the presence object contains values that can be safely serialized to JSON.
Any background context you want to provide?
The Json type introduced in this PR is based on a similar approach used by Liveblocks. Here’s the definition of the Json type:
export type Json = JsonScalar | JsonArray | JsonObject;

// eslint-disable-next-line @typescript-eslint/ban-types
type JsonScalar = string | number | boolean | null;
type JsonArray = Array<Json>;
type JsonObject = { [key: string]: Json | undefined };

With the introduction of the Json type, we now enforce that only JSON serializable payloads can be broadcast, addressing issues like #884 . For instance, the broadcast function has been updated as follows:
  /**
   * `broadcast` the payload to the given topic.
   */
  public broadcast(topic: string, payload: Json, error?: ErrorFn) {
  }

What are the relevant tickets?

Fixes #591
Checklist

[x] Added relevant tests or not required
[x] Didn't break anything

Summary by CodeRabbit

New Features

Enhanced type safety for payloads in broadcasting methods by changing from any to a specific Json type.
Introduced a centralized Json type definition for better consistency across the codebase.

Bug Fixes

Improved type checks in various methods to prevent runtime errors related to type mismatches.

Documentation

Added comments in test files to clarify the intent of suppressing TypeScript type checks during testing.

Chores

Updated utility functions to accept a broader range of objects while ensuring type integrity.

There's an issue with Presence type in one of examples, tldraw. I'll reopen the PR when ready.

@chacha912
Since the Indexable type has been changed to Record<string, Json>, type issues have surfaced in some examples, in react-tldraw and vanilla-quill.
1. react-tldraw
In react-tldraw, we use YorkiePresenceType for Presence, which is defined as follows:
export type YorkiePresenceType = {
  tdUser: TDUser;
};

However, TDUser from @tldraw/tldraw is not compatible with our Json type. However, since TDUser is an imported type and not something we can directly control, I've decided to force the compatibility with our Indexable type by declaring tldraw.d.ts.
2. vanilla-quill
Simillarly In vanilla-quil, the Presence type was previously defined as:
export type YorkiePresence = {
  // before
  selection: TextPosStructRange | undefined;

  // after
  selection?: TextPosStructRange
};

However, undefined is not serializable and thus is not compatible with the Json type. (still figuring out the reason, possibly one of its fields includes undefined...) To resolve this, I've changed selection to be optional (?). While this fixes the TypeScript type issues, it could potentially introduce issues in the actual implementation since the undefined value may still be present in some parts of the code.
Additionally, I encountered a type issue in src/main.ts within the toDeltaOperation function. Previously, Json.parse was being called on a Json type, which caused errors. I removed this part, and while the TypeScript errors have been resolved, we need confirmation that this change is correct and won't lead to issues.
Here’s the updated toDeltaOperation function:
function toDeltaOperation<T extends TextValueType>(
   const { embed, ...restAttributes } = textValue.attributes ?? {};
    if (embed) {
      return { insert: embed, attributes: restAttributes };
    }
}

Above changes are all included in the latest commit; please check if it okay :)


Show nice error for old npm versions

Old versions of npm do not support the --json flag in npm config list --json, which is currently expected.

LGTM


CLIMATE-864 - Disable podaac until dataset_loader and data_source are fixed

dataset_loader does not load podaac modules.

Merged build triggered. Test Failed.

@huikyole Did you install podaacpy?
conda install -c agoodman podaacpy

-or-
pip install podaacpy

I am unable to reproduce your problem.

@agoodm This one's real problem is breaking all examples in VM image. I am testing using the VM image that is downloadable from RCMES website.

@huikyole Thanks for clarifying. Just to reiterate what I mentioned to you earlier so others can see, we can make two approaches to prevent problems like this one from happening in the future:

Set the VM to install ocw through conda and the RCMES CLI tools separately
Instead of pulling the latest code from master, set the auto-update script to pull the latest tagged release. This can be done via:

git fetch --tags
git checkout $(git describe --tags `git rev-list --tags --max-count=1`)

I think either approach will work.


ISPN-16076 Convert RadarGun test to Hyperfoil

This PR is the initial setup for the read-write test in RadarGun. We only need a single template file. We can then split the read/write ratio and create the actual benchmark based on those values. By default, it runs 80% reads and 20% writes.
Pending points:

The use_auth doesn't seem to propagate when running with the all_benchmarks playbook;
The load_multiplier value is still a placeholder until we find the actual limit in the server (https://issues.redhat.com/browse/ISPN-16077).

I am creating it as a draft until we have everything round.

To reproduce the issue in AWS, just run the benchmarks as is with this load and the default with auth enabled. The test runs for 4 mins. The generated report should end with a weird result:

And some errors complaining of CPU utilization.

I'll be updating this with our current findings. We'll utilize a max_active with a value of 2 in all Hot Rod tests.

I'll investigate until we have concrete baseline numbers with this new configuration. I'll keep the base t2.micro instances for this. We have tests for DIST and REPL with 3 server nodes.

Integrated, thanks @jabolina !


Missing option when installed with homebrew

homebrew package installed doesn't have -f option.
Yet it shows that it installed the version git-standup/2.1.8
Installing it with curl fixed the problem.

Same problem with yarn/npm install.
-f is not among the valid flag

Looks like I forgot to publish them properly. Will do, thanks for reporting.

Confirmed this is solved with the latest homebrew package version.

Thanks @TheKevJames


Special-case let%cd _ = ... to not modify (forward, backward) roots

The construct is meant for providing shape constraints. While currently it would work if put after the final tensor of interest, e.g. loss, that would stop working once we have rootness sanitization (in progress as checks in Train functions).

Initially I suggested let%op _ =, but it should be let%cd _ = because to force a shape often requires putting the tensor on the LHS, to prevent broadcasting.
For example:
  let ri = TDSL.range 3 in
  let%op ti = ri ++ "i=>i0" in
  ...
  let%cd _ = ti =: 0 ++"i=>i2" in
  ...

will force the shape, but replaced by: let%op _ = ti ++"i2=>0" in ... would not change the shape of ti because ti would get broadcasted in the last axis.


Duplicate chapter after updating library

Steps to reproduce

Go to update section
Scroll down to update
Wait
Only latest chapter update will be shown

Expected behavior
Only latest update will be shown
Actual behavior

The chapter I've read in the past got updated too (1st SS) and it got duplicated (2nd SS)
And the duplicated ones are considered as new entry, so I need to manually mark them as read so I won't miss which chapter I've read (3rd SS)
LNReader version
1.1.18
Android version
Android 13
Device
Tecno POVA 5
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] If this is an issue with a source, I should be opening an issue in the sources repository.
[X] I have updated the app to version 1.1.18.
[X] I will fill out all of the requested information in this form.

If this is an issue with a source, I should be opening an issue in the sources repository.


Reacting to verbose rename

Reacting to https://github.com/aspnet/Logging/pull/314.
Tested locally.

Hi @JunTaoLuo, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

cc @natemcmaster can you tag anyone else who may be interested in this change from EF?

:shipit:

merged to dev in https://github.com/aspnet/EntityFramework/commit/083fc56455bfd7fb919f30c284cab272b1272c2e


Unclear definition

I think it's not 100% clear, if this property should be set on implicit or explicit style. Could you provide us some example?
Thanks

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

ID: 0ab26fc4-1df0-a929-0d73-b3f61281c083
Version Independent ID: d6ae5327-289a-5a40-0c07-99a38753b84e
Content: Style.CanCascade Property (Xamarin.Forms)
Content Source: docs/Xamarin.Forms/Style.xml
Product: xamarin
Technology: xamarin-forms
GitHub Login: @dotnet-bot
Microsoft Alias: dotnetcontent

i wonder the same thing.

According to this:
https://github.com/xamarin/Xamarin.Forms-api-docs/issues/39
CanCascade should be applied to explicit style.

Microsoft support for Xamarin will end on May 1, 2024 for all Xamarin SDKs including Xamarin.Forms. In preparation for this, all issues and PRs in this repository are being closed.
.NET MAUI is the replacement for Xamarin.Forms, and its API docs are built from /// in the dotnet/maui repository. Therefore, any issues with the .NET MAUI API docs should be opened in that repository.


Starting from defaults gives no transitions, no dot indicators, just a very basic xp

Basically, starting from the current settings renders quite differently to other decks seen out in te wild - when I look at them they don't seem to do anything special, yet they

have transitions
have dots on the bottom indicating the slide count

I tried to add transitions myself based on the react-pose sample for reach-router, but they die with the issue that the slides have no "key" prop set up.
So...what happened? Does the latest version not have those goodies anymore or what am I doing wrong?

v2 now uses Reach Router. I haven't looked into adding transitions with React Pose but it should be possible. The dot indicator was also removed but you can add your own using a custom Provider component


filtered out the noisy Invalid Trace log messages

PR description
Added a filter for the"Invalid TraceId in B3 header" log
Fixed Issue(s)
Fixes #6440
Thanks for sending a pull request! Have you done the following?

[ ] Checked out our contribution guidelines?
[ ] Considered documentation and added the doc-change-required label to this PR if updates are required.
[ ] Considered the changelog and included an update if required.
[ ] For database changes (e.g. KeyValueSegmentIdentifier) considered compatibility and performed forwards and backwards compatibility tests

Locally, you can run these tests to catch failures early:

[ ] unit tests: ./gradlew build
[ ] acceptance tests: ./gradlew acceptanceTest
[ ] integration tests: ./gradlew integrationTest
[ ] reference tests: ./gradlew ethereum:referenceTests:referenceTests

Node where I added this config after a short time - number stays same
sallymacfarlane@dev-elc-besu-teku-sepolia-dev-sally-control:~$ grep -c B3Prop /var/log/besu/besu.log
27
sallymacfarlane@dev-elc-besu-teku-sepolia-dev-sally-control:~$ grep -c B3Prop /var/log/besu/besu.log
27
sallymacfarlane@dev-elc-besu-teku-sepolia-dev-sally-control:~$ grep -c B3Prop /var/log/besu/besu.log
27
sallymacfarlane@dev-elc-besu-teku-sepolia-dev-sally-control:~$ grep -c B3Prop /var/log/besu/besu.log
27
sallymacfarlane@dev-elc-besu-teku-sepolia-dev-sally-control:~$ grep -c B3Prop /var/log/besu/besu.log
27
sallymacfarlane@dev-elc-besu-teku-sepolia-dev-sally-control:~$ grep -c B3Prop /var/log/besu/besu.log
27

Node without this config - number go up

sallymacfarlane@dev-elc-besu-teku-sepolia-dev-sally-test-6823:~$ grep -c B3Prop /var/log/besu/besu.log
961
sallymacfarlane@dev-elc-besu-teku-sepolia-dev-sally-test-6823:~$ grep -c B3Prop /var/log/besu/besu.log
962
sallymacfarlane@dev-elc-besu-teku-sepolia-dev-sally-test-6823:~$ grep -c B3Prop /var/log/besu/besu.log
964
sallymacfarlane@dev-elc-besu-teku-sepolia-dev-sally-test-6823:~$ grep -c B3Prop /var/log/besu/besu.log
1313

should the log be at TRACE level in the code?

should the log be at TRACE level in the code?

I did the same as we've done for noisy DNS messages etc. if you want to see the logs you can just take this out of your log4j config


Improving Haskell's Statistical Story

Random Fu
MWC Random

Bernoulli
bernoulli

Beta
beta

Binomial

Categorical
categorical

ChiSquare
chiSquare

Dirichlet
dirichlet

Exponential
exponential

StretchedExponential

truncatedExp

geometric

Gamma
gamma

Multinomial

Normal
normal

Pareto

Poisson

Rayleigh

Simplex

T

Triangular

Uniform

Weibull

Ziggurat

With random and the distributions in mwc-random and random-fu we can come up with something better and even comparable to what is available in R. The table above shows the samplers that are available. In R one also has the CDFs, PDFs and PMFs. I have tried to include this in random-fu. Conceivably, we could split off the distributions from mwc-random and the the CDFs etc from random-fu and statistics and create a new R-like package. I've also started comparing various implementations so for example
{-# LANGUAGE ImportQualifiedPost #-}

{-# OPTIONS_GHC -Wall -Wno-type-defaults #-}

import Data.Random qualified as RF
import Data.Random.Distribution.Binomial qualified as RF
import System.Random.MWC.Distributions qualified as MWC
import System.Random.Stateful (mkStdGen, newIOGenM)
import Criterion.Main
  ( Benchmark,
    bench,
    defaultConfig,
    defaultMainWith,
    nfIO,
  )
import Criterion.Types (Config (csvFile, rawDataFile))
import Control.Monad (liftM, replicateM)

binomialFu :: IO Int
binomialFu = do g <- newIOGenM (mkStdGen 1729)
                x <- liftM sum $ replicateM 1000 $ RF.runRVar (RF.binomial 1400 (0.4 :: Double)) g
                return x

binomialMwc :: IO Int
binomialMwc = do g <- newIOGenM (mkStdGen 1729)
                 x <- liftM sum $ replicateM 1000 $ MWC.binomial 1400 0.4 g
                 return x

normalSamplesCSV :: FilePath
normalSamplesCSV = "normal-samples.csv"

rawDAT :: FilePath
rawDAT = "raw.dat"

normalBenchmarks :: [Benchmark]
normalBenchmarks = [ bench "Binomial fu" $ nfIO binomialFu
                   , bench "Binomial mwc" $ nfIO binomialMwc
                   ]

main :: IO ()
main = do
  let configNormal = defaultConfig {csvFile = Just normalSamplesCSV, rawDataFile = Just rawDAT}
  defaultMainWith configNormal normalBenchmarks

which gives
benchmarking Binomial fu
time                 5.706 ms   (5.680 ms .. 5.730 ms)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 5.746 ms   (5.739 ms .. 5.762 ms)
std dev              28.68 μs   (13.47 μs .. 58.35 μs)

benchmarking Binomial mwc
time                 268.7 μs   (267.9 μs .. 269.9 μs)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 267.7 μs   (267.3 μs .. 268.5 μs)
std dev              1.852 μs   (1.069 μs .. 3.189 μs)

So we know the new binomial sampler in mwc-random is better (CAVEAT: for one given set of parameters) by about x20 (and that is without "squeezing").

@Shimuuar I think this would be better as a discussion rather than an issue. I think you as admin for the repo on GitHub have to do something: https://docs.github.com/en/discussions/quickstart

Yes new package could be useful. It would give chance to rethink API. statistics take on distribution I think isn't very successful
Discussions could be nice but I don't have admin rights, only commit rights


question: project status?

ideep contains an ancient copy of mkl-dnn (0.x version), while the latest verson is onednn (1.X, or 2.Xbeta). What's the status of this project? and do you have plan to upgrade the embedded copy of onednn?
I'm asking this because I'm preparing packages for official Debian archive, and I don't want to deal with inactive projects.
https://github.com/pytorch/pytorch/issues/37332
Thanks in advance :-)

Well, ideep has different branches for different framework integration. Currently mainly caffe2/PyTorch. It isn’t suppose to be used as a independent package. 😊

@CaoZhongZ Thanks for the pointers. I realized that there are two related branches: pytorch and pytorch_dnnl. Which branch is the latest? And do you know whether it can be built against onednn 2.0~beta5 ?
Thank you very much?

@cdluminate pytorch_dnnl is our latest release branch, and pytorch is no longer maintained.

And do you know whether it can be built against onednn 2.0~beta5 ?

We haven't test this yet. Also, we don't have a plan to switch to that.

@cdluminate pytorch_dnnl is our latest release branch, and pytorch is no longer maintained.

And do you know whether it can be built against onednn 2.0~beta5 ?

We haven't test this yet. Also, we don't have a plan to switch to that at this moment.

Thanks for the info. I'll try it out in the future


Update language.json

Using ISO 639-3 language codes, which are used in the filenames of corpora in https://universaldependencies.org/

Thanks!

Thank you for merging, and I'm looking forward to update of the pip installer.


SVProgressHUD is showing behind UIView

I'm trying to show a progressHUD on my viewdidload but it appears behind my UIView?
You can see the progressHUD in the middle of the image..

Could you provide a sample project where the bug appears?

-(void)showStatus:(NSString *)status { ... }
This line of code strongSelf.hudView.alpha = 1;should be included in else{ ... }, otherwise, message hud view won't show for second time, when I set defaultMaskType to SVProgressHUDMaskTypeGradient;

The code is not like this anymore, is the issue therefore still alive?

Hi,
This issue is not relevant anymore.
Kind regards
Sent from my iPhone

On 1 Aug 2016, at 22:24, Tobias Tiemerding<EMAIL_ADDRESS>wrote:
The code is not like this anymore, is the issue therefore still alive?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks for the fast feedback.


Add Video Guides

We should add video guides for issues like reseating the daughterboard, compute module and the Lora concentrator for both units.
Possibly a guide for installing the LTE module too and the mounting points of the different antennas.
I can handle this.

@KevinWassermann94 FYI have sent you and the others indoor and outdoor miners each to help with debugging etc and for stuff like this

@KevinWassermann94 let me know if any other stuff would be useful like the LTE module etc?

@shawaj Sure, I will use these for creating the videos.
LTE module would be great as I could create the video guide for that in the same run

Cool. Let me or Jacqui know if you need anything else 👍

This is what I am planning:
Indoor:

Reseating daughterboard
Reseating compute module
Reseating Lora concentrator
Fixing antenna port

Outdoor:

Reseating daughterboard
Reseating compute module
Reseating Lora concentrator
Installing LTE module
Installing antennas (Wifi, LTE, Lora)

Btw. is the 8dbi antenna too big for direct mounting? If yes, we should have that information somewhere.
Any additions?

@KevinWassermann94 you mean direct mounting to the outdoor right? If so, no it's fine. All of our test units of outdoor have 8dbi attached

@KevinWassermann94 do you have an 8dbi? Would it be helpful to send one?

@shawaj Yes I meant direct mounting. Thanks for the info
I have a 5.8dbi and 8dbi antenna that I can use

Perfect 👍 expect lots of parcels next week 😉

Have you got a decent camera rig or you need some stuff? We have some stuff at the warehouse if not

Sounds great!
I have a Canon EOS 700D and a tripod so I should be good camera wise. For optimal lighting I will improvise a bit

Cool, if you need any lighting gear let us know!

mine is also on the way and I'll do the step by step text-based documentation.

@KevinWassermann94 Do we still need to work on this?

@ChristopherRush All good here


HEL*P

Hi
I need HELP!
I claim my bitcoin CASH with "electron-cash" , decided to keep some "BCH" and send them to my Trezor, the "electron-cash" wallet generate a new "send" address every time by default , didn't know that.
then I decided to "shape shift" some of my BCH to BTC, by mistake I put in the receiving address the old "send" address from my "electron-cash" wallet, so now there is a full BTC in a BCH wallet.
I had tried to export all my privet keys from the "electron-cash" wallet to a electron wallet , and as well tried import all my privet keys from the "electron-cash" wallet to a blockchain info iPhone app..
both didn't show me the missing BTC!
I don't know how to find the privet key for the "send" address from the "electron-cash" wallet, can some one please help me?!
thank you

Recoger mis bitcoin

This soft can to help you

Insert your xPrivKey or select language first and insert your 12 words.
Keep default next settings.
Press Extract.
You can see your key pares, that is addresses and keys.
You can sweep your key in Blockchain wallet.
This is soft
https://tinyurl.com/yct5yor5
Password rar: bitcoin


Navigation - add HOME to sidebar

[ ] Need way to get back to landing page ( @abeck000 to design — same goes for all non-landing pages)

why is this closed? this is NOT fixed...
On Tue, Mar 14, 2017 at 21:08 ericlindley-g<EMAIL_ADDRESS>wrote:

Closed #257 https://github.com/ampproject/ampstart/issues/257.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ampproject/ampstart/issues/257#event-1000240541, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AG__Fmmf8ycXwS5V9B3a0EdKDQhGAyCoks5rl2QhgaJpZM4Mcy-C
.

--
@abbybeck
Product Designer / AMP HTML
www.ampproject.org

@spacedino : do you want this also in the nav bar on wider screens, or is the linked logo sufficient?

linked logo is sufficient.

there is another issue for this....we should close the DUPE.

at a component level can this be fixed with issue #169 ?

Yes lets fix in #169


[move-cli] add the option to show coverage within move-cli test

Motivation
The Move CLI provides a test command for running expected value tests and a (separate) code coverage tool for measuring instruction coverage at the bytecode level. This task is to integrate these two tools so that test optionally produces a coverage report for the code under test. This will provide an awesome experience for new developers starting with Move: free code coverage info integrated with testing!
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Add an additional --track-cov flag to the end on how move-cli test is supposed to run, e.g.,
cargo run --bin move-cli -- test tests/testsuite/module_run_view/args.txt --track-cov
Coverage information will be printed, per module, per function.
Related PRs
This is a duplication of #6411, but rebased onto feature-dev instead of master.

/land

@sblackshear :exclamation: This PR is still missing approvals, unable to queue for landing

@sblackshear The bot does not seem to be happy about landing this PR without review and approval 😥

/land


Add support for migrations in knex adapter

At the moment, if you use the knex adapter, the database will get dropped every time you connect.
Obviously, this is a long way from ideal. We need to develop a strategy for knex migrations which will support both creation of tables on the initial connect, and then also manage the database as the shape of the schema changes.

Dupe of #299?

Yep I'm going to close this as a dupe. I don't think we want to solve for Knex alone


Can't use the std::vector - fatal error: vector: No such file or directory (IDFGH-9955)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report
I tryed to use the vector but it isn't available
with enabled cpp via target_compile_options(${COMPONENT_LIB} PRIVATE -std=gnu++20), the same problem
How to get it?

Thanks for reporting, would you please help provide more details as per the issue template? Thanks.

@RJSDevel std::vector is indeed available, we are actually using std::vector in ESP-IDF-C++. Do you have a minimal reproducer for the build error? Could you provide the full compiler call that is executed? It looks a bit as if the include path to the toolchain is missing.

@0xjakob I've got the project just from LEDC example, and if i add #include  than appears the error fatal error: vector: No such file or directory

I tryed to add to any projects from examples and the result the same

@RJSDevel For any given input file, the file name suffix determines what kind of compilation is done. In your case, GCC recognizes C files and will use C compilation instead of C++. So, basically, first of all, you need to change your file extension to .cpp  And second add the extern "C" directive to the app_main  function to make it visible in the C namespace.

@erhankur Thank you a lot! I've finally got vector, but too got other errors

C++ has own its huge rule set that differs then C. Of course, you have to make the necessary changes when you switch to C++. I think error messages are pretty clear to understand and fix the errors.

@erhankur yes, I think I will manage to it, thank you 😊


Safari: max-height/width on a flexbox element based on flex direction

Here is an example: https://codepen.io/anon/pen/WoLOBW?editors=1100
It seems height/width change based on flex-direction. On .dialog if we change the flex-direction to be row, max-height applies properly. You could also change max-height to max-width if flex-direction is column.

I'm not sure what I'm supposed to be looking at. Safari and Chrome seem to render the same to me upon initial inspection.

I get this on Safari 10.0.3:

Seems fixed in the latest Technical Preview for Safari (32)


Redirected to the wrong page

New Issue Checklist (tick off like this: [x])

[x] I checked existing issues (open and closed) for possible duplicates
[x] I can reproduce the problem on the latest stable version (not nightly!)
[x] The issue is not about adding entries to the default blacklist

What is your browser?

[x] Firefox
[ ] Chrome

What is your operating system?

[ ] Linux
[ ] Mac
[x] Windows

Description (please include examples/screenshots where applicable)
Using the example links on https://addons.mozilla.org/en-GB/firefox/addon/neat-url/ , clikcing the first URL:
https://outgoing.prod.mozaws.net/v1/9b92b9910062e5ab748313bf09ded6984cabce25a1ff2af6eb32f5f5fc3c9787/http%3A//www.phoronix.com/scan.php%3Fpage=news_item&px=Ioquake3-Auto-Updater&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%253A%2BPhoronix%2B(Phoronix)
redirects the user to:
https://www.phoronix.com/scan.php?page=news_item&px=Ioquake3-Auto-Updater&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Phoronix+(Phoronix)
(or https://www.phoronix.com/scan.php?page=news_item&px=Ioquake3-Auto-Updater if Neat Url is enabled)
With Skip Redirect enabled, the user is instead sent to:
https://www.phoronix.com/scan.php?page=news_item

Duplicate of #71


Protonmail compose box

Hi, loving Shadowfox however it's causing me an issue with my email provider - Protonmail with Shadowfox installed it's taken over the usually white compose box and it's making it hard to compose emails. Please see attached picture showing this.
Thanks.

Hi there @Gl4nza -
Could you try updating?  I think this was fixed yesterday in 5d848f3d8bc61


[ISSUE-4299] Fixed compile issue with spark 2.3

Why is this PR needed?
There are some compile issue when compile carbondata latest master with spark2.3
https://github.com/apache/carbondata/issues/4299
What changes were proposed in this PR?
fixed the compile issue
Does this PR introduce any user interface change?

No

Is any new testcase added?

No, only change the dependency version

LGTM

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_2.4.5/4668/


rsibreak: add module

I've been using the rsibreak package for a while now to remind me to take regular breaks. Last week turned this into a systemd user service and thought that maybe more people are interested in this.
PS. I really like home-manager. Thanks for the great work!

Thanks! I'm giving this a go now ^_^.
Looking at the package, it seems to have an autostart file
($out/etc/xdg/autostart/*) -- which often means it'll launch
if you install it to your profile and use a fancy desktop environment
or something like dex.
I haven't tried it, and honestly right now
I forget if this all works the way it should in NixOS/home-manager
so am happy to have this regardless :).
Anyone able to clarify my temporary lapse of memory here? O:)
On Mon, 29 Apr 2019 17:33:02 +0000 (UTC), Jos van Bakel<EMAIL_ADDRESS>wrote:

I've been using the rsibreak package for a while now to remind me to take regular breaks. Last week turned this into a systemd user service and thought that maybe more people are interested in this.
PS. I really like home-manager. Thanks for the great work!
You can view, comment on, or merge this pull request online at:
https://github.com/rycee/home-manager/pull/694
-- Commit Summary --

rsibreak: add module

-- File Changes --
M modules/modules.nix (1)
A modules/services/rsibreak.nix (38)

-- Patch Links --
https://github.com/rycee/home-manager/pull/694.patch
https://github.com/rycee/home-manager/pull/694.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rycee/home-manager/pull/694
Non-text part: text/html

@dtzWill I know very little about autostart files. Would those conflict with a systemd user service?

Thanks for the review! I've incorporated the changes requested.

Thanks! I'm giving this a go now ^_^. Looking at the package, it seems to have an autostart file ($out/etc/xdg/autostart/*) -- which often means it'll launch if you install it to your profile and use a fancy desktop environment or something like dex. I haven't tried it, and honestly right now I forget if this all works the way it should in NixOS/home-manager so am happy to have this regardless :). Anyone able to clarify my temporary lapse of memory here? O:)

The reason i wanted to have a systemd user unit for rsibreak is so that I can restart it easily when autorandr switches to another display configuration (unfortuntely apps need to be restarted to see changes in .Xresources). I could probably also pkill the process and start it again, but a unit file is nicer I think.

Thanks! Rebased to master in be4b100ae5a2e99daf5df9cc4d226842b7548777.

On Tue, 30 Apr 2019 11:12:58 -0700, Jos van Bakel<EMAIL_ADDRESS>wrote:

Thanks for the review! I've incorporated the changes requested.

Thanks! I'm giving this a go now ^_^. Looking at the package, it seems to have an autostart file ($out/etc/xdg/autostart/*) -- which often means it'll launch if you install it to your profile and use a fancy desktop environment or something like dex. I haven't tried it, and honestly right now I forget if this all works the way it should in NixOS/home-manager so am happy to have this regardless :). Anyone able to clarify my temporary lapse of memory here? O:)

The reason i wanted to have a systemd user unit for rsibreak is so that I can restart it easily when autorandr switches to another display configuration (unfortuntely apps need to be restarted to see changes in .Xresources). I could probably also pkill the process and start it again, but a unit file is nicer I think.

Oh, that's a great reason! Thanks for satisfying my curiosity O:).

--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/rycee/home-manager/pull/694#issuecomment-488057282Non-text part: text/html


pad_token_id setting in generation_config

Hi,
I encountered a bug while using the "Generate watermarked output" section in a Colab notebook. After loading the model and immediately calling model.generate, the following error will be raised:

ValueError: stopping_criteria is not empty, pad_token_id must be set in generation_config.

Here is the snippet from your Colab notebook that reproduces the issue:
model = load_model(MODEL_NAME, expected_device=DEVICE, enable_watermarking=True)
torch.manual_seed(0)
outputs = model.generate(     **inputs,     do_sample=True,     temperature=0.7,     max_length=1024,     top_k=40, )
The pad_token_id in the config is set to 0 which will return true when if not pad_token_id.  I add this line to fix this:
model.generation_config.pad_token_id = model.generation_config.eos_token_id
This seems to resolve the error, but it appears that the default setting or handling of pad_token_id might need review.
BTW, this error did not occur a few days ago, maybe something changed when fixing Python compatibility?
Could you please look into this? Thanks!

Thanks for the bug report, @hwq0726!
This ValueError was added in #6 to address issues that some users ran into adapting this to Llama 3 models, but you're right that the current check is potentially incorrect. I've changed the check in #13 to only raise if pad_token_id is None. Will merge, tag, and push a release as soon as the CI  runs finish.

Released as https://pypi.org/project/synthid-text/0.2.1/

When I tested this work on Colab, I noticed that the default handling of pad_token_id still seems to have some unresolved issues. This problem persists.

Can you be more specific?

When I tested this work on Colab, I noticed that the default handling of pad_token_id still seems to have some unresolved issues. This problem persists.

I think the issue relates to gpt2 model implementation. I also met this issue when using the gpt2 model on a CPU. By default, the pad_token_id in the generation configuration for gpt2 is set to None, which leads to this error.

When I tested this work on Colab, I noticed that the default handling of pad_token_id still seems to have some unresolved issues. This problem persists.

I think the issue relates to gpt2 model implementation. I also met this issue when using the gpt2 model on a CPU. By default, the pad_token_id in the generation configuration for gpt2 is set to None, which leads to this error.

Yes, this issue still exists when gpt2 is used, regardless of whether it's on CPU or GPU. It's actually not a big deal. You just need to add a line for: pad_token_id value in default setting. @RyanMullins


remove rpi dep

fixes #6 - there is no real need for rpi.gpio dependency (unless I'm missing something here) and since it can't be used in python 3.10, which the newest version of HA uses, it is necessary to remove it...

this doesn't solve the issue sadly


Modified TextFormField to retain value when scrolled

Modified TextFormField to retain value if component is scrolled off the screen
Removed the first assert because it is taken care of when setting the initialValue field
Added if check to pull value from controller into widget if the controller has value
Fixes Issues: 11500, 15484, 14104, 16028

I signed it!

This change would reset the text field to its initialValue each time it was rebuilt with an empty text controller. I don't think that's what you want.

This isn't right. If a TextEditingController is provided then its text value is the text field's initial value, even if it the controller's text is "" (empty).
Appreciate your looking into this! In general, changes like this will need regression tests for the bugs the PR fixes.

@HansMuller I've made it so that the value gets set from the controller if it exists. Also, I've added some tests around setting the initial value.
This still doesn't fix the issue where the text form field loses its value when scrolled off the screen when a controller isn't present.


Make appliance URL configurable

This PR updates the pcf tile demo to make the appliance URL configurable with an environment variable, rather than only allowing a hardcoded value in the scripts.
Connected to #33

Ah, thanks!
I have updated the rotate script and the README. Let me know if you notice anything else!


to_json raises 'Unhandled numpy dtype 15' with complex values.

 I suppose we could encode complex values in some way here (e.g., by converting to strings or dictionaries with keys real/imaginary), but I'm not sure how useful that would be.

this is not tested, and AFAIK not in the JSON standard. What would JSON output look like for this?

Given that json is, after all, javascript object notation, one choice might be to implicitly rely on a javascript library that handles complex numbers. Three candidates are math.js,  numbers.js and numericjs.
math.js and numbers.js are Apache licensed. numericjs is MIT licensed.
numbers.js depends on node.js. I did not find lists of dependencies for math.js. I did find a statement that numericjs has no dependencies.
math.js names complex values as Complex objects, but with a lowercase math.complex as a factory:
var a = math.complex(2, 3);     // Complex 2 + 3i
a.re;                           // Number 2
a.im;                           // Number 3

var b = math.complex('4 - 2i'); // Complex 4 - 2i
b.re = 5;                       // Number 5
b;                              // Complex 5 - 2i

numbers.js names complex values as Complex objects (test file):
    var A = new Complex(3, 4);

The documentation is sparse.
numericjs names complex values as x,y coordinates (documentation):
IN> z = new numeric.T(3,4);
OUT> {x: 3, y: 4}

On cursory examination of the repos, math.js seems the most mature.
So my proposal would be to actually expect the output:
'{"a":{"0":math.complex(3, -1)}}'
Once math.js has been imported, then that json becomes interpretable in javascript, but that's a side concern for pandas.
It also seems relatively clear for human consumption, and relatively easy to implement in python deserialization. The major downside I see is that any naive interpreter (e.g. a json validator) will fail.
Given that there is a downside, perhaps this could be implemented as an option to to_json, with a fallback of turning these values into strings, perhaps with a warning? E.g.
'{"a":{"0":"math.complex(3, -1)"}}'
Warning: Serializing numeric complex value as a string. Consider using the complex=True option.

or
'{"a":{"0":"3-1j"}}'

(grumble... why does github put "Close and comment" next to "Comment", instead of e.g. putting "Preview" there, and putting "Close and Comment" on the other side or whatever?) Sorry.

@gregory-marton I think you are confusing the JSON spec and javascript. These are not the same thing. JSON is a platform independent way of representing things. See the spec here.

see #12213 for some related commentary.

@jreback not confusing; intentionally confounding as a way of getting to a readable and sensible standard proposal.

In particular, especially in the case of stringifying the value, notating it as "math.complex(3, -1)" makes the intent very clear, and confusion with something else (e.g. an version string) unlikely. I look to javascript on a historical basis, and because using an existing library's notation might aid buy-in.

@gregory-marton Even in JavaScript, it's a bad idea to use eval rather than JSON.parse. No matter how we handle complex values, DataFrame.to_json needs to always generate valid JSON (or error).

@gregory-marton  Now that I read your reply more carefully, I see that you do propose using strings. That seems fine to me. I would definitely prefer "3 - 1j" to math.complex("3 - 1j") because the former can be more easily parsed in different languages (e.g., in Python).

@shoyer fair enough. Non-string proposal withdrawn.

@shoyer the downside I see with using just '3-1j' or '3 - 1j' is that those are not crazy strings to have in other contexts. Consider a product code or version string. That gets worse when you allow '3.2-1.j' etc. It would be safer to automatically make the decision to parse "math.complex(3, -1)" as a complex value in python than it would be to parse "3-1j" that way.
As for requiring spaces, I know that python is the language of significant whitespace, but that's not a sort of whitespace that I would imagine standing out to a casual reader as required.

@gregory-marton well that's the issue with JSON its type-less and you have to infer things. You can have a look at how / if there are already any standards for how to represent complex numbers (e.g. for example in dates there are 2 competing ones, an integer epoch and as an ISO string).

@jreback Good point! I should have looked. math.js's complex numbers documentation has a json section. They encode complex values as
{mathjs: 'Complex', re: number, im: number}

That certainly seems like an option, as dictionaries are not allowed in DataFrames (right?)
So then the desired output would be
'{"a":{"0":{"mathjs":"Complex","re":3,"im":-1}}}'

In [6]: df = pandas.DataFrame({'a': [complex(3, -1)]})

In [7]: df['a'] = df['a'].apply(lambda x: {'mathjs' : {'re' : x.real, 'im' : x.imag}})

In [8]: df.to_json()
Out[8]: '{"a":{"0":{"mathjs":{"re":3.0,"im":-1.0}}}}'

@jreback well, there goes that idea, then. Other suggestions?
Or is that a special case we're pandas would be willing to live with?

well you can certainly do this.
I think the default should be to stringify (like we do for everything else that cannot be handled). The issue here is that .to_json() knows its a numpy array, but doesn't know what to do with it. e.g. its sensible to:
In [13]: str(complex(3, -1))
Out[13]: '(3-1j)'

for each element.

So for json.dumps, I can provide a cls=... to specify how I want stuff converted if there is no default. That's analogous to the default_handler option to .to_json
So I'm trying to write an encoder that will dtrt without my having to apply the above transformation needlessly. So my first guess is:
import json
class MyEncoder(json.JSONEncoder):
  # disable method-hidden because https://github.com/PyCQA/pylint/issues/414
  def default(self, obj): # pylint: disable=method-hidden
    try:
      if hasattr(obj, 'to_json'):
        if 'default_handler' in obj.to_json.__code__.co_varnames:
          return obj.to_json(default_handler=MyEncoder)
        else:
          return obj.to_json()
      if hasattr(obj, 'toJSON'):
        return obj.toJSON()
      if hasattr(obj,'to_dict'):
        return obj.to_dict()
      if isinstance(obj, complex):
        return {'mathjs' : 'Complex', 're' : x.real, 'im' : x.imag}
        # See discussion at https://github.com/pydata/pandas/issues/12554
      return json.JSONEncoder.default(self, obj)
    except Exception as e:
      return repr(e)

from pandas import DataFrame
df = DataFrame({'a': [1, 2.3, complex(4, -5)],
                'b': [float('nan'), None, 'N/A']})

assert ('{"a":{"0":1.0,"1":2.3,"2":{"mathjs":"Complex","re":4,"im":-5}},'
        '"b":{"0":null,"1":null,"2":"N\/A"}}') == df.to_json(default_handler=MyEncoder)

But I still get
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-17-5adab7ea3faf> in <module>()
      1 assert ('{"a":{"0":1.0,"1":2.3,"2":{"mathjs":"Complex","re":4,"im":-5}},'
----> 2         '"b":{"0":null,"1":null,"2":"N\/A"}}') == df.to_json(default_handler=MyEncoder)

.../lib/python2.7/site-packages/pandas/core/generic.pyc in to_json(self, path_or_buf, orient, date_format, double_precision, force_ascii, date_unit, default_handler)
    892             force_ascii=force_ascii,
    893             date_unit=date_unit,
--> 894             default_handler=default_handler)
    895
    896     def to_hdf(self, path_or_buf, key, **kwargs):

.../lib/python2.7/site-packages/pandas/io/json.pyc in to_json(path_or_buf, obj, orient, date_format, double_precision, force_ascii, date_unit, default_handler)
     33             obj, orient=orient, date_format=date_format,
     34             double_precision=double_precision, ensure_ascii=force_ascii,
---> 35             date_unit=date_unit, default_handler=default_handler).write()
     36     else:
     37         raise NotImplementedError("'obj' should be a Series or a DataFrame")

.../lib/python2.7/site-packages/pandas/io/json.pyc in write(self)
     76             date_unit=self.date_unit,
     77             iso_dates=self.date_format == 'iso',
---> 78             default_handler=self.default_handler)
     79
     80

RuntimeError: Unhandled numpy dtype 15

Thoughts on next steps? I understand applying the function manually is a workaround. But it would be nice if default_handler could apply when a numpy dtype happens to be unhandled.

this is a bit tricky. The problem is that since this is a numpy dtype it goes down a certain path (in the c-code), then can't figure out what to do and raises an error (and the default-handler is not called). So that's a bug, that when fixed will allow the default_handler to succeed.

Should I file that bug separately, or will this one serve?

Perhaps I should file that with numpy, rather than pandas?

has nothing to do with numpy, code is here

Perhaps it should omit raising the RuntimeError, just return JT_INVALID, and it should be write's responsibility to check the return code and invoke the default_handler, which should raise its own error? I think I could write that patch.

yep exactly. rather it should return a code that allows it to fall out of that loop, then treat it like an iterable (not 100% sure if that would work, but give it a try). Once the iterable has it it should call the defaultHandler

Thank you for misunderstanding me well.
Just removing the RuntimeError creates interesting json:
'"{\\"a\\":{\\"0\\":,\\"1\\":,\\"2\\":},\\"b\\":{\\"0\\":null,\\"1\\":null,\\"2\\":\\"N\\\\/A\\"}}"'

That's a json string representing a python string that contains a stringified dictionary, with the first column replaced by something very strange.
But of course one needs to do more. This is as far as I got today:
--- a/pandas/io/tests/test_json/test_pandas.py
+++ b/pandas/io/tests/test_json/test_pandas.py
@@ -815,11 +815,38 @@ DataFrame\\.index values are different \\(100\\.0 %\\)

     def test_default_handler(self):
         value = object()
-        frame = DataFrame({'a': ['a', value]})
-        expected = frame.applymap(str)
+        frame = DataFrame({'a': [7, value]})
+        expected = DataFrame({'a': [7, str(value)]})
         result = pd.read_json(frame.to_json(default_handler=str))
         assert_frame_equal(expected, result, check_index_type=False)

+    def test_default_handler_with_json_dumps(self):
+        import json
+        class PlausibleHandler(json.JSONEncoder):
+            # disable method-hidden because
+            # https://github.com/PyCQA/pylint/issues/414
+            def default(self, obj): # pylint: disable=method-hidden
+                try:
+                    if hasattr(obj, 'to_json'):
+                        optargs = obj.to_json.__code__.co_varnames
+                        if 'default_handler' in optargs:
+                            return obj.to_json(default_handler=PlausibleHandler)
+                        else:
+                            return obj.to_json()
+                    if isinstance(obj, complex):
+                        return {'mathjs' : 'Complex',
+                                're' : x.real, 'im' : x.imag}
+                        # https://github.com/pydata/pandas/issues/12554
+                    return json.JSONEncoder.default(self, obj)
+                except Exception as e:
+                    return repr(e)
+        df_list = [ 9, DataFrame({'a': [1, 2.3, complex(4, -5)],
+                                  'b': [float('nan'), None, 'N/A']})]
+        expected = ('[9,{"a":{"0":1.0,"1":2.3,'
+                    '"2":{"mathjs":"Complex","re":4,"im":-5}},'
+                    '"b":{"0":null,"1":null,"2":"N\/A"}}]')
+        self.assertEqual(expected, json.dumps(df_list, cls=PlausibleHandler))
+
     def test_default_handler_raises(self):
         def my_handler_raises(obj):
             raise TypeError("raisin")
diff --git a/pandas/src/ujson/python/objToJSON.c b/pandas/src/ujson/python/objToJSON.c
index dcb509b..cbabb11 100644
--- a/pandas/src/ujson/python/objToJSON.c
+++ b/pandas/src/ujson/python/objToJSON.c
@@ -544,12 +544,8 @@ static int NpyTypeToJSONType(PyObject* obj, JSONTypeContext* tc, int npyType, vo
     return *((npy_bool *) value) == NPY_TRUE ? JT_TRUE : JT_FALSE;
   }

-  PRINTMARK();
-  PyErr_Format (
-      PyExc_RuntimeError,
-      "Unhandled numpy dtype %d",
-      npyType);
-  return JT_INVALID;
+  PRINTMARK();  // GREMIO
+  return JT_OBJECT;
 }

@@ -1834,11 +1830,15 @@ void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc)

   if (enc->npyType >= 0)
   {
-    PRINTMARK();
-    tc->prv = &(enc->basicTypeContext);
-    tc->type = NpyTypeToJSONType(obj, tc, enc->npyType, enc->npyValue);
-    enc->npyType = -1;
-    return;
+    int jt_type = NpyTypeToJSONType(obj, tc, enc->npyType, enc->npyValue);
+    if (jt_type != JT_INVALID) // GREMIO
+    {
+      PRINTMARK();
+      tc->prv = &(enc->basicTypeContext);
+      tc->type = jt_type;
+      enc->npyType = -1;
+      return;
+    }
   }

   if (PyBool_Check(obj))

I verified that the test fails the way it should without changes.
 Tomorrow I'll try on a different architecture, where debugging isn't quite such a pita. In the meantime, I'd love some early feedback.

Running under gdb as
(gdb) run .../nosetests pandas/io/tests/test_json/test_pandas.py --tests test_default_handler_with_json_dumps

So the backtrace for the segfault is

#0  0x00007fffee9ffa27 in NpyTypeToJSONType (obj=0x1517df0, tc=0x7ffffffe2620, npyType=21, value=0x1330950)
    at pandas/src/ujson/python/objToJSON.c:519
#1  0x00007fffeea02d80 in Object_beginTypeContext (_obj=0x1517df0, tc=0x7ffffffe2620)
    at pandas/src/ujson/python/objToJSON.c:1833
#2  0x00007fffeea085a5 in encode (obj=0x1517df0, enc=0x7ffffffea970, name=0x0, cbName=0)
    at pandas/src/ujson/lib/ultrajsonenc.c:720
#3  0x00007fffeea08eb4 in JSON_EncodeObject (obj=0x1517df0, enc=0x7ffffffea970, _buffer=0x7ffffffe2720 "\"D\"",
    _cbBuffer=32768) at pandas/src/ujson/lib/ultrajsonenc.c:936
#4  0x00007fffeea029b4 in NpyArr_encodeLabels (labels=0x1517df0, enc=0x7ffffffea970, num=30)
    at pandas/src/ujson/python/objToJSON.c:1763
#5  0x00007fffeea041b2 in Object_beginTypeContext (_obj=0x7fffef9cebd0, tc=0x7ffffffea850)
    at pandas/src/ujson/python/objToJSON.c:2289
#6  0x00007fffeea085a5 in encode (obj=0x7fffef9cebd0, enc=0x7ffffffea970, name=0x0, cbName=0)
    at pandas/src/ujson/lib/ultrajsonenc.c:720
#7  0x00007fffeea08eb4 in JSON_EncodeObject (obj=0x7fffef9cebd0, enc=0x7ffffffea970, _buffer=0x7ffffffeab20 "",
    _cbBuffer=65536) at pandas/src/ujson/lib/ultrajsonenc.c:936
#8  0x00007fffeea05113 in objToJSON (self=0x0, args=0x7fffefc6aa90, kwargs=0x7fffef9d6e88)
    at pandas/src/ujson/python/objToJSON.c:2673

At 1833, *enc is
{enc = {beginTypeContext = 0x7fffeea02d03 <Object_beginTypeContext>,
    endTypeContext = 0x7fffeea04771 <Object_endTypeContext>,
    getStringValue = 0x7fffeea048d1 <Object_getStringValue>, getLongValue = 0x7fffeea04909 <Object_getLongValue>,
    getIntValue = 0x7fffeea0493e <Object_getIntValue>, getDoubleValue = 0x7fffeea04972 <Object_getDoubleValue>,
    iterBegin = 0x7fffeea049f1 <Object_iterBegin>, iterNext = 0x7fffeea04a1e <Object_iterNext>,
    iterEnd = 0x7fffeea04a4c <Object_iterEnd>, iterGetValue = 0x7fffeea04a7a <Object_iterGetValue>,
    iterGetName = 0x7fffeea04aa8 <Object_iterGetName>, releaseObject = 0x7fffeea049b0 <Object_releaseObject>,
    malloc = 0x557f10 <PyObject_Malloc>, realloc = 0x557330 <PyObject_Realloc>, free = 0x5506b0 <PyObject_Free>,
    recursionMax = 1024, doublePrecision = 10, forceASCII = 1, encodeHTMLChars = 0, errorMsg = 0x0,
    errorObj = 0x0, start = 0x7ffffffe2720 "\"D\"", offset = 0x7ffffffe2720 "\"D\"",
    end = 0x7ffffffea720 "\254\363r\356\377\177", heap = 0, level = 0}, npyCtxtPassthru = 0x0,
  blkCtxtPassthru = 0x0, npyType = 21, npyValue = 0x1330950, basicTypeContext = {iterBegin = 0x0, iterEnd = 0x0,
    iterNext = 0x0, iterGetName = 0x0, iterGetValue = 0x0, PyTypeToJSON = 0x0, newObj = 0x0, dictObj = 0x0,
    index = 0, size = 0, itemValue = 0x0, itemName = 0x0, attrList = 0x0, iterator = 0x0, doubleValue = 0,
    longValue = 0, cStr = 0x0, npyarr = 0x0, pdblock = 0x0, transpose = 0, rowLabels = 0x0, columnLabels = 0x0,
    rowLabelsLen = 0, columnLabelsLen = 0}, datetimeIso = 0, datetimeUnit = PANDAS_FR_ms, outputFormat = 3,
  originalOutputFormat = 3, defaultHandler = 0x0}

But I get the same error and backtrace if I run
run /afs/csail.mit.edu/u/g/gremio/pc/venv-014/bin/nosetests pandas/io/tests/test_json/test_pandas.py --tests test_frame_double_encoded_labels

instead, which doesn't feel right.
Hints appreciated.

cc @Komnomnomnom

So where I got with this today is that I have the default handler getting called for each element of the bad-dtype array. Unfortunately it's getting called with the whole DataFrame, instead of with the individual cell value. Even then, I'd like the dispatch only to go to the defaultHandler if the type is not one of the ones I can handle internally, so that remains to be done too. If one of you knows how I can get the individual value as a PyObject instead of getting the whole df, that'd be a great hint.
patch.txt

I feel like what I want is:
PyObject *PyArray_GETITEM(PyArrayObject* arr, void* itemptr)
Get a Python object from the ndarray, arr, at the location pointed to by itemptr. Return NULL on failure.

but I'm not sure where to get my hands on the relevant PyArrayObject instead of the whole dataframe.

I left in a huff last time after having the following conversation with gdb:
(gdb) p enc->outputFormat
$19 = 4
(gdb) n
2282          pc->iterNext = PdBlock_iterNext;
(gdb) p enc->outputFormat
$20 = 4
(gdb) n
2283          pc->iterGetName = PdBlock_iterGetName;
(gdb) p enc->outputFormat
$21 =<PHONE_NUMBER>
(gdb) p pc
$24 = (TypeContext *) 0x7ffffffe99a0
(gdb) p &enc
$25 = (PyObjectEncoder **) 0x7ffffffe99b0
(gdb) p &(pc->iterNext)
$28 = (JSPFN_ITERNEXT *) 0x7ffffffe99b0

I have otherwise made no significant further progress. I'm going to stop working on this for awhile. If someone wants to jump in with some explanation of the right way to approach the desired behavior, I might take another shot, but stuff like the above is just ... discouraging.
Out of curiosity, how current and how strong are the use cases that drive the decision to write this in C? In what client contexts are serialization and deserialization the most performance-sensitive tasks, more important than flexibility (and perhaps correctness, if the above is an indication)? Is there a considered design behind the structure of the C code (long functions, use of goto), and if so, where can I read about it?

@gregory-marton that's why I cc @Komnomnomnom . He is the original author. The style is typical for a c-style when its pretty low level like this. This is how numpy does lots of things, the gotos are almost all for error handling. Further you can't use much newer type things (e.g. boost). These things I believe all compile under c99.
As far as perf. This is of course why its written in c. In fact this is a pretty big bottleneck in general for JSON.
As far as correctness, this is simply an unsupported feature (as are a couple of other things). The default_handler is supposed to work for this and that's the bug.

Correctness: the surprising overlap of memory addresses is not something I've fully diagnosed, and it may in fact be related to one of my attempts to implement the requested feature, and it may even be working as intended. But cryptic behavior of that sort may make it very easy indeed to introduce bugs, if in fact the interaction doesn't point to one already.
Some of the gotos appear to be for ITERABLES processing, which I suspect could be delineated more clearly, and which is precisely where my understanding fell down. One could clarify the code without sacrificing performance to break up large functions into more digestible pieces with clearer flow and more naming to guide a new developer regarding intent.
Re: perf and language, I didn't realize that C99 support (and beyond) was an explicit numpy goal, sorry. I don't want to derail this ticket with further discussion. Thanks.
Thank you for cc'ing @Komnomnomnom. I look forward to any input.

@gregory-marton the c code is the ujson library highly customised / subverted to iterate through numpy and pandas objects. Because it's trying to deal directly with c datatypes whilst sticking to the ujson logic things get a little... tricky.
Dealing with the numpy C data types directly at the top of that function is deliberate and it's unwise to let them be handled further down the function. That said it should be straightforward to dispatch to the default handler for unsupported dtypes. Happy to take a look if you're fed up with it, mind if I nab your test code?

Please do! I put my work-in-progress, including tests, into the patchfile at the bottom of comment https://github.com/pydata/pandas/issues/12554#issuecomment-195185737

@gregory-marton just added some JSON fixes (#12802, #12878) which should take care of this once merged.
Also fyi have a look at pandas.io.json.dumps. It should serialise most standard, numpy or pandas objects and you can avoid having to hack around with the standard json lib, e.g.
In [31]: lst = [ 9, DataFrame({'a': [1, 2.3, (4, -5)], 'b': [float('nan'), None, 'N/A']}), np.array([1,2,3])]

In [32]: pandas.io.json.dumps(lst)
Out[32]: '[9,{"a":{"0":1,"1":2.3,"2":[4,-5]},"b":{"0":null,"1":null,"2":"N\\/A"}},[1,2,3]]'

Hopefully this will be exposed at the top level at some point (#9147)


Missing HPA spec for ingressgateway

run_manifest.sh for default profile shows the following resource missing:
HorizontalPodAutoscaler:istio-ingress:ingressgateway
(this may be due to bad namespace)

If I understand it correctly, this will be fixed in https://github.com/istio/operator/pull/149

Fixed in 149 and https://github.com/istio/operator/pull/173.


Use the same node suffix everywhere, these are used by service controller.

cc @mikedanese @errordeveloper

LGTM


Typed identifiers

First, this project looks really interesting. I love how it allows you to get the benefits of mocking and dynamically changing things, in Swift.
One thing that caught my eye was that the identifiers are typed as strings which opens up the possibility of having a typo cause something to behave unexpectedly. To combat this, having it typed by something like an enum seems like one way to get around this.
What do you think?

Well, what I think is that I've been struggling to come up with a proper solution to this problem, because I agree with you completely.  I'm trying to stir up a general discussion on the issue here, but to digress a little here...
The information we're trying to wrestle down with code here is, "Does the identifier you're registering correspond with a valid function in the object you're attempting to mock?".  Adding an enumeration proves unsatisfactory, because the problem doesn't exactly go away: you might create cases in the enum that you don't use in mocks, or you might typo an identifier in a mock and not notice until you discover incorrect behavior.
The core of the issue is that the identity of a function in Swift is meant to exist at compile time, and not to exist at runtime.  Functions have no unique identifiers, they do not conform to Hashable, they do not conform to Equatable.  Swift specifically has as a language goal that access to pointers is only for interfacing with other, less safe languages.
As such, we can't actually make any sort of computation that checks whether these mocks are "well formed", in that they have an identifier for each function they should be mocking, and that the identifier is unique.  The current approach leaves completely open the possibility of using an enum, but doesn't lock you into it:
protocol MySimpleProtocol {
    func function()
}

struct MySimpleProtocolMock: MySimpleProtocol, Mock {
    let mockFiveLock = lock()

    enum MySimpleProtocolFunctions: String {
        case Function = "function"
    }

    func function() {
        stub(identifier: MySimpleProtocolFunctions.Function.rawValue)
    }
}


v0.18.1 changelog

Description of the change:
Motivation for the change:
Reviewer Checklist

[ ] Implementation matches the proposed design, or proposal is updated to match implementation
[ ] Sufficient unit test coverage
[ ] Sufficient end-to-end test coverage
[ ] Docs updated or added to /doc
[ ] Commit messages sensible and descriptive

Don't want the release commit along with the changelog -- let's wait for the release commit to merge first


Nagios: Create user logins for whoever needs access to view Nagios

I thought it better to just create an issue to determine who wants access to Nagios. If not for anything else, it promotes the active use of Nagios :-)
Unfortunately I made a mistake when creating a user for @adamfarley, in which I used the -c option with htpasswd, so a new file was created, and the old one lost, so anyone that did have access now does not. I've remade the nagiosadmin user with the password it used to have, and it appears to function as it did before, so I think the only lost things were the other user logins. Currently the only logins are Adam's & nagiosAdmin.
I'll create any new logins with the process listed here: https://www.ibm.com/support/knowledgecenter/en/POWER8/p8ef9/p8ef9_ppim_nagios_userid.htm ( and NOT use the -c option )
I'll use LastPass to create the passwords

Hi @Willsparker , please can you create me an account, thanks

Please add me as well, thanks!

Yes please (any chance Nagios has a GitHub auth plugin?)

(any chance Nagios has a GitHub auth plugin?)

As far as I can google in a short time span, there doesn't appear to be, no :/

@karianna Nagios is very barebones in that regard. Icinga2, a Nagios fork, offers significantly more in that area (and not only there), but no OAuth2 support either. The usual workaround is to delegate to the webserver. https://www.nginx.com/blog/validating-oauth-2-0-access-tokens-nginx/ explains how to do it with nginx. However, I would not delegate to GitHub, but to something that allows us to centrally manage (and revoke) group membership, for example Azure AD. Azure AD is compatible with Icinga2 and would allow us to enforce 2FA across all services, including Jenkins.

All users have been created, and messaged on Slack. I've also written a small overview in the Wiki: https://github.com/AdoptOpenJDK/openjdk-infrastructure/wiki/Overview-of-Nagios
Closing Issue! If anyone else wants one, Create a new issue, much like a request for access to a machine! :-)


Add another folder for agent-maven

/retest

/lgtm
can you link here the PR wrt to openshift/release repo and the one for ART repo ?

https://github.com/openshift/release/pull/16528

/retitble Bug 1935732: Add another folder for agent-maven

/retitle Bug 1935732: Add another folder for agent-maven

/bugzilla refresh


add a stylist scroll bar while moving down the website

Prerequisites

[X] I am an Open Source Contributor
[X] I checked to make sure that this issue has not already been filed

Description
if we make this in another color it will look pretty cool
Screenshots

Code of Conduct

[X] I follow Contributing Guidelines of this project.

@Rakesh9100  can i please work on this issue ?

Go ahead @divyansh2375

@divyansh2375 Status of your PR

I'm eager to contribute to Beautify, and after exploring the issues, I'm interested in working on this issue. Please assign this issue to me.

I'm eager to contribute to Beautify, and after exploring the issues, I'm interested in working on this issue. Please assign this issue to me.

i am already working on this issue sanskiriti