Remove and redirect old installation guides

Remove the old individual install guides.
Update links to these old install guides
Add redirects

Acrolinx Scorecards
A minimum Acrolinx score of 80 is required.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
AcrolinxScore
LowestCategoryScore
Issues
Scorecard
Processed

articles/install-guide/update.md
86
65
8
link
:white_check_mark:

articles/relnotes/index.md
75
50
156
link
:white_check_mark:

More info about Acrolinx

Install Acrolinx locally for VSCode
False positives or issues

Docs Build status updates of commit 146802d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

articles/install-guide/command-line.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/install-guide/csharp.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/install-guide/jupyter.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/install-guide/python.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/install-guide/update.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/install-guide/vs-2017.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/install-guide/vs-code.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/relnotes/index.md
:white_check_mark:Succeeded
View (qsharp-preview)

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

Acrolinx Scorecards
A minimum Acrolinx score of 80 is required.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
AcrolinxScore
LowestCategoryScore
Issues
Scorecard
Processed

articles/install-guide/update.md
86
65
8
link
:white_check_mark:

articles/relnotes/index.md
75
50
156
link
:white_check_mark:

More info about Acrolinx

Install Acrolinx locally for VSCode
False positives or issues

Docs Build status updates of commit 665d74b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

articles/install-guide/command-line.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/install-guide/csharp.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/install-guide/jupyter.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/install-guide/python.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/install-guide/update.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/install-guide/vs-2017.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/install-guide/vs-code.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/relnotes/index.md
:white_check_mark:Succeeded
View (qsharp-preview)

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

Docs Build status updates of commit 24d27f2:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

articles/install-guide/command-line.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/install-guide/csharp.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/install-guide/jupyter.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/install-guide/python.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/install-guide/update.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/install-guide/vs-2017.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/install-guide/vs-code.md
:white_check_mark:Succeeded
View (qsharp-preview)

articles/relnotes/index.md
:white_check_mark:Succeeded
View (qsharp-preview)

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

Acrolinx Scorecards
A minimum Acrolinx score of 80 is required.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
AcrolinxScore
LowestCategoryScore
Issues
Scorecard
Processed

articles/install-guide/update.md
86
65
8
link
:white_check_mark:

articles/relnotes/index.md
75
50
156
link
:white_check_mark:

More info about Acrolinx

Install Acrolinx locally for VSCode
False positives or issues


Migrate cwa-website to use node16

This PR follows on from issue https://github.com/corona-warn-app/cwa-website/issues/2155 "Website migration steps for Nodejs 16" and implements the steps required to migrate this repository to use Nodejs version 16.
The Nodejs version selected is lts/gallium which is equivalent to the cached version 16.13.2 specified in the Ubuntu 20.04.3 LTS - Readme
I have tested it locally on Ubuntu 20.04 and Windows 11 with the Cypress test suite.
I also tested the workflows on a private clone of the repository. The only portion I cannot test is the final deployment in deploy-master.yml using jakejarvis/s3-sync-action@master.

Internal Tracking ID: EXPOSUREAPP-10928

Hi Mike, thanks for this PR! I have some questions:
Could you elaborate on the consequences for contributors? Do I need to update to node16 manually when this change is merged? Anything else I should note with node16?

@Ein-Tim
Thank you for your questions.
If you continue to use Nodejs 14 you will get a warning if you run npm install:
npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it!
You can still use the commands to build and run the web locally,
npm run build
npm start

For anybody who is contributing only text inputs to the repository, they could continue to use Nodejs 14 in the interim, however it would be recommended to update to Nodejs 16 at some time.
Anyone who is updating package versions or doing more technical work should probably update to Nodejs 16 before making any significant contributions.

Okay, thanks for the explanations @MikeMcC399!

The PR is now up-to-date with the master branch and all npm modules are up-to-date according to the version specifications in package.json as well.
$ npm outdated
Package          Current  Wanted  Latest  Location                      Depended by
autoprefixer       9.8.8   9.8.8  10.4.1  node_modules/autoprefixer     cwa-website
cypress            7.7.0   7.7.0   9.2.0  node_modules/cypress          cwa-website
gulp-imagemin      7.1.0   7.1.0   8.0.0  node_modules/gulp-imagemin    cwa-website
gulp-postcss       8.0.0   8.0.0   9.0.1  node_modules/gulp-postcss     cwa-website
gulp-sitemap       7.7.0   7.7.0   8.0.0  node_modules/gulp-sitemap     cwa-website
gulp-sourcemaps    2.6.5   2.6.5   3.0.0  node_modules/gulp-sourcemaps  cwa-website
js-yaml           3.14.1  3.14.1   4.1.0  node_modules/js-yaml          cwa-website
marked             2.1.3   2.1.3   4.0.9  node_modules/marked           cwa-website
node-fetch         2.6.6   2.6.6   3.1.0  node_modules/node-fetch       cwa-website
node-sass          6.0.1   6.0.1   7.0.1  node_modules/node-sass        cwa-website
screenfull         5.2.0   5.2.0   6.0.0  node_modules/screenfull       cwa-website
webpack           4.46.0  4.46.0  5.65.0  node_modules/webpack          cwa-website
webpack-stream     5.2.1   5.2.1   7.0.0  node_modules/webpack-stream   cwa-website
yargs             15.4.1  15.4.1  17.3.1  node_modules/yargs            cwa-website

In the meantime Node lts/gallium equates to Node 16.13.2 (previously 16.13.1) and this is cached in GitHub's virtual environment Ubuntu 20.04.3 LTS.
Also there are some new minor versions of some npm packages.
If there is interest in pursuing this PR I will update and test it with the newer patches and minor versions, otherwise I leave it as it is.

@MikeMcC399 Indeed, there is interest in pursuing this PR! Thanks!

@dsarkar

Indeed, there is interest in pursuing this PR!

That is good to hear! I will update the PR soon in that case (rebase / re-install / re-test).

@dsarkar
This PR is updated. It still passes the Cypress test suite with
$ npm test
on Ubuntu 20.04.

Rebased once again to resolve conflicts with master branch.

Oh damn @MikeMcC399 I just did a manual merge conflict as well, currently looking into getting it running with node16

@svengabr

Oh damn @MikeMcC399 I just did a manual merge conflict as well, currently looking into getting it running with node16

Do you want me to force push again?
Sorry that we were working in parallel!

@MikeMcC399 you can continue what you were working on. I wanted to fix the merge conflict and then test it using
nvm install 16.13.2
nvm use 16.13.2
npm ci
npm run build

After that, I wanted to have it deployed to the non-productive test environment for a quick review

@svengabr
Stand by. I will post (hopefully) positive results from cypress test.

@svengabr

I wanted to fix the merge conflict and then test it using

nvm install 16.13.2
nvm use 16.13.2
npm ci
npm run build

After that, I wanted to have it deployed to the non-productive test environment for a quick review

It would be good to run those tests manually, however in fact they are already checked automatically (see https://github.com/corona-warn-app/cwa-website/pull/2282/checks).
To your test suite, I suggest to add:
npm run test:prepare
npm test

to run the Cypress test suite.
 Is anything missing from your side/any open tasks or can we consider merging into main?

@svengabr

Is anything missing from your side/any open tasks or can we consider merging into main?

There are no open tasks on my side, so you are welcome to go ahead and merge into master.

Set to draft and waiting for a convenient time to update the website to use Nodejs 16.

@svengabr / @dsarkar
I did update this yesterday. Does this mean that you are ready to go with it?

@MikeMcC399
Yes, we are ready to go with it. Golive is planned for tomorrow morning.

@svengabr

Yes, we are ready to go with it. Golive is planned for tomorrow morning.

Thank you for letting me know. I will not touch the PR unless you ask me to. I have retested the current contents on Ubuntu and Windows 11 successfully.
@Ein-Tim
Thank you for the Slack link. I stopped following Slack because at the time there was very little active involvement from the Open Source Team. If that has now changed I will start following again.

@svengabr I can offer to test this on my Mac Book Air running the latest macOS version.
@MikeMcC399
For sure! This was the first message in a long time from @svengabr on Slack, so I don't know whether there will be more frequent posts from him again.
If I test this PR, I'd need to install node16, right?

@Ein-Tim

If I test this PR, I'd need to install node16, right?

Yes, you need node 16 to test with node 16 😆
Conversation continued in Slack....

I just started to wonder: Aren't we already using Node Saas currently?
If yes, I wonder why I only see this message when testing this PR and not when building the main branch. 🤔

@Ein-Tim
Your error message is part of the problem that Node Sass is deprecated (see https://www.npmjs.com/package/node-sass).
"node-sass
Warning: LibSass and Node Sass are deprecated. While they will continue to receive maintenance releases indefinitely, there are no plans to add additional features or compatibility with any new CSS or Sass features. Projects that still use it should move onto Dart Sass."
I'm sorry that I didn't realise that macOS users like yourself could be impacted.
It is possible to migrate to Dart Sass but this means some other technical changes to the website. I did try it out a couple of months ago and I would have suggested it at the time if it had been 100% compatible.

@MikeMcC399

I'm sorry that I didn't realise that macOS users like yourself could be impacted.

No problem. As stated above, this is not optimal for me, but I will just continue to use Node.js 14.18.3. I hope this works!

Delaying a little bit (later today) until I have internal results using a M1 macbook

A colleague just tested using an M1 Macbook with NodeJS 16 and everything worked as intended with no errors. From my perspective, we are good to go.

I wonder what caused this error then.
Feel free to merge already, I will retest later with a clean fork of cwa-website and a new install of nvm.

@Ein-Tim

I will retest later with a clean fork of cwa-website and a new install of nvm.

That would be helpful. I suggest to open a new issue to look at this after this PR is merged.

@Ein-Tim
I suggest to begin with just do:
git switch master
git fetch upstream
git merge upstream/master
npm ci
npm run build

without upgrading to nvm 16.
That seems to be no problem on Windows at least.

@MikeMcC399 I'll try this now.

FYI: I will follow up in https://github.com/corona-warn-app/cwa-website/issues/2411.


Enforce that mcore is >=0.8 for Aligner 0.4.0

This will fail until mcore pushes their wheel, but within the dockerfile that checks out ToT megatron, this should work
Depends on #252

Closing, since it's easier to just merge this into the dockerfile PR to avoid having a broken intermediate state


added Zeta Uploader and link for gluPaste.

@narendra36 the branch has conflicts, can you resolve it and push again.

Yes!  I will resolve it.


access: gomote

Per https://go.dev/wiki/Gomote#access I'm requesting gomote access for me (kolyshkin@gmail.com).
I need this as I'm working to reproduce issues #68663 and #68687 and was unable to reproduce this locally.

Related Issues and Documentation

access: provide gomote access #44709 (closed)
gomote: access #59524 (closed)

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

Thank you for contributing to Go, and filing this request!
You should have gomote access now. Please be familiar with gomote usage as described at https://go.dev/wiki/Gomote .
Thanks.


graceful-fs

needed to use File_Control_MOD
its been noted some people don't have this module

please ignore the Update File BS there it needs to be fix by someone with write access
theres a line after //Create that needs to be removed

I guess it is already fixed.


Gnome language & locale settings are not applied

Describe the bug
I changed gnome language settings and re-logged in, but language and locale didn't change.
It seems that locale keeps to i18n.defaultLocale. locale command in a terminal prints only with that default locale.
Steps To Reproduce
Steps to reproduce the behavior:

set i18n.supportedLocales to an array of multiple locales in /etc/nixos/configuration.nix
nixos-rebuild switch
change language to one of the supported locales in gnome settings
re-log in

Expected behavior
Interface language should be changed
Screenshots

Language setting is English, but the actual interface is in Korean.
Additional context
Add any other context about the problem here.
Notify maintainers

Metadata

system: "x86_64-linux"
host os: Linux 5.17.0-zen1, NixOS, 22.05 (Quokka), 22.05pre365028.710fed5a248
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.7.0
channels(root): "nixos"
channels(esrevinu): ""
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

GNOME Settings uses systemd-localed to change locale but that does not work on NixOS, since /etc/locale.conf is already managed by the NixOS module:
$ localectl set-locale LANG=en_UK.UTF-8
Failed to issue method call: Changing system settings via systemd is not supported on NixOS.

Additionally, changing the language in Control Center successfully sets the language for your user in AccountsService but I have no idea if anything actually uses that:
$ gdbus call --system -d org.freedesktop.Accounts -o /org/freedesktop/Accounts/User1000 -m org.freedesktop.Accounts.User.SetLanguage "'en_UK.UTF-8'"
()
$ sudo cat /var/lib/AccountsService/users/jtojnar
[User]
Language=en_UK.UTF-8
…

We probably need to remove all the panels that are not supported, or replace them with instructions how to do those things declaratively.

Switching the login shell to xonsh can work around this issue. There's probably some problem with xonsh, which causes https://github.com/NixOS/nixpkgs/issues/188404, but it happens to behave as expected in this situation.

Ok did a bit of digging, and think I found what's causing the issue. It seems that due to #48517, the environment variables declared in the NixOS configuration override any variables set by GNOME locally. #53448 and #48255 seem to be related.

Does this issue was exist in 22.05 ?

We probably need to remove all the panels that are not supported, or replace them with instructions how to do those things declaratively.

No, these settings should work. Not every NixOS deployment is a single-user system or system where every user can modify the configuration where that is reasonable. For example, in a company-wide setup especially with users served by LDAP or something like that, that would be a nightmare to maintain.


fix pod-priority-preemption doc

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
For 1.9 Features: set Milestone to 1.9 and Base Branch to release-1.9
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
NOTE: Please check the “Allow edits from maintainers” box (see image below) to
allow reviewers to fix problems on your patch and speed up the review process.
Please delete this note before submitting the pull request.
NOTE: After opening the PR, please un-check and re-check the "Allow edits from maintainers" box. This is a temporary workaround to address a known issue with GitHub.

This change is

/assign @bsalamat

@bsalamat Please take a TECH review, thanks.

Thanks, @CaoShuFeng!
/lgtm


Add Truncheon to Secbelt Whitelist

About the PR

Added Truncheon to Secbelt Whitelist
Why / Balance

You can fit a Baton, but not a Truncheon.
Technical details

Media

[ ] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl:

tweak: Truncheon now fits in SecBelt

there is no such TruncheonComponent. It will not work. You need to add a tag

Will ping when done


spec/consensus:  Further investigate CRDT

The state gossiped in consensus may be seen as CRDT.
This task includes further understanding CRDT and their usages, algorithms and implementations.

As a result of this task an internal presentation what are CRDT and why they matter to CometBFT was given to the CometBFT team. It may be published externally at some point.
Further work has to be done to understand Delta State Based CRDT and if they may be leveraged to reduce communication costs when using it to replicate CometBFT Internal state. This work will be performed in the context of #751


Failed module loads cause non-obvious errors

Because persistence is a default module, its requirements should probably be included in setup.py, but if they arenot, then it yields
INFO:idiotic.main:Connecting to persistence engine...
Traceback (most recent call last):
  File "/usr/lib/python3.5/runpy.py", line 170, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.5/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/sasha/dev/python/idiotic/idiotic/__main__.py", line 203, in <module>
    main()
  File "/home/sasha/dev/python/idiotic/idiotic/__main__.py", line 182, in main
    instance = init()
  File "/home/sasha/dev/python/idiotic/idiotic/__main__.py", line 155, in init
    instance._start_persistence(config["persistence"]["method"], config["persistence"])
  File "/home/sasha/dev/python/idiotic/idiotic/__init__.py", line 198, in _start_persistence
    persist_cls = persist_types[persist]
KeyError: 'sql'

This is solved by installing sqlalchemy, but should be amended to yield a omre informative error message.

Editing this to accomodate another similar issue. When a module cannot be loaded as a directory (e.g. init.py does not exist), a very strange error occurs - for some reason the modules dictionary ceases to exist.
INFO:idiotic.utils:Attempting to load directory etc/modules/webui as a module...
ERROR:idiotic.utils:Unable to load module etc/modules/webui: etc/modules/webui/__init__.py does not exist

...

Traceback (most recent call last):
  File "/usr/lib/python3.5/runpy.py", line 170, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.5/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/dylan/dev/idiotic/idiotic/__main__.py", line 204, in <module>
    main()
  File "/home/dylan/dev/idiotic/idiotic/__main__.py", line 182, in main
    instance = init()
  File "/home/dylan/dev/idiotic/idiotic/__main__.py", line 113, in init
    ignore=instance.modules):
TypeError: 'NoneType' object is not iterable

Failure to load a module should probably be considered fatal.


Uploading to a subdirectory

Allow for user to define a subdirectory for files to be uploaded to.
eg
aws = {
      "key": gutil.env.aws_key,
      "secret": gutil.env.aws_secret,
      "bucket": gutil.env.aws_bucket,
      "region": gutil.env.aws_region,
      "subdirectory": "aSubDirectory/"
    };

    gulp.src('./dist/**')
        .pipe(s3(aws));

this will upload everything in dist to aSubDirectory on S3

Realised it's already there via PR#40 https://github.com/nkostelnik/gulp-s3/pull/40


[BUG] Description

[Thu Apr 06 16:04:39.679217 2023] [php:error] [pid 108208] [client <IP_ADDRESS>:23036] PHP Fatal error:  Uncaught Error: Call to a member function is_empty() on null in /var/www/html/web/app/themes/bootcommerce-child-main/woocommerce/cart/mini-cart.php:25
Getting this on my staging and production enviroment.
Steps to reproduce
No response
Screenshots and Additional Info
No response
Website link
No response

Hi,
please share a link to your site and describe in more detail e.g. which theme version, plugins etc.
Thank you


Table showing taxonomy profile on Gene search results has messed up x axis numbers

Probably because there are too many genes?

Labels were just overlapped each other.

Better limit up to a certain number of features for both performance and display perspective.

I agree


Ui root node is not sized properly with custom UiCamera's projection

Bevy version
0.5
Operating system & version
Tested on Linux, but probably affects all other systems
What you did
I have this system that resizes for all the cameras with OrthographicsProjection and CameraAspectRatio compoents:
pub enum CameraAspectRatio {
    Auto {
        min_width: f32,
        min_height: f32,
    },
    FixedWidth(f32),
    FixedHeight(f32),
}

pub fn camera_aspect_ratio(
    windows: Res<Windows>,
    mut query:
        Query<(&mut OrthographicProjection, &Camera, &CameraAspectRatio)>,
) {
    for (mut projection, camera, ratio) in query.iter_mut() {
        if let (ScalingMode::None, Some(window)) =
            (&projection.scaling_mode, windows.get(camera.window))
        {
            let window_size = Vec2::new(window.width(), window.height());

            let size = match *ratio {
                CameraAspectRatio::Auto { min_width, min_height } => if
                    window_size.x / window_size.y > min_width / min_height
                {
                    Vec2::new(
                        min_height * window_size.x / window_size.y,
                        min_height,
                    )
                } else {
                    Vec2::new(
                        min_width, min_width * window_size.y / window_size.x,
                    )
                },
                CameraAspectRatio::FixedWidth(width) => Vec2::new(
                    width,
                    width * window_size.y / window_size.x,
                ),
                CameraAspectRatio::FixedHeight(height) => Vec2::new(
                    height * window_size.x / window_size.y,
                    height,
                ),
            };

            match projection.window_origin {
                WindowOrigin::Center => {
                    projection.left = -size.x / 2.0;
                    projection.right = size.x / 2.0;

                    projection.bottom = -size.y / 2.0;
                    projection.top = size.y / 2.0;
                },
                WindowOrigin::BottomLeft => {
                    projection.left = 0.0;
                    projection.right = size.x;

                    projection.bottom = 0.0;
                    projection.top = size.y;
                },
            }
        }
    }
}

The system works fine and the game itself displays correctly. However when I try to create a root node with size set to 100% by 100% it does not fill the whole window, but instead its virtual size gets limited to the value of the real screen size:
    commands
        .spawn_bundle(NodeBundle {
            material: materials.add(Color::rgba(1.0, 1.0, 1.0, 0.5).into()),
            style: Style {
                size: Size::new(Val::Percent(100.0), Val::Percent(100.0)),
                flex_direction: FlexDirection::Row,
                align_items: AlignItems::FlexEnd,
                justify_content: JustifyContent::SpaceBetween,
                ..Default::default()
            },
            ..Default::default()
        })

What you expected to happen
The root node should fill the whole window.
What actually happened
The root node's size was limited to the window's logical size and was not enough to fill the virtual camera size (1920 by 1080)

As a workaround I can set position_type to Absolute and create a separate system for manually resizing the root node using Px values

This is irrelevant since #4745 Since it made it impossible to set custom projection for UI cameras.
It also did a lot of changes to aspect ratio handling. So maybe even if custom UI projection were added back it would be fixed?

I should probably rephrase the issue. It is not technically a custom projection, but a custom scaling mode for OrthographicProjection. And when it is not set to ScalingMode::Window, it behaves not as expected

It is not technically a custom projection, but a custom scaling mode for OrthographicProjection.

I understand, but it is impossible currently to access the OrthographicProjection used by the UI camera. It is hardcoded in the extract_default_ui_camera_view system. You can't access it in the app world, and I'm not sure if it's even possible to modify it in the render world with a system.

If you want the ability to directly edit the OrthograpicProjection, please discuss this in #5243 and #5242. I think a review from someone who would actually use the PR change would be very helpful.


Move Star and Arrow from Semigroups to Semigroupoids

Mistakes were made...

So now that this fantasyland PR has been merged in, it provides exactly what we need to address this issue.
This PR does the following:

Replaces concat with compose on both Star and Arrow
Replaces empty with id on Arrow (for some sweet Category action)
Adds composeS and pipeS helper functions for composing Semigroupoids
Adds the isCategory and isSemigroupoid predicate functions.

Coverage remained the same at 100.0% when pulling 6f6a86e8e18f2b74406a74b0092c5803bdb347ea on compose-arrows into c65b930b6910ba886377027d69345fafab1cd7c3 on master.

Coverage remained the same at 100.0% when pulling e580c504f4894b997691ce146131662e141740f4 on compose-arrows into c65b930b6910ba886377027d69345fafab1cd7c3 on master.

Coverage remained the same at 100.0% when pulling e580c504f4894b997691ce146131662e141740f4 on compose-arrows into c65b930b6910ba886377027d69345fafab1cd7c3 on master.

Coverage remained the same at 100.0% when pulling e580c504f4894b997691ce146131662e141740f4 on compose-arrows into c65b930b6910ba886377027d69345fafab1cd7c3 on master.

Coverage remained the same at 100.0% when pulling c6dcdf2f0a328fe1238e91bd8dc11c7d7093cf85 on compose-arrows into c65b930b6910ba886377027d69345fafab1cd7c3 on master.

Coverage remained the same at 100.0% when pulling c6dcdf2f0a328fe1238e91bd8dc11c7d7093cf85 on compose-arrows into c65b930b6910ba886377027d69345fafab1cd7c3 on master.


Installation on ElasticCloud

I'm testing out ElasticCloud and I would like to have datafromat on it. I will report my steps so they can get added to the documentation.
You can upload it through the features section of the Cloud Admin console: https://www.elastic.co/guide/en/cloud/current/ec-custom-bundles.html
Once added, you’ll activate it for your deployment from the “Edit” view.

You have to be Gold level in ElasticCloud to upload plugins (it didn't work at first for me, I had to ask them to enable it specifically)
Download the latest version from maven here: https://repo1.maven.org/maven2/org/codelibs/elasticsearch-dataformat/ (watch out for weird sorting of versions)
Open the zip file and edit the plugin-descriptor.properties file, edit line 6 elasticsearch.version=7.10.0
Log in to elastic cloud, pick a deployment, go to features and then extensions. Or just click here: https://cloud.elastic.co/deployment-features/extensions/create
Configure and upload your plugin.

Now your plugin is on the ElasticCloud servers, all you need to do is activate it following these instructions https://www.elastic.co/guide/en/cloud/current/ec-custom-bundles.html#ec-update-bundles
(I wasn't able to follow them, I'll report back)

So, to enable the extension:

Make sure the version number you configured in step 5 is the exact same as the one of your deployment.
Go to edit your elasticsearch deployment, settings & plugins and then select the plugin.
The server will be reset with a rolling update

Now it says the plugin is loaded, but still I get this message:
Incorrect HTTP method for uri [/index/_data?...] and method [GET], allowed: [POST]' }


Image Uploaded

Hello, I had the problem in the picture when I used the app to register. Could you help me？

Please make sure the android/client app is actually sending the image. You can check the 'uploads' folder in your node.js codebase.

Yes, the picture did upload, but I wonder why it didn't load

I can see why this error is occurring. Do I read the path using the absolute path

Thank you for your support


Digeq 1 sign in

What
Basic login functionality and sign in screen
How to test
Automated tests available.  For manual testing visit the root URL and be redirected to login screen.  /logout url can be used to logout
Who can test
Anybody except @weapdiv-david or @LJBabbage

I think it's worth squashing the commits, as there are a lot of non-descriptive small check ins. However the actual functionality looks good to my eyes. :8ball:

Happy to review this when ready.

I still think we should squash these commits using an interactive rebase and then we should be able rebase to master. Hopefully that should allow us to have a one commit with single description then. At the minute the git history hurts my head.


Hero section's figma UI changes

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

Bug fix- Close- #459

Why was this change needed? (You can also link to an open issue here)
- Actually, the Hero section's design does not match with the respective Figma UI. So, I changed the design properties.

Other information:
Before Fix:

After Fix:

Good commit @tenokami can you check it out?

Thank you!

Hi @dartpain
Thank you for accepting my pull requests and I'm happy to hear that you'd like to add the hacktoberfest-accepted label.


Bell ringing event and switch interaction

If possible, it'd be great to get a "on bell rings" type event.
This detection would ideally cover not only successful ringing using the right click, as well as ringing caused by projectiles, along with redstone activation if possible.
Also, currently the switch mechanic does not ring bells, which I believe the mechanic should cover.
Thanks as always!

Both of these seem to be... not things in the Spigot API, but also indeed things that should be in the Spigot API.

Closing as this is an issue only Spigot can resolve. If you ever posted that Spigot JIRA issue @Rickyling97 a link to it would be appreciated

Update: bell ringing added via NMS, the event added via Paper


How to perform automatic tests?

Hi everybody,
I'm trying to code some tests to automatically verify that each version of the chatbot I'm building satisfies few basic requirements. Basically, I would need to be able to send a string to the chatbot and get back the list of predicted utterance ids from the domain and the entities extracted from the NLU.
One method I tested was just to verify the content of the tracker but then I realised that, unfortunately, some of the actions I have defined reset the tracker, so, I cannot fully rely on it.
I noticed the methods start_message_handling and continue_message_handling in processor.py, however I think they require all the actions to be executed "manually" between the calls.
A similar situation would happen if I use the RASA http server.
Is there in RASA any less cumbersome way to code automatic tests?

How do you want to run these tests? e.g. you could write stories in a story file and run them, comparing the story written in the file with the predictions of rasa core (this should already work). But I am not sure this is what you are looking for.
This also sounds a bit like https://core.rasa.com/master/http.html#post--conversations-(str-sender_id)-respond might be what you are looking for (recently implemented in the master version, not in the released version yet). It is kind of an endpoint like the ones for start / continue message handling where you need to run the actions - but this one runs the actions and returns the bot utterances.

Sorry for the very late answer: I somehow missed the notification and just realised you wrote me back.
What I would like to do is giving the chatbot a natural language sentence (so, i guess the story approach @tmbo mentioned wouldn't work) , assert on the detected intent entities and possibly, on the output action name (e.g. utter_greet).
Then continue the conversation with the chatbot by sending another sentence, assert on detected intent and entities, possibly on output action, etc.
The idea would be to have this as an automatic test before deploying the chatbot, so that we're sure that even if we change the input data a bit, common interaction are still handled correctly. What do you think?


Can't upload image to firebase cloud storage on iOS

I'm using  Expo(managed workflow) I tried to upload image file after scanning the document to firebase cloud storage.
it works fine on android but I got an error on iOS.
on android device :  the file path that return after scanning was like this

on iOS device :  the file path was like this

there is no problem on rendering the image on the screen
<Image
  resizeMode="contain"
  style={{ width: '100%', height: '100%' }}
  source={{ uri: scannedImage }}
/>

but when I tried to upload the image to firebase storage on iOS device i got an error.

I noticed that the file path that return from "expo-image-picker" library was a bit different

with this uri I can upload the image with no problem.
so, does file path matter when uploading the image ?
I'm a big fan of this repo I'm trying to figure out a way to make this work.

What does the file path on iOS look like for expo-image-picker?

You could add file:// to the file path to make it work for now. I'll see if I can have the plugin return the file path in that format.

You could add file:// to the file path to make it work for now. I'll see if I can have the plugin return the file path in that format.

I have tried that but it doesn't seem to work. May be it's not about the file path.
I did some research and found that If any object is nil, there will be a crash.
ref : https://www.programmersought.com/article/84335994306/
Could you please check the condition of every object should not be nil

show me an example where nil gets returned as the file path

I updated the iOS code to return file paths for cropped images that start with file:/// in https://github.com/WebsiteBeaver/react-native-document-scanner-plugin/tree/0.5.0.
I don't think this fixes the problem you're having, but that issue is likely unrelated to this plugin. I would check to make sure that you're using the Firebase Storage plugin correctly.


Fix typo in readme in word "parameters"

Resolves #1888. This pull request fixes the typo in README file mentioned in the corresponding issue.

Whups!  It looks like the compiler toolchain for Go 1.17 has made a breaking change that needs to be addressed before we can continue and merge this change. I'll file a separate issue.

gah, not sure why that closed the PR.  I was trying to rebase this on master.  In any event, I'll get the correct commit merged.


Ensure classmethods use cls instead of the class directly

Follows best practices and ensures easier subclassing.

Closing due to legal


abi: eth_abi_mpint should encode mpzs as integers, not bytes.

Hey @DerXanRam. Can you please pull the dev branch and test if it fixes the issue? 77526b3

ok wait...

please give me 1 or 2 hour... i'm on way

Cool. I'll close the issue as soon as we merge the dev branch. Thanks for testing.

Cool. I'll close the issue as soon as we merge the dev branch. Thanks for testing.

Hello brother...but on some numbers it generates false numbers. look at this number
char is<PHONE_NUMBER>6352190230331
ABI is d06ca61f00000000000000000000000000000000000000000000000271256dc6c0e9a12f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000ade00c28244d5ce17d72e40330b1c318cd12b7c3000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2

You're right. I was assuming that the number of bytes is always even. Here's the fix: b5a77855b59c7c984e9bafd99cf8a0c6bf68f0d3

Does the issue solved in the encoding solved also for decoding? I say this because i see some numerical instability when i decode large numbers like 24 digits,

Does the issue solved in the encoding also solved for decoding? I say this because i see some numerical instability when i decode large numbers like 24 digits,

It should give the correct result on decode.

Does the issue solved in the encoding also solved for decoding? I say this because i see some numerical instability when i decode large numbers like 24 digits,

It should give the correct result on decode.

sorry ma bad... i found my problem... it woeks :+1:

Closing the issue. Published in v1.1.1


newrelic-php-agent version supported variant mod

https://chatwork.atlassian.net/browse/STRIX-173
Get the latest version from here.
https://download.newrelic.com/php_agent/release/

Good 👍


New valheim 0.208.1 patch, finally fully broke Simple Recycling

Mod:  Simple Recycling
Mod Version: 0.0.13
Describe the bug
Wall a red errors on game start up and mod doesn't work at all, no recycle tab.
How To Reproduce
Steps to reproduce the behavior:

First Start the game, check bepinex log.

Expected behavior
To not see a wall of red error text on game startup, and to see a recycle tab at crafting benches.
Screenshots
Red error wall

No recycle tab

Additional details
No, I also tested it with only this mod installed and bepinex, Still doesn't work.
LogOutput.log

Broke, Now missing the recycle button all together.

I have since re-uploaded to Thunderstore with a fixed build: https://valheim.thunderstore.io/package/remmiz/SimpleRecycling_Fixed/


NFS 3.0 clients - Windows client for NFS is not yet supported

[Enter feedback here]
In this article mentiones:
NFS 3.0 clients
Windows client for NFS is not yet supported
Is it out of date?

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

ID: ec598196-6d30-5757-019f-e6b7f6ef2cc0
Version Independent ID: e99f749a-b597-6eb6-3ffd-1f1841871485
Content: Known issues with NFS 3.0 in Azure Blob Storage
Content Source: articles/storage/blobs/network-file-system-protocol-known-issues.md
Service: storage
Sub-service: data-lake-storage-gen2
GitHub Login: @normesta
Microsoft Alias: normesta

@JackyChiou
Thanks for your feedback! We will investigate and update as appropriate.

@normesta Can you please look into it?

@tjvishnu would be best positioned to comment on this Windows client for NFS support.

@tjvishnu Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly reopen the issue and continue the discussion.


Some jdenticon fixes

This brings jdenticon caching, removes debug output by default (should there be configuration for this?), and adds a header so that it compiles on Qt 5.15 and greater.

Imo this looks sane apart from the cache, which I wouldn't put into this library (especially without a max size!).

Awesome, thank you!


Maintenance/759/build to not modify source controlled items

Resolves #759
OPEN FOR FEEDBACK
Merge after squashing
Introduced two concepts to be part of the CD build workflow

First idea to use the git annotated tags as a way to generate version numbers, rather than a version.properties file. git describe and git describe --exact-match to the rescue.
Git already has an idea of generating serial predictable commit descriptions (build numbers) given an annotated tag for e.g. the currently the version according to git in this branch is 2.0.0-62-g8433c2b it has the format 2.0.0-<count>-g<sha>  where:

2.0.0 is the annotated tag
count is the number of commits after the annotated tag (62 commits since 2.0.0!!)
sha is the commit sha. (8433c2b is the current sha)

Second idea I introduced is a way to infer the snapshot build/ release build using the concept of a build number suffix. Rather than change the version decorator used.

@dilipkrish looks good to me. No better way to test this than to merge it in and release!


Update online-resources.asciidoc

Added link + project in the Document section, article in Italian.

Applied, should be available on https://debezium.io within the next 15 minutes.
Thanks for the contribution @Andrea-Cavallo, such a great read!


Improve README

The current README is confusing, long and contains a lot of grammar issues. I found myself opening PRs which is not up to the standard/structure of this repository as @plowsof kept noting, but it is because none of that is mentioned in the README.
Here are the few things that I found to be missing in the README (list is not exhaustive), please comment with other improvements you want to see:

For each PR have a separate branch with a decent short description

The commit message should have page name before it, for example: downloads: improve wallets description, User Guides: write a new guide about X...

Mention that Github generated table of contents, so readers can navigate easily (I myself didn't know GitHub had this feature 🤣 and found about it from selsta's comment)

This website is completely open-source however and anything and everything is available for changing should the community deem it necessary.

change it to: This site is completely open source, and everything is open to change if the community deems it necessary.
Add hyperlinks to file paths in README like _includes/onion.html and /onion.txt, also why is the onion subdomain not in _includes/onion.html?
I think we stopped using GitHub Project board? should we not mention it in PR workflow?
Translation (rip) while we wait for someone to take for it, Localization Workgroup should be removed as Erc stopped maintaining it.

relevant to CONTRIBUTING.md

HardenedSteel is correct, this is for contributing.md. there is a pull request (or something merged) regarding adding the filename being edited in the commit to monero-core repo somewhere. we can add it to contributing.md , but its not a priority.  Alot of the times this is subjective for the maintainer. they may just be asking for a helping hand to help organise the merge list and anticipate merge conflicts.
The first half of this issue is just an update on your journey of earning your "contributor" flair. and part of being a good git-izen. no more making pull requests using master... if a maintainer asks you to rename a commit or reviewers ask for changes you don't spend weeks avoiding it... or creating a new branch to make the PR with changes instead of learning... you can rebase... amend... we're all proud of your journey and looking on with pride.
There are actionable tasks mentioned in this issue.


drivers: display: ssd16xx: add power management support

This enables power management for the display controller. The deep sleep command does not appear to affect power consumption, but should be correct as far as datasheets go. If combined with an external power switch, suspend or off states must be set before cutting power, for the display to wake up when reset to active state. The patch is useful this particular use case.
It's been tested with an nrf52840-DK + waveshare_epaper_gdeh0213b1 shield running a modified version of samples/display/lvgl/.

LGTM except that DEVICE_POWER_MANAGEMENT related code is not build by CI. Maybe CONFIG_DEVICE_POWER_MANAGEMEN=y should be added to one of the test cases in the one of the samples/display/* ?

LGTM except that DEVICE_POWER_MANAGEMENT related code is not build by CI. Maybe CONFIG_DEVICE_POWER_MANAGEMEN=y should be added to one of the test cases in the one of the samples/display/* ?

Maybe we could add a new sample, a variant of samples/display/lvgl, that toggles between active state and each of low power states? If so, drivers/display/display_st7789v already implements device power management (with actually working enter/exit sleep) and could thus be tested independently of this PR.


use withFormik in react native

❓Question
Can I use withFormic in react native?
I tried to use formicEnhancer Example and i set
onSubmit={handleSubmit}
But it return
Can't find variable handleSubmit

Yes, you can use Formik with react native.
withFormik should also work with react-native. How are you trying to call it?
An example of how to call it would be:
withFormik(config)(Form)
or with redux
connect(mapStateToProps, mapDispatchToProps)(withFormik(config)(Form))

we are trying with
with redux connect(mapStateToProps, mapDispatchToProps)(withFormik(config)(Form))


Respect web token locaton envrionment variable

What happened?
IRSA token file location is hardcoded in aws client. This makes it impossible to test it locally because this directory typically do not exist on local systems.
IRSA uses the AWS_WEB_IDENTITY_TOKEN_FILE environment variable to determine the location of an OIDC ID token or oAuth access token to assume a role. We should respect it.
Also note that in the realm of Crossplane, being able to use the token specified in AWS_WEB_IDENTITY_TOKEN_FILE only is likely not what we want. Currently, it is impossible for users to use a token not managed by EKS to assume a role in this provider or the upbound provider. We'll need to expand the spec and add a field to support it.
I can work on this to remove the hardcoded value and use the environment variable value instead.
What environment did it happen in?
Crossplane version: master

@nabuskey this sounds like a reasonable change, although I am unsure about extending the spec. I think looking at the environment variable should be suffice here.

Thanks for the PR! Looks good other than the const location.
I think I did a poor job of describing what I meant above because it's a bit convoluted process. I don't think what I am describing below needs to be implemented right now because it's a niche use case, but I am putting it here in case someone run into this issue in the future.
I believe, the intention of the changes introduced for this struct is to allow for the functionality described here. In a nut shell, it allows you to assume a role using external (external to AWS) identity using a OAuth 2.0 or OIDC token provided by a trusted identity provider.
When configuring and using EKS IRSA, general flow of events are:

A EKS cluster generates and associates its own OIDC provider.
IAM trusts this OIDC provider in the same account that the EKS cluster is in.
EKS admission hook injects EKS OIDC token to the pod at /var/run/secrets/eks.amazonaws.com/serviceaccount/token
Calling LoadDefaultConfig() causes the SDK to exchange the token to obtain AWS credentials.

As you can see, in a typical EKS IRSA environment, a pod is tied to the identity assured by the EKS OIDC. This works for many workloads.
For AWS providers in Crossplane, this may not be sufficient. Let's consider the following scenarios. They both illustrate the issue of tying a pod to an identity.

Provider running in non-EKS environment.
Provider running in EKS environment but an account does not allow role chaining.

For the first scenario, if a user wants to use this feature, they must put the token in the location specified by the AWS_WEB_IDENTITY_TOKEN_FILE value. This will work as long as the same identity is trusted by all AWS accounts that they'd like to use. If the user need the provider to assume a role in another account which requires a different token, this breaks down because the only way for the provider to assume a role with a token is by using the token specified in the env var.
For the second scenario, provider works within the same account the cluster is in. It also works for multi account situation as long as the EKS OIDC is trusted by other accounts. This breaks down if a user wants to use EKS OIDC for the account but wants to use different identity (token) for other accounts because there is no way for the provider to assume a role using different tokens than what is specified in the env var.
I think you can solve these by allowing users to specify token location in provider config. By doing this, we are tying an identity to a provider config. Something like:
type AssumeRoleWithWebIdentityOptions struct {
	RoleARN *string `json:"roleARN,omitempty"`
	RoleSessionName string `json:"roleSessionName,omitempty"`
        WebIdentityToken string `json:"webIdentityToken"`
        SessionDuration string `json:"sessionDuration"`
}

Again, I think for the vast majority of users, being able to use the AWS_WEB_IDENTITY_TOKEN_FILE var will suffice, and I don't think it's something we need to work on right now.


fix: use JoinSet to make spawned tasks cancel-safe

Which issue does this PR close?
Closes #9317
Closes #6513
Disallows tokio::spawn & spawn_blocking, exceptions only in some tests
Rationale for this change
We need to provide cancel-safe interface, and preferably deny tokio::spawn at all
What changes are included in this PR?
Switch to JoinSet and removing of AbortOnDropSingle and AbortOnDropMany
Are these changes tested?
Not sure if there are any ideas how to test this, but existing tests works.

Are there any user-facing changes?
No

Yes, I completely agree and also thought about something like this approach to have a wrapper for these cases.
But really, it seems better to do this as a separate PR - this way the changes will be more granular and we won’t be blocked with this task.
Because at any moment another PR can start using spawn

Probably, such API is more intuitive:
struct SpawnedTask<T>(JoinSet<T>);

impl<T: 'static> SpawnedTask<T> {
   // it's constructor, without `self`
   pub fn spawn<F>(task: F) -> Self
    where
        F: Future<Output = T>,
        F: Send + 'static,
        T: Send,
    {
        let mut inner = JoinSet::new();
        inner.spawn(task);
        Ok(Self(inner))
    }

    pub async fn join(&mut self) -> Result<T, JoinError> {
        self.inner.join_next().await.expect("instance always have 1 task")
    }
}

Ok, I implemented a wrapper for spawned tasks.
Generally, there is no need in OrderedSpawnedTasks, this would be just an alias for Vec<SpawnedTask<T>>.
So I decided to update the code it right away, see https://github.com/apache/arrow-datafusion/pull/9318/commits/fcf70f15f5aeac5552d60293a7e8f1cbae5b461a

cc @alamb

The SpawnedTask abstraction looks great! Agreed that your API is more intuitive and Vec<SpawnedTask> is sufficient without an additional wrapper. Thanks again for knocking this out!

I might be missing something, but what is the issue with the AbortOnDrop interfaces? They seem like less boilerplate than the lroposed solution in this PR?

I found current interface less boilerplaite actually, but anyway - it's not a main point. Safety is more important.
AbortOnDrop didn't provide the same guarantees, we even may see JoinHandles were sent through channels and only then wrapped in this interface.  But we can cancel the execution even before receiver part is awaited.
Or just a lot of tasks spawned in a loop with await points in between and only then wrapped into AbortOnDropMany, so you probably never will reach the point they are wrapped.
There is no strict rules how to spawn tasks and how to work with them in the current codebase. And I personally encountered cancellation issues several times with datafusion.
So I just believe we need to have a safe way to work with this and intuitive
Just use SpawnedTask::spawn instead of tokio::spawn and we won't have at least obvious issues. Also compiler will prevent such code for us.
And as far as I can see it was raised even before: #6513

But a load of places were already refactored here https://github.com/apache/arrow-datafusion/pull/6750 🤔
We have a clippy warning and can specify to use SpawnedTask in case they would try to use tokio::spawn (see clippy.toml)
I guess it may improve dev experience
AbortOnDrop::spawn can work only for AbortOnDropSingle and it's kinda confusing naming to me
Every month datafusion has releases with breaking changes for users of library. Is that such important not to change internal structures which affects only devs? It has good outcomes at least for a product

The naming is definitely negotiable, I'm not making any claims to the truth with the current version.
Subjectively, it looks like this: we spawn a task and then we have SpawnedTask type.
Since it's only allowed place to spawn, AbortOnDrop seems redundant to me here. It's more like a documentation of behavior.

Thank you @DDtKey  and everyone who reviewed this PR. I thought it looks very nice and easy to use. Thank you all 🙏


Simulator iframe API changes

To better support data logging and radio.
Exposes the radio group and enabled status as a non-sensor value.
Placeholder state for data logging.
Will require editor updates.

Something about this change is causing unexpected MicroPython restarts. Puzzling over what...

This is working well, but I want to see it integrated with the editor before merging to prove it out and minimise breakage as both merge together.

https://github.com/microbit-foundation/python-editor-next/pull/909 does the editor side (failing due to URL but previous build passed).


[HUDI-4385] Support to trigger the compaction in the flink batch mode write.

Signed-off-by: LinMingQiang<EMAIL_ADDRESS>Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contribute/how-to-contribute before opening a pull request.

What is the purpose of the pull request
(For example: This pull request adds quick-start document.)
Brief change log
(for example:)

Modify AnnotationLocation checkstyle rule in checkstyle.xml

Verify this pull request
(Please pick either of the following options)
This pull request is a trivial rework / code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end.
Added HoodieClientWriteTest to verify the change.
Manually verified the change by running a job locally.

Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@LinMingQiang @danny0405 can we aim to land this for 0.12?

I think we can cc @LinMingQiang ~

👌🏻

Thanks for the fix, i have applied a fix patch:
4385.patch.zip


Add basic filters for products and orders list

Todo:

[x] Add filters for orders list
[x] Add filters for products list
[x] Add custom filter

Issue:
close #3184
close #3172

Blocked by #3265


Move tear off channels after rep notifies

Description
In this PR I have moved the tearing off of channels that have been newly marked as tear off (and we noticed after  an applycomponentupdate), to after rep notifies.
Why:
The TearOff test started failing after https://github.com/spatialos/UnrealGDK/pull/3268/files was merged, due to the Failed to invoke rep notifies for an object as its entity id was invalid warning.
However, that PR did not actually break tearoff. The reason it surfaced there was because I removed the early out clause for repnotifies.
void ActorSystem::TryInvokeRepNotifiesForObject(FWeakObjectPtr& WeakObjectPtr, FObjectRepNotifies& ObjectRepNotifies) const
{
	if (ObjectRepNotifies.RepNotifies.Num() == 0)
	{
		return;
	}

The change that broke this was the change that moved repnotifies for all entities till after all updates had been applied.
This changed the ordering of closing channels for tear off from after rep notifies had been applied, to before rep notifies were applied. Since applying rep notifies (with current implementation) requires a channel, this broke sending rep notifies.
Release note
TODO
Tests
Ran SpatialTestTearOff

@m-samiec would be good to get your 👀 on this, tear off is your domain


Eth and personal sign

This PR is mostly a migration to ts of this to have both eth_sign and personal_sign as proposed here https://github.com/MetaMask/metamask-extension/pull/4117
It also exposes signPersonalMessage from eth-keyring-controller

Codecov Report

Merging #29 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff           @@
##           master    #29    +/-   ##
======================================
  Coverage     100%   100%
======================================
  Files          18     19     +1
  Lines         889    989   +100
  Branches       97    107    +10
======================================
+ Hits          889    989   +100

Impacted Files
Coverage Δ

src/PersonalMessageManager.ts
100% <100%> (ø)

src/util.ts
100% <100%> (ø)
:arrow_up:

src/CurrencyRateController.ts
100% <0%> (ø)
:arrow_up:

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 e2098be...62a71b0. Read the comment docs.


Interprets :o and :O

@hassankhan Is it ok to make a new release?

Yeah definitely go for it! :smile:


Does it have any payment gateway?

Does it accept online payments?

No. you can integrate any online payment systems like paypal, stripe from php codeigniter.


SGPS fracpol

Hi Cameron,
I have taken a quick look into the RMTable (only sources from SGPS, Taylor+ 2009, and SPASS/ATCA)
I noticed that for the SGPS data, the fracpol appears to be in per-cent instead of fraction (which would follow the convention defined in the Google Doc).
Could you please check if it is indeed the case?
Thanks,
Jackie
Edit: Seems to be the case for CGPS2003 as well; all other entries seem fine

Yep, looks like I forgot to make that conversion. Also for the new CGPS RMs (which aren't in the catalog yet, but uses the same convention).
Thanks a lot for finding this! There's probably a lot of little mistakes like this; it's hard to keep track of everything when dealing with a few dozen catalogs. I really appreciate you taking the time to look at the master catalog and reporting things like this.
I'm currently drowning in pipeline work, so I'm not going to generate a fixed version right away, but I'll leave the issue open as a reminder to do it when I get back to working on this again.

No problem, glad that I could help! I have to say that this RM catalogue is really useful and I appreciate your effort in building & maintaining it!

I forgot to close this issue when I fixed this last year. Whoops. Sorry for the spam.


BottomSheet blocking taps to view underneath

I have bottom sheet running in a iOS project with Xcode 12. Issue - the sheet seems to be blocking taps on annotations running on the embedded mapview below the sheet, any ideas why?

oops my oversight all sorted. Cheers for a fantastic mod.


Fix integration test failure due to RBAC enablement

Release note:

none

@myidpt: Adding do-not-merge/release-note-label-needed because the release note process has not been followed.

One of the following labels is required "release-note", "release-note-action-required", or "release-note-none".
Please see: https://github.com/kubernetes/community/blob/master/contributors/devel/pull-requests.md#write-release-notes-if-needed.
Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@myidpt: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/auth-presubmit.sh
1a0217871c92749de4506ba69e7edd208f9af57d
link
/test auth-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/lgtm

@myidpt: you cannot LGTM your own PR.

In response to this:

/lgtm

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/lgtm


[turborepo] with-docker example's Dockerfiles violating best practices

Which project is this feature idea for?
Turborepo
Describe the feature you'd like to request
I think the current with-docker example's Dockerfiles is not good for utilizing Docker build cache.
# Set working directory
COPY . .
RUN turbo prune --scope=web --docker

This will copy all files in the monorepo project, which takes more time than neccessary, also if any other package change, even if that package is not a dependency of the current package, it will invalidate the build cache, causing all statements after COPY . . to run again.
Describe the solution you'd like
I think RUN turbo prune --scope=web --docker should run outside of the Docker container, and only COPY the .out directory which will invalidate Docker build cache only if any related file actually changes.
Describe alternatives you've considered
.

@NexZhu Care to elaborate why you closed this issue? I think I'm running into exactly the same problem. Docker builds are taking ages with TurboRepo because basically the whole Docker caching mechanism is circumvented.

@soulchild Because I didn't look at the Dockerfile carefully before I opened the issue, after taking a look again, I think the builder stage itself runs very fast, and if the content of the out directory doesn't change (if soms unrelated packages change, it won't effect the out directory content), the COPY --from=builder /app/out/xxx commands' cache won't be invalidated, so overall it shouldn't slow down the build.
But if you found it taking ages, maybe I was wrong this time, and there are actually optimizations needed to be done to the Dockerfile, but I don't know where. I've reopend the issue so people can look into it more closely.

@NexZhu You're right: For whatever reasons, repeated build runs now use the Docker cache correctly (from the installer stage onwards). Maybe I had something else tripping up the build process…


Adopt the kubecarrier project to template-project

Acceptance Criteria:

[ ] Config the header of the LICENSE.
[ ] Add the /hack/verify-boilerplate.sh to pre-commit hooks.
[ ] Fill out the README.md in the root directory.

I'd say we completed this issue


Fix the regression caused by 9.0.2072

The instruction to convert the dict index to a string is generated later in the compile_member() function.  So no need to generate that in compile_load_lhs().
Fixes #13485.

thanks!


merge from template-kronos-app

package.json

chore(deps): add ^9.0.2 remove ^9.0.1 (devDependencies.npm-pkgbuild)

.github/workflows/ci.yml

chore: add ${{ secrets.PKGBUILD_PUBLISH }} (jobs.release.steps.env.PKGBUILD_PUBLISH)

:tada: This PR is included in version 1.10.93 :tada:
The release is available on:

v1.10.93
GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Refactored code editor from collaboration page

Refactored the code out to make the code more readable, will try to implement matching soon.

I also added theme changing and managed to get the current code in the editor.  We can use this to implement the history feature and also maybe store it in case user disconnects etc


SchemaReader column definitions are incomplete for composite primary keys

Given the following CREATE TABLE statement:
CREATE TABLE t (
    col1 INTEGER,
    col2 INTEGER,
    col3 INTEGER,
    PRIMARY KEY (col1, col2)
);

A call to db.schema.columnDefinitions(table: "t") should return three ColumnDefinitions where the column definitions for col1 and col2 are marked as being part of the primary key.
Instead, only the first column is marked as being part of the primary key.
Example test case (e.g. in SchemaReaderTests):
    func test_columnDefinitions_composite_primary_keys() throws {
        try db.run("""
        CREATE TABLE t (
          col1 INTEGER,
          col2 INTEGER,
          col3 INTEGER,
          PRIMARY KEY (col1, col2)
        );
        """)

        XCTAssertEqual(
            try schemaReader.columnDefinitions(table: "t"), [
            ColumnDefinition(
                    name: "col1",
                    primaryKey: .init(autoIncrement: false),
                    type: .INTEGER,
                    nullable: true,
                    defaultValue: .NULL,
                    references: nil),
            ColumnDefinition(
                    name: "col2",
                    primaryKey: .init(autoIncrement: false),
                    type: .INTEGER,
                    nullable: true,
                    defaultValue: .NULL,
                    references: nil),
            ColumnDefinition(
                    name: "col3",
                    primaryKey: nil,
                    type: .INTEGER,
                    nullable: true,
                    defaultValue: .NULL,
                    references: nil)
            ]
        )
    }

The test fails, as the second column is not detected as being part of the composite primary key.
This is due to the following line:
https://github.com/stephencelis/SQLite.swift/blob/f1bee07ea9aa304d7e7024e759c4a031672c8732/Sources/SQLite/Schema/SchemaReader.swift#L28
The PRAGMA table_info that is used to return the column definitions, returns one row for each defined column. The pk column contains:

... either zero for columns that are not part of the primary key, or the 1-based index of the column within the primary key).

See https://www.sqlite.org/pragma.html#pragma_table_info
A possible fix could be to change that line to:
    primaryKey: (row[TableInfoTable.primaryKeyColumn] ?? 0) > 0 ?

Build Information

Include the SQLite.swift version: 0.14.1
Mention Xcode and OS X versions affected: Xcode 14.3 and macOS Ventura 13.4
How do do you integrate SQLite.swift in your project: Swift Package manager

You're right. I didn't see your PR was not marking this issue for auto fix (using "Fix #..." in the PR description)


Does the event recurrence Plugin support Exception ?

Is your feature request related to a problem? Please describe.
Delete or modify an occurrence

Not yet, but probably I'd build this eventually (or would be open to PRs)


Feature Request - Wiki for the Vehicle

I want to be able to include detailed instructions on how to perform a specific Services/Repairs/Upgrades on one of the vehicles in my garage.
I would like to track the following in the instructions:

Supplies needed with an amount quantities and estimated cost.
Tools need for the service.
Estimated time needed to perform the service.
actually instructions, preferably with a way to SEE photos that were added in the instructions when viewing.
ability to add links to YouTube videos or websites for reference.

This way I can make sure I have everything I need and enough time to complete the service before I start and have the instructions ready to go.
As a new DIYer, I find myself looking up the youtube videos and website for instructions before hand and its would be nice to have it part of this application in one place.
I would prefer it at the vehicle level so I can have vehicle specific instructions with the appropriate torque settings and photos/links for that specific vehicle

This sounds like a Plan Template.

hm? You don't have to re-write the steps. If you create a plan template, you can just re-use the template over and over again and it will automatically apply the supplies and the notes, files, attachments, etc. to it.

https://www.youtube.com/watch?v=qnew5I6UU8c&t=174s

If you create a template for it you can.

You can just delete the old template and re-create it.


[Draft] Approximations for SIN in function.py (almost) passing all tests.

Description
An approximation of mathematical functions(sin exp2, and log2 (As of now only sin is implemented.)) based on SLEEF.
Changes

Added two bitwise operations, BinaryOps.AND and BinaryOps.OR to quickly compute numbers that cannot be fully covered by FP64 when reducing the argument.

[ ] [TO FIX] As of now, some tests of PTX fail using assembly.py due to this IR.

Added an approximation implementation of Sin.

Implementation

Sin

Depending on the scale of the input value, different approaches are used for approximation.
For example, when executing in FP32, Cody-Waite Reduction is used for x < 39000.0, and Payne-Hanek Reduction (this is why I had to implement new uops) is used for larger values to reduce the input value to the range of [-π/4, +π/4]. After this reduction, the sine function is approximated using a polynomial.
This ensures that even very large inputs, such as those greater than 1e22, can be correctly approximated.
In deep learning, it is rare to deal with very large numbers such as x >= 39000.0, so a fast (default: False) option has been implemented. When this option is set to True, the bottleneck Payne-Hanek Reduction is skipped. (See the benchmark below)

Log2 (TODO)

Exp2 (TODO)

Workload

[ ] Fix assembly.py to support PTX=1
[ ] Add unittests for BinaryOps.AND and BinaryOps.OR
[ ] FP16 Sin
[x] FP32 Sin
[x] FP64 Sin
[ ] FP16 LOG2
[ ] FP32 LOG2
[ ] FP64 LOG2
[ ] FP16 EXP2
[ ] FP32 EXP2
[ ] FP64 EXP2
[ ] Clean up the changes for the review

Speed Improvements
# A simple benchmark set on sin.

# Approximate=True, fast=False, CLANG=1, shape=10000x10000, FP32
avg:    29.71 GFLOPS     8.46 GB/s           total:    11 kernels    28.10 GOPS     8.00 GB   945.66 ms

# Approximate=True, fast=True, CLANG=1, shape=10000x10000, FP32
avg:    39.35 GFLOPS    10.38 GB/s           total:     3 kernels     9.10 GOPS     2.40 GB   231.25 ms

# Approximate=False(i.e.: UnaryOps.SIN), CLANG=1, shape=10000x10000, FP32
avg:     0.97 GFLOPS     2.92 GB/s           total:     3 kernels     0.80 GOPS     2.40 GB   822.26 ms

Nice, I think this is the first one to make tests pass!
For BinaryOps.AND and BinaryOps.OR, you can bitcast to bool and use MUL/ADD. If this isn't fast, we should make it fast. I consider this outside the scope of the bounty though, so if you get the tests passing with AND/OR the bounty is yours.

Thank you for the advice! Exp and Log is not as difficult as sin, so I guess it can be done quickly. Nevertheless, the AMD tests are not passing though :(.

I was able to implement Exp2 which passes the uops test locally.
I think one of the challenging parts of this bounty is that the tests (e.g.: test_schedule.py) assume that Exp2 is fused into a single kernel. However, with my understanding and approximation implementation, using bitcast=True causes Exp2 to be split into two kernels, resulting in test failures.
What would be the ideal solution to pass the tests?

Find an approximation implementation that is fused into a single kernel. (UnaryOps.EXP2/UnaryOps.SIN/UnaryOps.LOG2 can be removed.)
Modify test_schedule.py to adapt to the new results
Keep both the approximation implementation and UnaryOps.EXP2, and disable the approximation path with Tensor.exp2(fast=False).

Hmm, bitcast shouldn't be splitting the kernel, but also out of scope of the bounty. Want to post an issue with a minimal repro that causes a kernel to be split? It's probably a bug, I would have expected it to be in a single kernel.
You can ignore the scheduler tests if they are the only failures.

The AMD may be failing because REMU, our AMD emulator, doesn't support all the ops. @Qazalin, can you look into this and add an error message instead of a crash?

This looks pretty close actually. Bounty locked. What's the issue with FP16 support?
For BinaryOps.AND and OR, have you tried doing it with bitcast to bool and MUL/ADD? If there's a reason that doesn't work, we'll have to get those merged in a separate PR with tests.

Also, want to move this out of function.py and into a new file? Just import the three functions in function.py

Thank you very much for your detailed response!!

Want to post an issue with a minimal repro that causes a kernel to be split? It's probably a bug

Yes, I will do that. (It's 7:00 in Japan now and I need to go to school so it might take a bit longer)
> What's the issue with FP16 support?
There is no issue related to tinygrad. Actually, I haven't started working on it because I haven't found any documentation on implementing FP16 support in SLEEF or PyTorch. (I plan to implement it tonight along with a simulation using Julia)
> For BinaryOps.AND and OR, have you tried doing it with bitcast to bool and MUL/ADD?
Actually, I don't quite understand how to use the method with bitcast and MUL/ADD. When I do .cast(dtypes.bool, True), I encounter the following error:
def cast(self, dtype:DType, bitcast:bool=False):
      if self.dtype == dtype: return self
      if self.device.startswith("DISK") and not bitcast: raise RuntimeError("attempted to cast disk buffer (bitcast only)")
      if self.is_unrealized_unmasked_const() and not bitcast:
        return create_lazybuffer(self.device, self.st, dtype, LoadOps.CONST, dtypes.as_const(self.base.arg, dtype))
      new_shape = self.shape
      if bitcast and self.dtype.itemsize != dtype.itemsize:
>       if not self.device.startswith("DISK"): raise RuntimeError("shape changing bitcast only supported on DISK right now")
E       RuntimeError: shape changing bitcast only supported on DISK right now

tinygrad/lazy.py:102: RuntimeError

Also, want to move this out of function.py and into a new file?

Yes, I totally agree. What name should it have? (tinygrad/fastmath.py?)

I think the current implementation in function.py is too complicated to read, making the review and discussion harder. So, I will share a code based on the experimental code for reference. (Apologies if there are any inconsistencies).

_xsin(x)
Corresponding code in SLEEF:

https://github.com/shibatch/sleef/blob/4e08851f59fc2b545f9c393c6a23dfd311a26308/src/libm/sleefsp.c#L464
https://github.com/shibatch/sleef/blob/4e08851f59fc2b545f9c393c6a23dfd311a26308/src/libm/sleefdp.c#L789

FP16 is not working.
import Base: TwicePrecision, significand_bits, significand_mask, exponent_mask, exponent_bias
const two_over_pi_f = [
    0x00000000,
    0x28be60db,
    0x9391054a,
    0x7f09d5f4,
    0x7d4d3770,
    0x36d8a566,
    0x4f10e410
]
function float_to_bits(x::Float32)
    return reinterpret(UInt32, x)
end

function bits_to_float(x::UInt32)
    return reinterpret(Float32, x)
end

function float_to_bits(x::Float64)
    return reinterpret(UInt64, x)
end

function bits_to_float(x::UInt64)
    return reinterpret(Float64, x)
end

function float_to_bits(x::Float16)
    return reinterpret(UInt16, x)
end

function bits_to_float(x::UInt16)
    return reinterpret(Float16, x)
end

function my_frexp(value::Float16)
    if value == Float16(0.0)
        return Float16(0.0), 0
    end

    bits = float_to_bits(value)
    exponent = (bits >> 10) & 0x1F

    if exponent == 0
        return value, 0
    end

    exp = exponent - 14
    return bits_to_float((bits & 0x83FF) | 0x3C00), exp
end

function my_frexp(value::Float32)
    if value == 0.0f0
        return 0.0f0, 0
    end

    bits = float_to_bits(value)
    exponent = (bits >> 23) & 0xFF

    if exponent == 0
        return value, 0
    end

    exp = exponent - 126
    return bits_to_float((bits & 0x807FFFFF) | 0x3F000000), exp
end

function my_frexp(value::Float64)
    if value == 0.0
        return 0.0, 0
    end

    bits = float_to_bits(value)
    exponent = (bits >> 52) & 0x7FF

    if exponent == 0
        return value, 0
    end

    exp = exponent - 1022
    return bits_to_float((bits & 0x800FFFFFFFFFFFFF) | 0x3FE0000000000000), exp
end

function reduce_large(a::Float16)
    f, e = my_frexp(a)
    ia = UInt64(abs(Float16(f)) * 0x1.0p32)
    i = UInt64(e) >> 5
    e = UInt64(e) & 31

    if e != 0
        hi = (two_over_pi_f[Int(i) + 1] << e) | (two_over_pi_f[Int(i) + 2] >> (32 - e))
        mid = (two_over_pi_f[Int(i) + 2] << e) | (two_over_pi_f[Int(i) + 3] >> (32 - e))
        lo = (two_over_pi_f[Int(i) + 3] << e) | (two_over_pi_f[Int(i) + 4] >> (32 - e))
    else
        hi = two_over_pi_f[Int(i) + 1]
        mid = two_over_pi_f[Int(i) + 2]
        lo = two_over_pi_f[Int(i) + 3]
    end

    p = UInt64(ia) * UInt64(lo)
    p = UInt64(ia) * UInt64(mid) + (p >> 32)
    p = (UInt64(ia) * UInt64(hi) << 32) + p

    q = Int32(p >> 62)
    p = p & 0x3fffffffffffffff
    if p & 0x2000000000000000 != 0
        p -= 0x4000000000000000
        q += 1
    end

    d = Float64(p)
    d *= 0x1.921fb54442d18p-62
    r = Float16(d)
    if a < Float16(0.0)
        r = -r
        q = -q
    end

    return r, q
end

function reduce_large(a::Float64)
    f, e = my_frexp(a)
    ia = UInt64(abs(f) * 0x1.0p32)
    i = UInt64(e) >> 5
    e = UInt64(e) & 31
    if e != 0
        hi = (two_over_pi_f[Int(i) + 1] << e) | (two_over_pi_f[Int(i) + 2] >> (32 - e))
        mid = (two_over_pi_f[Int(i) + 2] << e) | (two_over_pi_f[Int(i) + 3] >> (32 - e))
        lo = (two_over_pi_f[Int(i) + 3] << e) | (two_over_pi_f[Int(i) + 4] >> (32 - e))
    else
        hi = two_over_pi_f[Int(i) + 1]
        mid = two_over_pi_f[Int(i) + 2]
        lo = two_over_pi_f[Int(i) + 3]
    end

    p = UInt64(ia) * UInt64(lo)
    p = UInt64(ia) * UInt64(mid) + (p >> 32)
    p = (UInt64(ia) * UInt64(hi) << 32) + p

    q = Int32(p >> 62)
    p = p & 0x3fffffffffffffff
    if p & 0x2000000000000000 != 0
        p -= 0x4000000000000000
        q += 1
    end

    d = Float64(p)
    d *= 0x1.921fb54442d18p-62
    r = Float64(d)
    if a < 0.0
        r = -r
        q = -q
    end

    return r, q
end

function reduce_large(a::Float32)
    f, e = my_frexp(a)
    # f, e = OK
    ia = UInt64(abs(float(f)) * 0x1.0p32)
    i = UInt64(e) >> 5
    e = UInt64(e) & 31
    if e != 0
        hi = (two_over_pi_f[Int(i) + 1] << e) | (two_over_pi_f[Int(i) + 2] >> (32 - e))
        mid = (two_over_pi_f[Int(i) + 2] << e) | (two_over_pi_f[Int(i) + 3] >> (32 - e))
        lo = (two_over_pi_f[Int(i) + 3] << e) | (two_over_pi_f[Int(i) + 4] >> (32 - e))
    else
        hi = two_over_pi_f[Int(i)+ 1]
        mid = two_over_pi_f[Int(i) + 2]
        lo = two_over_pi_f[Int(i) + 3]
    end

    # hi, ok -> ok
    # mid, ok -> ok
    # lo, ok -> ok

    p = UInt64(ia) * UInt64(lo)
    p = UInt64(ia) * UInt64(mid) + (p >> 32)
    p = ((UInt64(ia) * UInt64(hi)) << 32) + p

    q = Int32(p >> 62)
    p = p & 0x3fffffffffffffff
    if p & 0x2000000000000000 != 0
        p -= 0x4000000000000000
        q += 1
    end

    d = Float64(p) # maybe no need to use Float64, Float32 is enough?
    d *= 0x1.921fb54442d18p-62
    r = Float32(d)
    if a < 0.0
        r = -r
        q = -q
    end

    return r, q
end

function xsin(x)
    r, q = reduce_large(x)
    q = q % 4
    if q == 0
        return sin(r)
    elseif q == 1
        return sin(r + π/2)
    elseif q == 2
        return sin(-r)
    elseif q == 3
        return -sin(r + π/2)
    end
end

_xlog2(x)

https://github.com/shibatch/sleef/blob/4e08851f59fc2b545f9c393c6a23dfd311a26308/src/libm/sleefsp.c#L1671
https://github.com/shibatch/sleef/blob/4e08851f59fc2b545f9c393c6a23dfd311a26308/src/libm/sleefdp.c#L2072

import Base: TwicePrecision, significand_bits, significand_mask, exponent_mask, exponent_bias

function float_to_bits(x::Float32)
    return reinterpret(Int32, x)
end

function bits_to_float(x::Int32)
    return reinterpret(Float32, x)
end

function float_to_bits(x::Float64)
    return reinterpret(Int64, x)
end

function bits_to_float(x::UInt64)
    return reinterpret(Float64, x)
end

function bits_to_float(x::Int64)
    return reinterpret(Float64, x)
end

const FLT_MIN = 1.0#1.4012984643248170709e-4

function ilogb2kf(d::Float32)
    return ((float_to_bits(d) >> 23) & 0xff) - 0x7f
end

function ldexp3kf(d::Float32, e::Int32)
    return bits_to_float(float_to_bits(d) + (e << 23))
end

function ilogb2kf(d::Float64)
    return ((float_to_bits(d) >> 52) & 0x7ff) - 0x3ff
end

function ldexp3kf(d::Float64, e::Int64)
    return bits_to_float(float_to_bits(d) + (e << 52))
end

function mlaf(x, y, z)
    return x * y + z
end

function dfmul_f2_f_f(x, y)
    xh = upper(x)
    yh = upper(y)
    xl = x - xh
    yl = y - yh

    rx = x * y;
    ry = (xh * yh) - rx + (xl * yh) + (xh * yl) + (xl * yl);
    return rx, ry
end

function dfadd_f2_f_f2(x, yx, yy)
    rx = x + yx
    ry = x - rx + yx + yy
    return rx, ry
end

function xlog2(d::Float32)
    o = d < FLT_MIN
    if o
        d *= 2^32
        d *= 2^32
    end

    e = ilogb2kf(Float32(d * (1.0/0.75)))
    m = ldexp3kf(d, -e)

    if o
        e -= 64
    end

    x = (m - 1) / (m + 1)
    x2 = x * x

    t = +0.4374088347e+0
    t = mlaf(t, x2, +0.5764843822e+0)

    t = mlaf(t, x2, +0.9618024230e+0)
    r = mlaf(x2 * x, t, mlaf(x, +0.2885390043e+1, e))

    if d == Inf
        r = Inf
    end

    if d < 0 || d == NaN
        r = NaN
    end

    if d == 0
        r = -Inf
    end

    return Float32(r)
end

const DFLT_MIN = 1.0#1.4012984643248170709e-4

function xlog2(d::Float64)
    o = d < DFLT_MIN
    if o
        d *= 2^32
        d *= 2^32
    end

    e = ilogb2kf(Float64(d * (1.0/0.75)))
    m = ldexp3kf(d, -e)

    if o
        e -= 64
    end

    x = (m - 1) / (m + 1)
    x2 = x * x

    t = +0.2211941750456081490e+0
    t = mlaf(t, x2, +0.2200768693152277689e+0)
    t = mlaf(t, x2, +0.2623708057488514656e+0)
    t = mlaf(t, x2, +0.3205977477944495502e+0)
    t = mlaf(t, x2, +0.4121985945485324709e+0)
    t = mlaf(t, x2, +0.5770780162997058982e+0)
    t = mlaf(t, x2, +0.96179669392608091449)

    a, b = dfmul_f2_f_f(2.885390081777926774, x)
    sx, sy = dfadd_f2_f_f2(e, a, b)

    r = mlaf(t, x * x2, sx + sy)
    if d == Inf
        r = Inf
    end

    if d < 0 || d == NaN
        r = NaN
    end

    if d == 0
        r = -Inf
    end

    return Float64(r)
end

_xexp2(x)

https://github.com/shibatch/sleef/blob/4e08851f59fc2b545f9c393c6a23dfd311a26308/src/libm/sleefsp.c#L1538

https://github.com/shibatch/sleef/blob/4e08851f59fc2b545f9c393c6a23dfd311a26308/src/libm/sleefdp.c#L1910C21-L1910C26

It gets really, really close!
Passed all tests with Metal/OpenCL. LLVM/CLANG should pass all if NaN handling is tweaked. NV will pass after refactoring the last two tests, but AMD and PTX need a few more commits.
https://github.com/hikettei/tinygrad/pull/1
I've split the PR, so I'm currently running integration tests on my fork. I plan to create a PR once the foundation is a bit more solid.

The remaining task is to implement (u)int64 AND/OR on AMD, which will allow all tests to pass. After that, we can move on to the review stage.

I have confirmed that all kernels can be fused into one. Here's the latest version of the simple benchmark.
Benchmark
Conditions

Device: Apple M3 Pro Max (11 Core CPU, 14 Core GPU)
N: 10000x10000

Runtime
Op
Dtype
Base(m)
Approx(ms)
Approx_fast(ms)

CLANG
sin
fp16
363.41
1041.16
348.48

CLANG
sin
fp32
438.88
934.55
251.88

CLANG
sin
fp64
783.28
1724.33
872.14

CLANG
exp2
fp16
419.21
148.58
x

CLANG
exp2
fp32
251.58
187.16
x

CLANG
exp2
fp64
526.56
360.89
x

CLANG
log2
fp16
691.15
280.76
x

CLANG
log2
fp32
318.36
263.66
x

CLANG
log2
fp64
629.59
547.40
x

METAL
sin
fp16
84.03
76.18
82.46

METAL
sin
fp32
163.88
184.78
167.57

METAL
sin
fp64
x
x
x

METAL
exp2
fp16
80.90
81.96
x

METAL
exp2
fp32
163.35
160.55
x

METAL
exp2
fp64
x
x
x

METAL
log2
fp16
78.44
80.41
x

METAL
log2
fp32
167.19
166.89
x

METAL
log2
fp64
x
x
x

(x = not implemented, approx_fast = an option to ignore payne_hanek reduction for sin)
FYI: FP16 implementation can be further optimized by using table-lookup-based algorithm

Moved to https://github.com/tinygrad/tinygrad/pull/5187

moved bounty lock and updated spreadsheet to point to #5187

thanks, so I will close the old one.


CI: use standard GHA runners

"Larger" runners are no longer required for nested virt with Linux

"Larger" runners are no longer required for nested virt with Linux

Is this change documented anywhere by Github?

"Larger" runners are no longer required for nested virt with Linux

Is this change documented anywhere by Github?

No, but relates to https://github.blog/2024-01-17-github-hosted-runners-double-the-power-for-open-source/


Stack definition fixed

Current coverage is 95.88%

Merging #1198 into master will not affect coverage as of 09bbcdd

@@            master   #1198   diff @@
======================================
  Files           78      78
  Stmts         9155    9155
  Branches      1714    1714
  Methods          0       0
======================================
  Hit           8778    8778
  Partial         92      92
  Missed         285     285

Review entire Coverage Diff as of 09bbcdd

Powered by Codecov. Updated on successful CI builds.

It was ok before, Stack isn't a Seq any more. Otherwise also the return types need to be overwritten. It is just a convenience interface to augment another collection with Stack operations.
This PR can be closed.
In the case of object serialization it is sufficient if List is serializable.

OK
Then I can completely remove Stack from jackson

Yep, thx!


Validate eve.json output /v6

Validates eve.json output using JSON schema.
Link to redmine ticket: https://redmine.openinfosecfoundation.org/issues/1369
Changes from last PR : #461

Used TOPDIR to get the correct path
Fixed the incorrect output

Changes continued in #467


Why avoid 64bit Python?

I'd like to install NLTK for a new project, but the installation page asks you to avoid the 64 bit version. Why is that? I'd like to run Python in 64 but to maximize my performance and to allow the use of more RAM.
(Github might not be the best place to ask this question but I couldn't find any contact information on the website)

Could it be because of issues specific to Windows. I use 64 bit python on Linux and Mac and it forks fine.
What parts of NLTK do you plan to use?

@dimazest Not sure yet. Considering my domain is syntax, I'll probably use the treebank function. But I haven't read into the documentation as much as I should, so I probably could use a lot more functions.

We advised against 64-bit windows because of no end of problems being reported on the NLTK mailing list, possibly due solely to problems with Python. Please let us know if you can get it to work, and what your configuration is.

I'm sorry, I don't entirely get what you mean. Do you mean that a lot of people are reporting problems when using 64 bit Python? Or on 64 bit systems? Or on 64 bit CPUs?

@BramVanroy please see: https://groups.google.com/forum/#!searchin/nltk-users/64$20bit

@stevenbird From what I've gathered in that thread, NLTK  ought to work in 64 bit Python. See this post. However, it doesn't seem to work perfectly well with some IDEs. Maybe some further investigation is possible to find out the issue? Unfortunately I'm not skilled enough for the task.

Possible Solve. no errors so far.
installed pip, numpy, wheel, pipenv, setuptools, virtualenv, virtualwrapper, NLTK, etc.
system-> Advanced system settings -> Environment Variables -> EDIT path -> NEW paths
C:\Users\USERNAME\AppData\Local\Programs\Python\Python37\Scripts
C:\Users\USERNAME\AppData\Local\Programs\Python\Python37
C:\Users\USERNAME\AppData\Roaming\Python\Python37\Scripts
C:\Users\USERNAME\AppData\Roaming\Python\Python37
of course these will differ for where ever you installed pip & python and your username
IMPORTANT you do Local and Roaming paths


Release Google.Cloud.CertificateManager.V1 version 2.6.0

Changes in this release:
New features

Change netstandard2.1 target to netstandard2.0 (commit 82bea85)

Created release for Google.Cloud.CertificateManager.V1-2.6.0


Issue with "More" button's hover highlight on selected post on Advanced Interface

In Mastodon Bird UI 1.8.5 (tested 1.8.4, 1.8.3 too), with single and mutli-column installed by custom CSS on top of my Mastodon 4.2.5 install, I'm seeing a misaligned hover effect on the "More" button, on a post selected in the "detail" column on the advanced interface.

The URL I am on in the screenshot above is https://masto.theoks.net/deck/<EMAIL_ADDRESS>All the other action buttons both on the selected post and other posts in lists seem to have correct hover effects.
The screenshot is in Firefox on Linux, but I did double check on Chrome, and it appears the same there.
Let me know if there's anything I can do to help figure the issue out, and thanks in advance!

These are sometimes pretty hard to fix because of the relation limitations of the Mastodon core HTML. I could make this different to multiple columns CSS. Pull requests always appreciated.

Can't reproduce this on stable + mstdn.social 4.2.8 or nightly + mementomori.social 4.3.0-alpha. Closing as wontfix/minor at this time.


Terraform syntax for Rollbar notification rules

I'm thinking about whether notification rules for different alert channels should be different Terraform resources; or whether they should be combined into a single resource.
I'm leaning toward a combined resource, but I would like to know your throughts.  @coryvirok @mrunalk @jondeandres
Separate resources per channel
Advantage: Closely follows the underlying API
Disadvantage: Repetitive if we configure the same notification rule for different channels
resource "rollbar_notification_email" "foo" {

  token_id = rollbar_project_access_token.write_token.id

  rule {
    trigger = "new_item"
    environment_filter {
      operation = "eq"
      value = "foo"
    }
  }

  config {
    users =<EMAIL_ADDRESS>  }

}

resource "rollbar_notification_slack" "foo" {

  token_id = rollbar_project_access_token.write_token.id

  rule {
    trigger = "new_item"
    environment_filter {
      operation = "eq"
      value = "foo"
    }
  }

  config {
    channel = "rollbar"
  }

}

Combined resource
Advantage: More convenient and less repetitive when we want the same notification rule to alert different channels
Disadvantage: Does not closely follow underlying API
resource "rollbar_notification" "foo" {

  token_id = rollbar_project_access_token.write_token.id

  rule {
    trigger = "new_item"
    environment_filter {
      operation = "eq"
      value = "foo"
    }
  }

  email {
    users =<EMAIL_ADDRESS>  }

  slack {
    channel = "rollbar"
  }
}

@jmcvetta it'd be great if that's doable, but I am not sure that'll fit the product as it is right now.
At the end a "new item" rule is a combination of:

A generic rule for a new_item trigger
Some specific properties for every channel's rule

Example:
We define in our Open Spec API definition a "new item email rule" as:
    NewItemEmailRule:
      type: object
      allOf:
        - $ref: '#/components/schemas/NewItemRule'
        - $ref: '#/components/schemas/EmailRuleConfig'

Where NewItemRule is a generic representation for "new item rule" which is:
    NewItemRule:
      type: object
      required:
        - trigger
      properties:
        trigger:
          type: string
          enum: ['new_item']
          description: An error/ message is seen for the first time
        filters:
          type: array
          description: To keep your notifications relevant, you'll want to apply filters to limit when they send messages or create incidents.
          items:
            anyOf:
              - $ref: "#/components/schemas/environment_filter"
              - $ref: '#/components/schemas/level_filter'
              - $ref: '#/components/schemas/title_filter'
              - $ref: '#/components/schemas/filename_filter'
              - $ref: '#/components/schemas/context_filter'
              - $ref: '#/components/schemas/method_filter'
              - $ref: '#/components/schemas/framework_filter'
              - $ref: '#/components/schemas/path_filter'
              - $ref: '#/components/schemas/path_filter_with_exists'

But each email rule has its specific properties through EmailRuleConfig:
    EmailRuleConfig:
      type: object
      properties:
        config:
          type: object
          properties:
            teams:
              type: array
              description: List of team names to send emails to
            users:
              type: array
              description: List of usernames or email addresses to send emails to

As you can see, in summary, every rule is combined with the generic properties of that rule type but also specific properties of each channel. So I think we'd need a different resource definition on each channel in terraform too.

The combined resource syntax is good if users often like to configure the same notification to be sent on multiple channels.    But it does not reflect the current API, and (probably?!) does not reflect the underlying database.
It's possible to create a synthetic TF resource - i.e. a resource that does not have a 1:1 relationship with an entity on the API.  We're doing this with the rollbar_user resource, as discussed in #87.  It's definitely a lot more complicated than a normal TF resource.  Is it worth it / a good idea here?
What's feasible and desirable here may depend a lot on the database structure behind the API, and the roadmap for its future.  Is a notification rule one wide table, with a column for every field and sub-field described in the API?  Or is a notification rule a narrow table with mostly foreign key columns?
Any implementation of a TF resource for notification rules will require some additions/changes to the API.  The underlying database structure will probably determine whether those additions/changes are easy or difficult to make.

Don't have a big opinion on approach here, but wanted to say +1 to requesting this feature. My team would love to manage our rollbar notifications -- especially our grouping & filters since they've gotten more complex lately -- via terraform.

We've basically given up on managing rollbar notifications without this feature in a tool like terraform - manually doing things is painful and the we don't really want to plumb in our own service to manipulate these via API for each new service. Would love to see this out


update(build): updated plugins to latest versions.

Signed-off-by: Federico Di Pierro<EMAIL_ADDRESS>
What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

If contributing rules or changes to rules, please make sure to also uncomment one of the following line:

/kind rule-update

/kind rule-create

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area engine

/area rules

/area tests

/area proposals

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

update(build): updated plugins to latest versions.

/milestone 0.32.0

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, jasondellaluce, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jasondellaluce,leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Improve Travis CI build Performance

According to the official document Fast Finishing, if some rows in the build matrix are allowed to fail, we can add fast_finish: true to the .travis.yml to get faster feedbacks.
=====================
If there are any inappropriate modifications in this PR, please give me a reply and I will change them.

@googlebot I signed it!