Bug: Only CMake versions up to 3.19.8 are downloaded

From CMake version 3.20 and up, the Linux tarballs are renamed from cmake-3.XX.XX-Linux-x86_64.tar.gz to cmake-3.XX.XX-linux-x86_64.tar.gz.
The difference in casing causes create_version_dict() in cmake_downloader.py to not find newer CMake versions.

Thanks for reporting!


Progress bar

Related Issue

Info about Issue or bug

Closes: #[331]
Describe the changes you've made
I have added a project progress bar to this  Awesome-JavaScript-Projects  It contains three files that are  progressbar.html, progressbar.css and prgressbar.js. It shows progress in % of HTML, CSS, JavaScript, React and WordPress.
Describe if there is any unusual behavior of your code(Write NA if there isn't)
NA
Checklist:

[ x] My code follows the style guidelines of this project.
[ x] I have performed a self-review of my own code.
[ x] I have commented on my code, particularly in hard-to-understand areas.
[ x] I have made corresponding changes to the documentation.
[ x] New and existing unit tests pass locally with my changes.

Screenshots
Put any screenshot(s) of the project here.

Done! please have look.

ma'am m not getting your point. you mean to say comment all thing js file one by one??

Done! now.

please assign into this giveaway app using vanilaJS #400

@pritamkr1 I didn't get it explain me this project a little.
Squash the commits too.

I'm totally confused about it how it shows in #390  and Resolves conflicts as well.

When I did My PR, all my PR showing here ... I don't why
I'm a newbie here please fix it?

it shows all my commits in #390 .

@pritamkr1 It is OK #390 is PR no and issue no is different from it.
I was addressing to link the issue rightly i.e,
In description remove square brackets, it will link your issue

closes #331

squash the commits mean ??

I don't know what I did please fix it, sir??

I will link the issue No worries.
What squashing does is it combines multiple commits into single commit removing unnecessary commits and add descriptive message. what you need to do is to squash them into one
squash only your 10 commits into one.
https://levelup.gitconnected.com/how-to-squash-git-commits-9a095c1bc1fc
You try yourself
Let me know if need any help.


Add more utility functions to the library

This adds utility functions to the Future library, so common ones can come packaged with the library instead of developers having to write them themselves.
I took inspiration from Evaera's Promise utils regarding what functions to add.
The PR proposes the addition of 5 functions.
ToFuture
Takes in some function, and returns a function that wraps it in a Future when called, passing in any given arguments to it.
Useful for quickly turning any yielding function into a Future-returning one.
All
Takes in an array of Futures, and returns a new Future which waits for them all to resolve, then returns an array of functions. These functions, when called, return the values returned by their respective Future.
The reason we can't just return the values directly, is that the only way to store the values at each key is to pack them - but this loses the type information. However, if we just use closures which return the values as a regular tuple, then we can still get types, and the developer can choose how to process the tuple.
AllSingle
The same as the previous function, but only works for Futures that return one value. It causes a type error if you pass in a Future that returns more than one value. The benefit here, is that we don't need to return a table of functions - we can just insert the value into the table directly because we know there is only one.
Considering many futures will only have one return value, I think this function is worth adding even if it only works for this subset of possible Futures.
There is also a potential problem, where if a developer has Futures that return more than one value, but they only care about the first value, they should be able to use AllSingle, however this will still raise a type error.
I can't really think of a solution to this, but it should be rare enough to not matter.
Any
Takes in a table of Futures, and returns a Future which resolves when the first Future in the table resolves.
Value
Takes in some values, and returns a Future that immediately resolves to those values.
Draft Status
Still need to write docs, but wanted to get some thoughts first before I write them.

Removed AllSingle. Implementing based off of typing is not a good idea.


Can't seem to find openai_gym.py example

Hi there,
I noticed in this README it mentions there is an example of using LEAP with the OpenAI gym:

openai_gym.py -- example of using Open AI gym with LEAP

I can't seem to find this example, not sure if you can help me find it?
Thanks for any help, and for this amazing library!

I'm unsure what the original file has become, but if you are looking for an example of using LEAP with OpenAI gym we have this cartpole example.

Thanks very much for the quick response and your help @lukepmccombs. Can confirm I'm able to run this example (and I also came across another similar/gymnasium example that works well too) - let me know if I can help submit a PR to update the docs.
Many thanks again!

Thank you for raising this, @asmith26!
Reopening to remind us to fix the README.


CPU limit is not optional

The variable defaults to 0, but it is allowed to leave it unset.
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_task_definition#cpu
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html
IMHO, we should allow to pass null to this module.
Error: Invalid value for module argument

  on main.tf line 33, in module "container-definition":
  33:   container_cpu                = var.container-cpu

The given value is not suitable for child module variable "container_cpu"
defined at .terraform/modules/container-definition/variables.tf:54,1-25: a
number is required.```

@aairey  How are you producing this?
I've supplied null to container_cpu in fixtures.us-east-2.tfvars in examples/complete and can produce a clean plan:
region = "us-east-2"

namespace = "eg"

stage = "test"

name = "container-definition"

container_name               = "app"
container_image              = "cloudposse/geodesic"
container_memory             = 256
container_memory_reservation = 128
#container_cpu                = 256
container_cpu                = null
essential                    = true
readonly_root_filesystem     = false

container_environment = [
  {
    name  = "string_var"
    value = "I am a string"
  },
  {
    name  = "true_boolean_var"
    value = true
  },
  {
    name  = "false_boolean_var"
    value = false
  },
  {
    name  = "integer_var"
    value = 42
  }
]

port_mappings = [
  {
    containerPort = 8080
    hostPort      = 80
    protocol      = "tcp"
  },
  {
    containerPort = 8081
    hostPort      = 443
    protocol      = "udp"
  }
]

log_configuration = {
  logDriver = "json-file"
  options = {
    "max-size" = "10m"
    "max-file" = "3"
  }
  secretOptions = null
}

privileged = false

extra_hosts = [{
  ipAddress = "<IP_ADDRESS>"
  hostname  = "app.local"
  },
]

hostname        = "hostname"
pseudo_terminal = true
interactive     = true

Terraform 0.13.7

 examples/complete $ terraform plan -var-file fixtures.us-east-2.tfvars
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # aws_ecs_task_definition.task will be created
  + resource "aws_ecs_task_definition" "task" {
      + arn                   = (known after apply)
      + container_definitions = jsonencode(
            [
              + {
                  + environment            = [
                      + {
                          + name  = "false_boolean_var"
                          + value = "false"
                        },
                      + {
                          + name  = "integer_var"
                          + value = "42"
                        },
                      + {
                          + name  = "string_var"
                          + value = "I am a string"
                        },
                      + {
                          + name  = "true_boolean_var"
                          + value = "true"
                        },
                    ]
                  + essential              = true
                  + extraHosts             = [
                      + {
                          + hostname  = "app.local"
                          + ipAddress = "<IP_ADDRESS>"
                        },
                    ]
                  + hostname               = "hostname"
                  + image                  = "cloudposse/geodesic"
                  + interactive            = true
                  + logConfiguration       = {
                      + logDriver = "json-file"
                      + options   = {
                          + max-file = "3"
                          + max-size = "10m"
                        }
                    }
                  + memory                 = 256
                  + memoryReservation      = 128
                  + mountPoints            = []
                  + name                   = "app"
                  + portMappings           = [
                      + {
                          + containerPort = 8080
                          + hostPort      = 80
                          + protocol      = "tcp"
                        },
                      + {
                          + containerPort = 8081
                          + hostPort      = 443
                          + protocol      = "udp"
                        },
                    ]
                  + privileged             = false
                  + pseudoTerminal         = true
                  + readonlyRootFilesystem = false
                  + volumesFrom            = []
                },
            ]
        )
      + family                = "eg-test-container-definition"
      + id                    = (known after apply)
      + network_mode          = (known after apply)
      + revision              = (known after apply)
      + skip_destroy          = false
      + tags                  = {
          + "Name"      = "eg-test-container-definition"
          + "Namespace" = "eg"
          + "Stage"     = "test"
        }
      + tags_all              = {
          + "Name"      = "eg-test-container-definition"
          + "Namespace" = "eg"
          + "Stage"     = "test"
        }
    }

Plan: 1 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + json_map_encoded                     = jsonencode(
        {
          + environment            = [
              + {
                  + name  = "false_boolean_var"
                  + value = "false"
                },
              + {
                  + name  = "integer_var"
                  + value = "42"
                },
              + {
                  + name  = "string_var"
                  + value = "I am a string"
                },
              + {
                  + name  = "true_boolean_var"
                  + value = "true"
                },
            ]
          + essential              = true
          + extraHosts             = [
              + {
                  + hostname  = "app.local"
                  + ipAddress = "<IP_ADDRESS>"
                },
            ]
          + hostname               = "hostname"
          + image                  = "cloudposse/geodesic"
          + interactive            = true
          + logConfiguration       = {
              + logDriver = "json-file"
              + options   = {
                  + max-file = "3"
                  + max-size = "10m"
                }
            }
          + memory                 = 256
          + memoryReservation      = 128
          + mountPoints            = []
          + name                   = "app"
          + portMappings           = [
              + {
                  + containerPort = 8080
                  + hostPort      = 80
                  + protocol      = "tcp"
                },
              + {
                  + containerPort = 8081
                  + hostPort      = 443
                  + protocol      = "udp"
                },
            ]
          + privileged             = false
          + pseudoTerminal         = true
          + readonlyRootFilesystem = false
          + volumesFrom            = []
        }
    )
  + json_map_encoded_list                = jsonencode(
        [
          + {
              + environment            = [
                  + {
                      + name  = "false_boolean_var"
                      + value = "false"
                    },
                  + {
                      + name  = "integer_var"
                      + value = "42"
                    },
                  + {
                      + name  = "string_var"
                      + value = "I am a string"
                    },
                  + {
                      + name  = "true_boolean_var"
                      + value = "true"
                    },
                ]
              + essential              = true
              + extraHosts             = [
                  + {
                      + hostname  = "app.local"
                      + ipAddress = "<IP_ADDRESS>"
                    },
                ]
              + hostname               = "hostname"
              + image                  = "cloudposse/geodesic"
              + interactive            = true
              + logConfiguration       = {
                  + logDriver = "json-file"
                  + options   = {
                      + max-file = "3"
                      + max-size = "10m"
                    }
                }
              + memory                 = 256
              + memoryReservation      = 128
              + mountPoints            = []
              + name                   = "app"
              + portMappings           = [
                  + {
                      + containerPort = 8080
                      + hostPort      = 80
                      + protocol      = "tcp"
                    },
                  + {
                      + containerPort = 8081
                      + hostPort      = 443
                      + protocol      = "udp"
                    },
                ]
              + privileged             = false
              + pseudoTerminal         = true
              + readonlyRootFilesystem = false
              + volumesFrom            = []
            },
        ]
    )
  + json_map_object                      = {
      + environment            = [
          + {
              + name  = "false_boolean_var"
              + value = "false"
            },
          + {
              + name  = "integer_var"
              + value = "42"
            },
          + {
              + name  = "string_var"
              + value = "I am a string"
            },
          + {
              + name  = "true_boolean_var"
              + value = "true"
            },
        ]
      + essential              = true
      + extraHosts             = [
          + {
              + hostname  = "app.local"
              + ipAddress = "<IP_ADDRESS>"
            },
        ]
      + hostname               = "hostname"
      + image                  = "cloudposse/geodesic"
      + interactive            = true
      + logConfiguration       = {
          + logDriver = "json-file"
          + options   = {
              + max-file = "3"
              + max-size = "10m"
            }
        }
      + memory                 = 256
      + memoryReservation      = 128
      + mountPoints            = []
      + name                   = "app"
      + portMappings           = [
          + {
              + containerPort = 8080
              + hostPort      = 80
              + protocol      = "tcp"
            },
          + {
              + containerPort = 8081
              + hostPort      = 443
              + protocol      = "udp"
            },
        ]
      + privileged             = false
      + pseudoTerminal         = true
      + readonlyRootFilesystem = false
      + volumesFrom            = []
    }
  + task_definition_container_definition = {
      + environment            = [
          + {
              + name  = "false_boolean_var"
              + value = "false"
            },
          + {
              + name  = "integer_var"
              + value = "42"
            },
          + {
              + name  = "string_var"
              + value = "I am a string"
            },
          + {
              + name  = "true_boolean_var"
              + value = "true"
            },
        ]
      + essential              = true
      + extraHosts             = [
          + {
              + hostname  = "app.local"
              + ipAddress = "<IP_ADDRESS>"
            },
        ]
      + hostname               = "hostname"
      + image                  = "cloudposse/geodesic"
      + interactive            = true
      + logConfiguration       = {
          + logDriver = "json-file"
          + options   = {
              + max-file = "3"
              + max-size = "10m"
            }
        }
      + memory                 = 256
      + memoryReservation      = 128
      + mountPoints            = []
      + name                   = "app"
      + portMappings           = [
          + {
              + containerPort = 8080
              + hostPort      = 80
              + protocol      = "tcp"
            },
          + {
              + containerPort = 8081
              + hostPort      = 443
              + protocol      = "udp"
            },
        ]
      + privileged             = false
      + pseudoTerminal         = true
      + readonlyRootFilesystem = false
      + volumesFrom            = []
    }

───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't guarantee to take exactly these actions if you run "terraform apply" now.

Terraform 1.1.2

 examples/complete $ terraform plan -var-file fixtures.us-east-2.tfvars
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.

------------------------------------------------------------------------

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # aws_ecs_task_definition.task will be created
  + resource "aws_ecs_task_definition" "task" {
      + arn                   = (known after apply)
      + container_definitions = jsonencode(
            [
              + {
                  + environment            = [
                      + {
                          + name  = "false_boolean_var"
                          + value = "false"
                        },
                      + {
                          + name  = "integer_var"
                          + value = "42"
                        },
                      + {
                          + name  = "string_var"
                          + value = "I am a string"
                        },
                      + {
                          + name  = "true_boolean_var"
                          + value = "true"
                        },
                    ]
                  + essential              = true
                  + extraHosts             = [
                      + {
                          + hostname  = "app.local"
                          + ipAddress = "<IP_ADDRESS>"
                        },
                    ]
                  + hostname               = "hostname"
                  + image                  = "cloudposse/geodesic"
                  + interactive            = true
                  + logConfiguration       = {
                      + logDriver = "json-file"
                      + options   = {
                          + max-file = "3"
                          + max-size = "10m"
                        }
                    }
                  + memory                 = 256
                  + memoryReservation      = 128
                  + mountPoints            = []
                  + name                   = "app"
                  + portMappings           = [
                      + {
                          + containerPort = 8080
                          + hostPort      = 80
                          + protocol      = "tcp"
                        },
                      + {
                          + containerPort = 8081
                          + hostPort      = 443
                          + protocol      = "udp"
                        },
                    ]
                  + privileged             = false
                  + pseudoTerminal         = true
                  + readonlyRootFilesystem = false
                  + volumesFrom            = []
                },
            ]
        )
      + family                = "eg-test-container-definition"
      + id                    = (known after apply)
      + network_mode          = (known after apply)
      + revision              = (known after apply)
      + skip_destroy          = false
      + tags                  = {
          + "Name"      = "eg-test-container-definition"
          + "Namespace" = "eg"
          + "Stage"     = "test"
        }
      + tags_all              = {
          + "Name"      = "eg-test-container-definition"
          + "Namespace" = "eg"
          + "Stage"     = "test"
        }
    }

Plan: 1 to add, 0 to change, 0 to destroy.

------------------------------------------------------------------------

Note: You didn't specify an "-out" parameter to save this plan, so Terraform
can't guarantee that exactly these actions will be performed if
"terraform apply" is subsequently run.

That additional information that's useful for bug reports such as these is included in our issue template... looks like you didn't use it.


bug: Content moves up using keyboard-attach

Type: bug
Ionic Version: 1.x
Platform: mobile webview
I have a simple chat window with input field in footer. So when I tap on input I want footer to be attached to keyboard when it shows like in all messengers. But when I do this (using both Android and iOS platforms) all content (including footer) moves up. I was looking for decision all day so I try all the methods from the internent and they're not work...

View when keyboard hide - https://pp.vk.me/c630921/v630921196/25e28/pu59fQ-Q-V0.jpg
View when keyboard up - https://pp.vk.me/c630921/v630921196/25e31/CckyrNbpwOU.jpg

Hello! Thanks for opening an issue with us! As this seems like more of a support question of how to do something i will urge that you ask this question on our forum (forum.ionicframework.com). There are some awesome devs on there that will be able to help you. Thanks for using Ionic!


:tl doesn't appear to work

the :tl modifier does not appear to work, and I can't find where in the code this is implemented to take a look

According to the info channel on the server that's not a valid modifier. Only tr, bl, and br.

Ah the top left emote doesn't need any special modifier?

Correct


[New Feature]: Adding How to play button

🎮 feature Request
feature logic and basic description
Adding how to play button in the home page only
Point down the features
feature points:
Helps the users to find how to play quickly
Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

@thevirengarg Please assign me the isssue


Purchase dash_subscription_doubler not found

I am following the https://codelabs.developers.google.com/codelabs/flutter-in-app-purchases#7 but i could not get the subscription
Given the same repository for complete code I would like to know if there is any misconfiguration for google console

Hi @lim-enhui, have you uploaded an appbundle to a testing track?
Have you also added the account you're testing with as a License tester?
Are you getting any errors in your console?
If so, kindly share the error.
Kindly share the output of flutter doctor -v as well as the version of in_app_purchase & in_app_purchase_android that you're using.
Thank you

The subscription finally shows. It took a day to reflect though. Thanks.


sane-backend: deprecate phases and use runCommandLocal instead

Motivation for this change
#28910
ping @symphorien, @Ekleog, @peti
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

if we drop phases = [ ... we would have to add at least the line dontUnpack = true;. maybe more.
Do you prefer this? I personally prefer it the current way of running only the commands.

Yes, I would prefer to stay within the realm of stdenv.mkDerivation. This is what everyone knows and is familiar with.

first of all you are the maintainer of this packet, so it should be how you want to manage it (using stdenv.mkDerivation).
Personally it bothers me a little that the use of runCommand(Local) would be perfect here. You really prefer using stdenv.mkDerivation?


DataView sort order ignored when replacing data

In our DataView, the best practice is to pass it a presorted collection of data (it can't leverage ag-grid's sorting like our grid can)
This works fine for the first load, however, on subsequent loads with a different sort order the displayed order doesn't change. A cursory glance suggests this is a regression introduced by the recent Store efficiency improvements to reuse records.

We intentionally did this, but did not consider this use-case

We could consider changing the DataView api so that you can specify a sorter - if set, it will use this field for the single grid column and apply the sorter. It doesn't really matter what field that column uses, since the item renderers are expected to use the whole record anyway

Maybe I am missing something, but it seems like the lack of a sorting API on DataView is already quite problematic.
Also, while we are cleaning up DataView, shouldn't it be promoted to be a mobile component as well?  The only thing that would not work is the ContextMenuFunction, and that could simply be documented as a desktop only feature.

Maybe I am missing something, but it seems like the lack of a sorting API on DataView is already quite problematic.

Fully agree. The reason we don't support sorting is because in our grids we are relying on ag-grid to do our sorting. This introduces the limitation that you can't sort by a field unless that field has a column. Since our dataview is effectively a single column grid, it makes using ag-grid sorting problematic. Did you see my comment above about how we can get around this by setting the field on the single column to the sortBy field?

Also, while we are cleaning up DataView, shouldn't it be promoted to be a mobile component as well? The only thing that would not work is the ContextMenuFunction, and that could simply be documented as a desktop only feature.

Sure, why not. When we introduced the Dataview, our mobile grids were still using Onsen - now we have agGrid on mobile, no reason not to have Dataview as well. It's been a long time since this component got any love! :)

Added PRs here:

https://github.com/exhi/hoist-react/pull/1344
https://github.com/exhi/toolbox/pull/259

Note that these PRs address adding a sorting API to DataView, but do not include promoting to cross-platform. This is maintain the possibility of releasing this as a non-breaking minor release. Once approved, depending on how close we are to a new major release, we can see if it makes sense to fold this in with the breaking cross-platform change or to tackle those separately.


repeated io_uring openat and close cause audit reference count underflow in worker thread

I have a test program that hangs waiting for an openat cqe.
The reproduction is with an Ubuntu distro kernel Ubuntu-azure-6.2-6.2.0-1012.12_22.04.1.
However, the bug seems possible with an upstream kernel.
The reproduction was difficult so I tried to learn as much as I could on the distro kernel.
I am unfamiliar with the synchronization used in io_uring and audit but I did try a few experiments.
Changing the reference count from int to refcount_t allows the test program to complete.
The bug did not occur with this test program until a kernel containing 5bd2182d58e9 was used.
I have not found a matching reported issue or upstream commit yet.

// Note: The test program is C++ but could be converted to C.
#include <cassert>
#include <fcntl.h>
#include <filesystem>
#include <getopt.h>
#include <iostream>
#include <liburing.h>

// open and close a file.  the file is created if it does not exist.

void
openClose(struct io_uring& ring, std::string fileName)
{
    int ret;
    struct io_uring_cqe* cqe {};
    struct io_uring_sqe* sqe {};
    int fd {};
    int flags {O_RDWR | O_CREAT};
    mode_t mode {0666};

    // openat2

    sqe = io_uring_get_sqe(&ring);
    assert(sqe != nullptr);

    io_uring_prep_openat(sqe, -1, fileName.data(), flags, mode);
    io_uring_sqe_set_flags(sqe, IOSQE_ASYNC);

    ret = io_uring_submit(&ring);
    assert(ret == 1);

    ret = io_uring_wait_cqe(&ring, &cqe);
    assert(ret == 0);

    fd = cqe->res;
    assert(fd > 0);

    io_uring_cqe_seen(&ring, cqe);

    // close

    sqe = io_uring_get_sqe(&ring);
    assert(sqe != nullptr);

    io_uring_prep_close(sqe, fd);
    io_uring_sqe_set_flags(sqe, IOSQE_ASYNC);

    ret = io_uring_submit(&ring);
    assert(ret == 1);

    // wait for the close to complete.
    ret = io_uring_wait_cqe(&ring, &cqe);
    assert(ret == 0);

    // verify that close succeeded.
    assert(cqe->res == 0);

    io_uring_cqe_seen(&ring, cqe);
}

// create 100 files and then open each file twice.

void
openCloseHang(std::string filePath)
{
    int ret;
    struct io_uring ring;

    ret = io_uring_queue_init(8, &ring, 0);
    assert(0 == ret);

    int repeat {3};
    int numFiles {100};

    std::filesystem::create_directory(filePath);

    // files of length 0 are created in the j==0 iteration below.
    // those files are opened and closed during the j>0 iteraions.
    // a repeat of 3 results in a fairly reliable reproduction.

    for (int j = 0; j < repeat; j += 1) {
        for (int i = 0; i < numFiles; i += 1) {
            std::string fileName(filePath + "/file" + std::to_string(i));
            openClose(ring, fileName);
        }
    }

    std::filesystem::remove_all(filePath);

    io_uring_queue_exit(&ring);
}

int
main(int argc, char** argv)
{
    std::string filePath {};
    int iterations {};

    struct option options[]
    {
        {"help", no_argument, 0, 'h'}, {"directory", required_argument, 0, 'd'},
            {"count", required_argument, 0, 'c'},
        {
            0, 0, 0, 0
        }
    };
    bool printUsage {false};
    int val {};

    while ((val = getopt_long_only(argc, argv, "", options, nullptr)) != -1) {
        if (val == 'h') {
            printUsage = true;
        } else if (val == 'd') {
            filePath = optarg;
            if (std::filesystem::exists(filePath)) {
                printUsage = true;
                std::cerr << "directory must not exist" << std::endl;
            }
        } else if (val == 'c') {
            iterations = atoi(optarg);
            if (0 == iterations) {
                printUsage = true;
            }
        } else {
            printUsage = true;
        }
    }

    if ((0 == iterations) || (filePath.empty())) {
        printUsage = true;
    }

    if (printUsage || (optind < argc)) {
        std::cerr << "io_uring_open_close_audit_hang.cc --directory DIR --count COUNT" << std::endl;
        exit(1);
    }

    for (int i = 0; i < iterations; i += 1) {
        if (0 == (i % 100)) {
            std::cout << "i=" << std::to_string(i) << std::endl;
        }
        openCloseHang(filePath);
    }
    return 0;
}

Exploratory trace shows that the audit name reference counts are updated across multiple cpus.
The refcnt=3 line is the first sign of a problem followed by the refcnt=-1 underflow.
...
[  126.568489] getname_flags refcnt=1 addr=0000000077af78c1 cpu=6 name=/tmp/deleteme/file61
[  126.568492] __audit_getname refcnt=2 addr=0000000077af78c1 cpu=6 name=/tmp/deleteme/file61
[  126.568499] putname refcnt=1 addr=0000000077af78c1 cpu=6 name=/tmp/deleteme/file61
[  126.568512] __audit_inode refcnt=2 addr=0000000077af78c1 cpu=4 name=/tmp/deleteme/file61
[  126.568519] putname refcnt=1 addr=0000000077af78c1 cpu=4 name=/tmp/deleteme/file61
[  126.568521] putname refcnt=0 addr=0000000077af78c1 cpu=4 name=/tmp/deleteme/file61
...
[  126.586981] getname_flags refcnt=1 addr=000000004b0761b2 cpu=1 name=/tmp/deleteme/file61
[  126.586983] __audit_getname refcnt=2 addr=000000004b0761b2 cpu=1 name=/tmp/deleteme/file61
[  126.586986] putname refcnt=1 addr=000000004b0761b2 cpu=1 name=/tmp/deleteme/file61
[  126.586995] __audit_inode refcnt=2 addr=000000004b0761b2 cpu=4 name=/tmp/deleteme/file61
[  126.586999] putname refcnt=1 addr=000000004b0761b2 cpu=4 name=/tmp/deleteme/file61
[  126.587001] putname refcnt=0 addr=000000004b0761b2 cpu=4 name=/tmp/deleteme/file61

[  126.591970] getname_flags refcnt=1 addr=000000004e89a5a4 cpu=1 name=/tmp/deleteme/file61
[  126.591972] __audit_getname refcnt=2 addr=000000004e89a5a4 cpu=1 name=/tmp/deleteme/file61
[  126.591977] putname refcnt=1 addr=000000004e89a5a4 cpu=1 name=/tmp/deleteme/file61
[  126.591982] __audit_inode refcnt=3 addr=000000004e89a5a4 cpu=4 name=/tmp/deleteme/file61
[  126.591986] putname refcnt=0 addr=000000004e89a5a4 cpu=4 name=/tmp/deleteme/file61
[  126.591988] putname refcnt=-1 addr=000000004e89a5a4 cpu=4 name=/tmp/deleteme/file61

Changing the reference count from int to refcount_t allows the test program to complete.
diff --git a/include/linux/fs.h b/include/linux/fs.h
index d0a54e9aac7a..8217e07726d4 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -2719,7 +2719,7 @@ struct audit_names;
 struct filename {
        const char              *name;  /* pointer to actual string */
        const __user char       *uptr;  /* original userland pointer */
-       int                     refcnt;
+       refcount_t              refcnt;
        struct audit_names      *aname;
        const char              iname[];
 };

diff --git a/fs/namei.c b/fs/namei.c
index 2a8baa6ce3e8..4f7ac131c9d1 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -187,7 +187,7 @@ getname_flags(const char __user *filename, int flags, int *empty)
                }
        }

-       result->refcnt = 1;
+       refcount_set(&result->refcnt, 1);
        /* The empty path is special. */
        if (unlikely(!len)) {
                if (empty)
@@ -248,7 +248,7 @@ getname_kernel(const char * filename)
        memcpy((char *)result->name, filename, len);
        result->uptr = NULL;
        result->aname = NULL;
-       result->refcnt = 1;
+       refcount_set(&result->refcnt, 1);
        audit_getname(result);

        return result;
@@ -259,9 +259,10 @@ void putname(struct filename *name)
        if (IS_ERR(name))
                return;

-       BUG_ON(name->refcnt <= 0);
+       BUG_ON(refcount_read(&name->refcnt) == 0);
+       BUG_ON(refcount_read(&name->refcnt) == REFCOUNT_SATURATED);

-       if (--name->refcnt > 0)
+       if (!refcount_dec_and_test(&name->refcnt))
                return;

        if (name->name != name->iname) {

diff --git a/kernel/auditsc.c b/kernel/auditsc.c
index 37cded22497e..232e0be9f6d9 100644
--- a/kernel/auditsc.c
+++ b/kernel/auditsc.c
@@ -2188,7 +2188,7 @@ __audit_reusename(const __user char *uptr)
                if (!n->name)
                        continue;
                if (n->name->uptr == uptr) {
-                       n->name->refcnt++;
+                       refcount_inc(&n->name->refcnt);
                        return n->name;
                }
        }
@@ -2217,7 +2217,7 @@ void __audit_getname(struct filename *name)
        n->name = name;
        n->name_len = AUDIT_NAME_FULL;
        name->aname = n;
-       name->refcnt++;
+       refcount_inc(&name->refcnt);
 }

 static inline int audit_copy_fcaps(struct audit_names *name,
@@ -2349,7 +2349,7 @@ void __audit_inode(struct filename *name, const struct dentry *dentry,
                return;
        if (name) {
                n->name = name;
-               name->refcnt++;
+               refcount_inc(&name->refcnt);
        }

 out:
@@ -2474,7 +2474,7 @@ void __audit_inode_child(struct inode *parent,
                if (found_parent) {
                        found_child->name = found_parent->name;
                        found_child->name_len = AUDIT_NAME_FULL;
-                       found_child->name->refcnt++;
+                       refcount_inc(&found_child->name->refcnt);
                }
        }

I'll take a look. How are you running the test program?

Thank you for looking @axboe.
Using --count 10000 seems to be fairly reliable.  Sometimes it happens much sooner.
Suspending the process seems to be more reliable when running in gdb.
./io_uring_open_close_audit_hang --directory /tmp/deleteme --count 10000
gdb --args ./io_uring_open_close_audit_hang --directory /tmp/deleteme --count 10000

The absolute path must have helped in my case. AT_FDCWD is appropriate.  I did reproduce again with that change also just to be sure.

I forgot to mention that I did not specifically configure anything related to audit.
The distro config file does have CONFIG_AUDIT set.
devvm ~ $ grep /boot/config-6.2.0-1012-azure -iEe 'audit'
CONFIG_AUDIT=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_ARCH=y
CONFIG_NETFILTER_XT_TARGET_AUDIT=m
CONFIG_DM_AUDIT=y
CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
CONFIG_INTEGRITY_AUDIT=y

Two audit components are running but not auditd.
devvm ~ $ ps auxww | grep -iEe audit
root          55  0.0  0.0      0     0 ?        S    20:21   0:00 [kauditd]
root        2559  0.0  0.0      0     0 ?        S    20:22   0:00 [audit_prune_tree]
...

I was a bit puzzled by this, since the filename is usually private to the task. But with audit, it seems like we can just grab an extra reference to it:
io_uring issuing thread (threadA): __io_openat_prep() -> getname() -> get_name_flags() -> audit_reusename()
You marked the request with IOSQE_ASYNC, which means the issue of it will happen from another thread, threadB. That thread issues the request, it's done, and it queues the completion with threadA to post. If threadA post and cleanup (with the latter doing io_open_cleanup() -> putname() races with threadB doing audit_reset_context() which now puts the cached entries, then we can certainly have a data race where both threadA and threadB are doing unsynchronized ref count decrements at the same time. That can then result in the above BUG.
I suspect the below should fix it, however unsure if this is the right way to go...
diff --git a/kernel/auditsc.c b/kernel/auditsc.c
index 21d2fa815e78..4b3c0626c8f3 100644
--- a/kernel/auditsc.c
+++ b/kernel/auditsc.c
@@ -2208,6 +2208,9 @@ __audit_reusename(const __user char *uptr)
 	struct audit_context *context = audit_context();
 	struct audit_names *n;

+	if (context->context == AUDIT_CTX_URING)
+		return NULL;
+
 	list_for_each_entry(n, &context->names_list, list) {
 		if (!n->name)
 			continue;

The test program intentionally sets IOSQE_ASYNC because I first encountered this with a more complicated chain where IOSQE_ASYNC makes sense.  The test program does reproduce the problem without setting IOSQE_ASYNC.  The backtrace is the same, possibly because "Normal operation" may go async as described below?
devvm ~ $ man ~/liburing/man/io_uring_sqe_set_flags.3 cd
...
       IOSQE_ASYNC
              Normal  operation  for  io_uring is to try and issue an sqe as non-blocking first,
              and if that fails, execute it in an async manner...
...

I will revert my refcount_t change and try your __audit_reusename() change next.

It will reproduce without IOSQE_ASYNC, it's just more likely to reproduce with it. The reason is if we cannot lookup the filename in a nonblocking fashion, it'll still be handled by one of the io-wq workers.

My question was really if we should just disable this filename cache, and I'm asking since I don't know what it brings us. Maybe the patch does it in the wrong spot, but that was the intent - just don't add entries to this list if you're in an URING context. The original patch was buggy all along as I detailed in the previous comment, as you can have one thread add the entry and then both actually put it later as audit will put its entry separately.
But let's defer followups to the email thread.

@daclash let me know if you want me to kick off this thread, or if you want to do it. If I'm doing it, please include your email address in here so I can add you as well.

My question was really if we should just disable this filename cache ...

It's not a "cache" in the traditional sense, it's how audit records the file/path info on file operations; without this we don't have any file information in the audit log.

Ah I see, yeah in that the synchronization will need to get sorted.

@axboe I could use the practice in creating the thread.  Does the following format seem appropriate?  The first message did have a patch, but it seems too early to have a "[PATCH]" prefix in the subject.
The sender will be daclash AT microsoft . com.
TO:
audit AT vger . kernel . org
io-uring AT vger . kernel . org
CC:
linux-kernel AT vger kernel org
paul AT paul-moore . com
axboe AT kernel . dk
Subject: audit: repeated io_uring openat and close cause audit reference count underflow in worker thread
This discussion is about how multiple io_uring related threads can race while
decrementing an audit related reference count.
Original discussion:
https://github.com/axboe/liburing/issues/958
Details:

Include your patch just as a reference, and also mention the commit that introduced it. Basically just a condensed version of your first comment here, when you created the issue. You can include a link to the issue here too.

Closing this as a fix got merged in mainline for the issue.


Validating complex JSON

How can I validate emails.value in this:
{
    "schemas":["urn:scim:schemas:core:1.0"],
    "userName":"bjensen",
    "name":{
        "formatted":"Ms. Barbara J Jensen III",
        "familyName":"Jensen",
        "givenName":"Barbara"
    },
    "emails":[{
        "type":"home",
<EMAIL_ADDRESS>    }]
}

Related issue here: https://github.com/ctavan/express-validator/issues/125. There is a solution offered in that issue. Please continue the conversation there.


Separate project for Grav's framework

I suggest to use a separate repository for the grav's framework located in system/src/Grav folder, for example grav-core or grav-framework, and use it as a composer dependency

Something we plan on doing in Grav 2.0

When is Grav 2.0 coming? Can't wait to see it!


Dandiset permissions

Fixes #335.
Draft PR because I'm still trying to get tests working for this, but am running into some errors. Once I get those figured out I'll push those changes.

A few issues here for consideration.

girder already has a notion of owner, which is tied to the AccessType.ADMIN (I think that's the right variable name), if you use AccessType.WRITE for owner, that can be confusing. i'd recommend using AccessType.ADMIN here. But also this is specifying the user's access to the group, you haven't yet given the group access to the folder (see next point). So really what I'm saying is that the group or user should have ADMIN access on the folder.
the dandisets are nested folders in girder. i don't see here where the group is given ownership of the dandiset folder. also, when the group is attached to the folder, it needs to have the permissions attached to the folder recursively (so that all subfolders are also owned by the group). you'll want to add a group to owning the folder at the time the dandiset is created (a different endpoint), unless you don't use groups at all.
you don't have to use groups, could just use individual user permissions added and removed from the folder. using groups adds indirection and also requires additional machinery (code such as the functions you've added). i think groups are a positive when managing resource access by a human, i don't see them as valuable when the groups are automatically created per dandiset and have people added to them, as in this case. i'd be curious about other opinions here.

you don't have to use groups, could just use individual user permissions added and removed from the folder. using groups adds indirection and also requires additional machinery (code such as the functions you've added). i think groups are a positive when managing resource access by a human, i don't see them as valuable when the groups are automatically created per dandiset and have people added to them, as in this case. i'd be curious about other opinions here.

Ahh, that makes more sense, I wasn't aware you could update the access of a folder this way. I'll switch away from using groups in favor of this. This should also fix the other 2 issue you brought up, so long as I have a way to specify an admin level of access when updating the ACL of a folder.

This PR is definitely still a work in progress, as I'm addressing your concerns @mgrauer I'm finding some more edge cases to keep track of. I'll mark this as ready for review when I think I've addressed everything.

Had a discussion with @mgrauer, we decided that since we're going for a simplified permission model, users will either be owners of a dandiset, or have no permissions. That means that any operations done by these endpoints should be assumed to remove all existing permissions lower than AccessType.ADMIN.

Can you wait to merge until I've had a chance to review?

Can you wait to merge until I've had a chance to review?

Sure thing

ok, a couple minor requests and then could be merged. i don't need to review further.


is this an error ? Activate the plot device!

tried the demo and installed the source code both got this response
Activate the plot device!
is this an error ?

Thanks for creating an issue. And nope, that's not an error. It's just a simple html view. If you visit /docs, you'll see the lout docs output.


sbt 1 triggered execution (file watch, ~, tilde) epic

This is an epic issue to track various triggered execution (file watch, ~, tilde) related issues.
If you're having issues with triggered execution and you do not see it here, please open a new issue.

watchSources is redundant and not precise #3718
Incremental compiler crashes because of open file handles #3497
watchSources should watch the entire directory #3369
~ is not triggering for files saved in IDEA #3819
Deleted files do not trigger ~ #3845
sbt 1.1.0 watch (~) thread leak causing high cpu use #3860

compile loops forever
There are several issues and fixes that are related to ~ compile causing sbt to compile in loop forever.

Recompiles even if there is no changes #3501
sbt 1.0.2 ~compile loops forever with source generator #3565
The above issues are believed to be fixed by [1.0.x] Track sources in base directory non-recursively #3634 included in 1.0.3.

There's been report that ~run still loops using Play. Here's an issue I created to debug this:

triggered execution (file watch) should print debug log of the changed files #3869

File watch on macOS

Time lag before file watch (triggered execution) detects changes on Mac #3527

Try https://github.com/swoval/MacOSXWatchService. This uses https://github.com/gmethvin/directory-watcher, an Apache v2 licensed file watching.
MacOSXWatchService is now called Close Watch (https://github.com/swoval/swoval/blob/master/plugin/README.md), and has its own watching implementation.
Alternative watch mode (sbt 1.0.3 and later)
The new sbt.watch.mode JVM flag has been added with the following supported values:

polling: (default for macOS) poll the filesystem for changes (mechanism used in sbt 0.13).
nio (default for other platforms): use the NIO based WatchService.

If you are experiencing long delays on a non-macOS machine then try adding -Dsbt.watch.mode=polling to your sbt options.
https://github.com/sbt/sbt/pull/3597

@eatkins I would love to merge Close Watch into sbt, and fix all this. Would you mind sending in a PR for this?

@eed3si9n I'd love to get it merged into mainline sbt. Before I proceed, I am curious exactly what you're looking for. CloseWatch completely overhauls how sbt interacts with the file system both in triggered execution and when fetching the source file lists by adding a global file system cache. For large repos O(5000) files, this can reduce the start up time of the compile task by O(1 second) because it's expensive to list all the files on disk. Moreover, I completely re-implemented the Continuously.continuous method and eschewed the default sbt.WatchService entirely. Combined, these are some pretty large changes that I fear may get stuck in review for a while (and possibly not accepted), but that I think would improve sbt for everyone.
With that said, it would be straightforward to add the sbt.WatchService that uses my apple file system library to receive events without introducing the file cache/continuous re-implementation so the out of the box experience for mac users would be acceptable. I would be a bit bummed to do this, but I also don't want to prepare a large PR if it's just going to be rejected.

@eatkins Thanks for the comment!

Before I proceed, I am curious exactly what you're looking for.

I want the pain to stop.

CloseWatch completely overhauls how sbt interacts with the file system both in triggered execution and when fetching the source file lists by adding a global file system cache. For large repos O(5000) files, this can reduce the start up time of the compile task by O(1 second) because it's expensive to list all the files on disk.

That sounds good to me. @dwijnand?

Moreover, I completely re-implemented the Continuously.continuous method and eschewed the default sbt.WatchService entirely.

I am ok with that.

With that said, it would be straightforward to add the sbt.WatchService that uses my apple file system library to receive events without introducing the file cache/continuous re-implementation so the out of the box experience for mac users would be acceptable.

We have 1.x branch (targeting 1.2.0 comes out in months) and 1.1.x branch (comes out in days or weeks). For 1.1.x branch, I would prefer conservative patch.

Ok. I'm finishing up a back port of CloseWatch to sbt 0.13. Hopefully within a few days, I'll start pushing some PRs to sbt.io and sbt.

@eatkins Ping. Any status on ~?

Funny timing. I just wrapped up my other projects:
https://github.com/sbt/sbt/pull/4052
https://github.com/sbt/io/pull/138

See https://github.com/sbt/sbt/pull/4096
https://github.com/sbt/io/pull/142

Is there a released version that implements this? Thanks.

Still find it sometimes not detecting code changes on 1.1.6

@francisdb can you provide more details? Do you have a straightforward sbt build or is there anything non-standard with the layout? Are there any symlinks for source files or directories?

Huge project with 20+ subprojects, not easy to reproduce, is there a way to get logs from the watcher?

I'm using 1.1.6 and haven't been able to trigger the watch service either.  Also happy to provide logs.

Unfortunately, logs are not available at the moment due to https://github.com/sbt/sbt/issues/4097. I am thinking about how to work around that bug, but any change won't be available until the next sbt release at the earliest*. I am actively working on improving the directory watching, but most of it is out of band work on the close watch plugin that I hope to complete and integrate into sbt soonish.

If by some chance either of you are willing to build your own sbt, logging could be enabled by replacing log.debug with println at this line: https://github.com/sbt/sbt/blob/1.x/main-command/src/main/scala/sbt/Watched.scala#L111

@eatkins I built sbt from master but don't know how to run it :)

@aryairani Start sbt with sbt -Dsbt.version=1.2.0-SNAPSHOT, and then run reboot dev once to clear the boot directory.

I'm retiring this epic, and going to use the label area/watch instead. Feel free to either continue the conversation here, or open a new issue.

I installed sbt 1.1.6 on Windows.
I followed the instruction on https://www.scala-sbt.org/1.x/docs/sbt-by-example.html .
I have an empty build.sbt file.
I have project/src/main/scala/example/Hello.scala file with a simple Hello class.
compile  works.
~compile does not work: file changes does not trigger the command.

@alex-piccione do you mean project/src/main/scala/example/Hello.scala or src/main/scala/example/Hello.scala ?

The documentation it says

From a different shell or in your file manager create in the project directory the following nested directories: src/main/scala/example.

I created the Hello.scala there.
compile works, so I thought it was ok.
Should I put the src folder at the same level of the project folder ?
(I'll try)

yeah the wording could be clearer


Audio driver not working, Godot stop when changing driver

Godot version: 3.02

OS/device including version: Windows 10, GeForce GTX960
Issue description:
Check this image, this is self explanatory:

First I have audio driver problem.
Then I tried to change the audio driver with RtAudio-DirectSound.
Now everytime I try to relaunch my project, godot simply stop to work (was pretty hard to get this image as it instantly stop).
Steps to reproduce:
Create new project.
Change audio driver, save and switch to origin panel (where you can choose the project)
Reselect your project
Profit
Minimal reproduction project:
instancing.zip

I just tested your project but it didn't crash for me, could you run it with a debug build and post the backtrace again? (I can provide a debug build if you need it)

Ok after your feedback I tried to investigate further on my part. Seems it's because I got a dedicated audio card. I did some work around it and now I don't have this error anymore.  I close it and reopen it if my work around fail.


Add logic to use a regular node for gateway_balances

High Level Overview of Change
We'd like to use a reporting mode server for most things, but gateway_balances is an admin only command, so this PR adds functionality to add another server for admin commands.
Context of Change
Part of upgrading the reliability of the nodes the explorer depends on.
Type of Change

[X] Bug fix (non-breaking change which fixes an issue)

TypeScript/Hooks Update

Did not update to TypeScript because I didn't realize that was a goal and have other priorities this week.
Before / After

Before all queries were sent to one URL
Now if you specify a P2P url, it will direct gateway_balances to that url (Defaults to the old behavior)

Test Plan

Manually building the code with and without the new environment variable and with different RIPPLED_HOSTs.

You should update .env.example with your new env variable.

This is probably a task for the Clio / rippled team though.

I assume they're working on it and this will be removed at some point


HTML Layout

Create the HTML, CSS Layout to match the wireframe.  Use Material UI, responsive design, flexbox and semantic HTML.

Need to review flexbox and material ui

Still need to create graph screen, then hopefully convert css into sass and create variables for the colors


Installation Issues -- Missing requirements ?

Hi,
I have followed the installation process but ...
After installing mongodb and portal I got a number of issues at the portal start up as it seems a number of python modules are missing.
Modules :

getenv
beaker
gitlab3
jinja2
mimeparse
flask
Flask-Bootstrap
mongoengine
tornado

Are missing. That should be part of the base requirements.
After installing the relevant modules using  the default versions as provided by pip...
Portal service:
(JS8) # systemctl start portal.service
(JS8)# systemctl status portal.service
● portal.service - portal
   Loaded: loaded (/etc/systemd/system/portal.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2017-04-24 18:41:14 BST; 231ms ago
 Main PID: 21322 (python3.5)
    Tasks: 2
   Memory: 20.8M
      CPU: 232ms
   CGroup: /system.slice/portal.service
           └─21322 python3.5 -q portal_start.py

Apr 24 18:41:14 VDisks-OVS-Testing systemd[1]: Started portal.

Now it seems to work.
Many thanks

Not an issue. You need to use installDeps method
https://github.com/Jumpscale/jumpscale_core8/blob/master/lib/JumpScale/tools/cuisine/development/CuisineJS8.py#L49
Thank you.

I didn't manage to find that piece of information.
Perfect @xmonader .
Thanks for the information.


Requirements or description are wrong.

Affected page
https://www.freecodecamp.org/learn/responsive-web-design/basic-css/size-your-images
Your code

CatPhotoApp

Click here to view more cat photos.

Expected behavior
I set the height instead of the width to 100px. As the image is a perfect square, this also changes the width.
Therefore, this code should either pass the challenge or the passing-requirements should be adjusted.
Screenshots

System (please complete the following information):

Device: Laptop
OS: Linux Mint
Browser: Firefox
Version: 88.0

Additional Thoughts:
In the next challenge, there's this comment:
Note: This challenge allows for multiple possible solutions. For example, you may add border-radius to either the .thick-green-border class or the .smaller-image class.
We could add the same thing in this challenge.

Hey @Glitchy-Tozier,
I see what you mean, but the challenge asks specifically to change the width to 100px.
People won't set the height to 100px.
therefore I am closing this issue.

@Sembauke  Those requirements don't tell you the correct instructions though.

(I mean it IS 100px wide)

Hello there,
@Glitchy-Tozier As Sem mentioned, the whole point of the lesson is to introduce the width property, and it is made clear through the description, example code, and instructions:

CSS has a property called width that controls an element's width.
width: 500px;
100 pixels wide.

As this is not an issue coming up on the forums, and the lessons are meant to be kept plain, and this version of the curriculum is changing, I do not see a need for anything to be done here.

Sorry, @Glitchy-Tozier  I might not have been clear enough!


Provide a way for users to have a precompiled version of the front

This would be addressed with #3 but just to have this as a reminder.

Irrelevant with new version, closing


Add more gas to linkdrop call

Fixes an issue with not enough gas attached: https://explorer.near.org/transactions/2BUbseT5tzG56kNhzHumQFaPTKc4PfdHGC2TuobGgFBC

@vgrichina Can we merge this as a hot fix to ‘stable’ as well?

@kcole16 @bowenwang1996 @mattlockyer  we need to understand why this fix works, near drops work ok on testnet without any change.

I'm cherry-picking it into stable branch so that mainnet wallet is fixed, but we still need to understand issue better before merging into master

Implemented with a way to override in config here:
https://github.com/near/near-wallet/commit/70542cb221384d9d8d8f9c37087a559a54937aea


Diagram Showcasing the Relationship between Resources within Synapse Workspaces would be very helpful

Good morning,
Many of my customers are very interested in learning more about Synapse Workspaces.  However, they often get a little lost trying to understand the various components within it and how they fit together.  A Diagram showcasing the Dedicated SQL, Serverless SQL, Spark Pools, Pipelines, Notebooks and everything else would have great value.  Here is a professional diagram showcasing the same concepts for Machine Learning.  Creating something like this for Synapse Workspaces would be extremely helpful.

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

ID: b81ab495-3cc8-59e4-cba8-b8bb0ac7399e
Version Independent ID: 3832391f-28d8-517a-2e5d-a70fdc832cb3
Content: What is Azure Synapse Analytics? - Azure Synapse Analytics
Content Source: articles/synapse-analytics/overview-what-is.md
Service: synapse-analytics
Sub-service: overview
GitHub Login: @saveenr
Microsoft Alias: saveenr

@BreakingBI Thanks for the feedback !  I have assigned this issue to content author to investigate and update the document as appropriate.

@BreakingBI Thanks for the feedback !  I have assigned this issue to content author to investigate and update the document as appropriate.

#assign:julieMSFT


Component deprecation warning should not log as error

Currently the nz-dropdown creates an error due to it being deprecated:
[NG-ZORRO]: deprecated: 'nz-dropdown' Component is going to be removed in 9.0.0. Please use 'nz-dropdown-menu' instead. Read https://ng.ant.design/components/dropdown/en

I suggest that this should not output an error but a warning with console.warn() instead of console.error().
Related code:

warnDeprecation()
usage in nz-dropdown

@kekehaoz this warning would not show in prod mode

@vthinkxie I understand, that sounds good. I think you tagged the wrong person.


Add RealmResults.isValid

Set new logger
Pass dummy handle to for userfdata_ree
'throws' is depricated in test/expect.dart
Added scheduler
Test added
Api doc updated
Api doc updated
Update changelog
API doc updated
Return the old logger at the end of the test
Fix changeRealmLogLevel
Add RealmResults.isValid
Add tests
Update CHANGELOG

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

30 of 58 (51.72%)  changed or added relevant lines in 3 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.6%) to 88.333%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/src/realm_class.dart
16
44
36.36%

Files with Coverage Reduction
New Missed Lines
%

lib/src/subscription.dart
1
90.48%

Totals

Change from base Build<PHONE_NUMBER>:
-0.6%

Covered Lines:
3074

Relevant Lines:
3480

💛  - Coveralls


Add ability to save sediment discharge

We calculate sediment flux, qs, but we provide no options for saving this output.
We should add options to save the figures and grids for this variable.

yep, I agree.
I think an overhaul of the netCDF file, in general, is needed.
For example, I think we should save boundary conditions, too. This relates to things we've discussed elsewhere (but I can't find at the moment).
Thanks for bringing this to the front with an issue. I'm going to tackle this soon.

Here is an example of the structure we landed on in some old discussion on a slack thread.
output.ext
|  elevation:
|    | data: t-x-y array
|    | meta: t-value array, keys linking to main meta...
|  velocity: t-x-y array
|    | data: t-x-y array
|    | meta: t-value array, keys linking to main meta...
|  meta: a main metadata set, with some keys linking whatever, maybe containing grid coords?

I'll use this as a starting point for reworking the netcdf file.


Cannot request more than ~.04BTC

There is a bug that I cannot request more than ~.04BTC.  Why?
If it has to do with existing capacity, the sender could open their own new channel to me, or use multiple aggregate smaller payments.

@Ulmo this limit is set by lnd and will most likely be lifted once it comes out of beta.
See https://github.com/lightningnetwork/lnd/blob/35363ee9a8c3ca6d19377080f507e26c73706410/rpcserver.go#L2085-L2095
// Currently, within the bootstrap phase of the network, we limit the
// largest payment size allotted to (2^32) - 1 mSAT or 4.29 million
// satoshis.

Also See https://github.com/lightningnetwork/lnd/blob/35363ee9a8c3ca6d19377080f507e26c73706410/rpcserver.go#L54-L57
// maxPaymentMSat is the maximum allowed payment currently permitted as
// defined in BOLT-002. This value depends on which chain is active.
// It is set to the value under the Bitcoin chain as default.

Oops!  I forgot about LND's limits being lower than C-Lightning's.  Thank you!


How to determine email already exist ?

Hi...
How to determine email already exist ? then new user sign up with same email (in forceCreationAlias = false) will canceled... in other case new user should try with other email address

Hello @yudi-ariyanto,
Sorry for the delay. Do you still require help with the issue?


HHH-18321 SqlTreeCreationException when using sum/diff with coalesce on properties of embeddable component

https://hibernate.atlassian.net/browse/HHH-18321

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license
and can be relicensed under the terms of the LGPL v2.1 license in the future at the maintainers' discretion.
For more information on licensing, please check here.

Closing in favor of https://github.com/hibernate/hibernate-orm/pull/9032


DynamoDBPersistenceLayer should support Tables with Range Keys

Is your feature request related to a problem? Please describe.

I cannot use the DynamoDBPersistenceLayer class when my table has HASH and RANGE keys. I do not want to create a separate table for tracking lambda idempotence. [channeling my inner Houlihan] One table to rule them all!
Describe the solution you'd like

I would like the DynamoDBPersistenceLayer to accept a configuration such that the HASH key is set to a known value, e.g. idempotence#<feature-name>, and the RANGE key contains the current values managed by the data_record.idempotency_key.
Describe alternatives you've considered

There are of course other HASH/RANGE key designs. Another possible design is to split the current data_record.idempotency_key value, which is <function name>#<hash>, to maybe be HASH key = <function name> and RANGE key = <hash>.
Additional context

I would like this to be a non-breaking change for current consumers. If we agree on the first HASH/RANGE key design proposal, the client could configure a DynamoDBPersistenceLayer with these extra parameters:
        key_attr_value: str = "idempotence",  # this is just a hardcoded value
        range_attr: str = "SK",               # this is the range key to store the current `data_record.idempotency_key`

If these are set, then DynamoDBPersistenceLayer uses the HASH/RANGE key implementation, else it reverts to HASH key implementation.

hey @Tankanow this is now out as part of 1.22.0 release - available on PyPi, SAR, and soon Lambda Layer (version 4).
https://github.com/awslabs/aws-lambda-powertools-python/releases/tag/v1.22.0
HUGE THANK YOU for helping get this out!


Add PrefectHQ/prefect to ecosystem checks

At least I will generally be familiar with the patterns over there

Unless 40 was the magic number in https://github.com/astral-sh/ruff/pull/6916 haha

(Those failures are just the ecosystem check being confused or perhaps a race.)


Hit Count on column breakpoint not respected

Testing #20192

VSCode Version: Code - Insiders 1.10.0-insider (256d76fed7947e7289f921df10658d7a69233b65, 2017-02-22T07:10:23.895Z)
OS Version: Windows_NT ia32 10.0.14393
Extensions: None

Steps to Reproduce:

Add column breakpoint with Hit Count 1 in example below
Start Debug
-> Breakpoint is hit twice

In case this matters: I was using node 6.5.0.

As designed, you need to set Hit Count 2. Because that means to stop it when the breakpoint is hit twice, if you set hit count 1 then it will stop on the first hit. Which is intuitive to me.
Closing as designed as it works nicely on my machine
fyi @weinand

My error, I thought hit count == 1 would only break the first time and not later.

No worries, I understand the confusion


circle frame on flutter web problems on mobile chrome

dear @chooyan-eng
circle frame on flutter web mobile chrome has problem
i tried it with this command :
flutter run -d web-server --web-port 8080 --web-hostname <IP_ADDRESS>
you can see result in this video :
https://user-images.githubusercontent.com/15640035/114166720-59992780-9943-11eb-9663-02204cb626b9.mp4
circle shape frame doesn't work

i traid again with web-renderer canvaskit with this command :
flutter run -d web-server --web-renderer canvaskit --web-port 8080 --web-hostname <IP_ADDRESS>
you can see result in this video :
https://user-images.githubusercontent.com/15640035/114167281-fd82d300-9943-11eb-8128-8689494fcfd8.mp4
with canvaskit circle shape frame is good but The image aspect ratio is not displayed correctly

my example image take with default camera of Samsung A70 :
https://user-images.githubusercontent.com/15640035/114167674-7f72fc00-9944-11eb-89bb-8e51a6edf688.jpg
I tested this test with these devices with their own camera :
A70
A20
S7
S9
A31
i tried this test with these flutter versions :
Flutter 2.0.2 • channel stable
Flutter 2.0.3 • channel stable
Flutter 2.0.4 • channel stable
crop_your_image 0.5.3
You know the example code I used in the above videos  :smile:
https://github.com/chooyan-eng/crop_your_image/issues/31#issuecomment-810772464

@kiaxseventh
Thank you for reporting this issue.
I'm afraid that it may take longer than solving other bug-fixes as I'm not familiar with Flutter web and need trials & errors.
I'll start to reproduce this issue at first anyways. Thanks.

I can also confirm this issue.
The following title would be more accurate for this issue:
Crop frame does not show when using Flutter Web's HTML renderer
Do you mind updating this @kiaxseventh
@chooyan-eng , the issue can be easiest reproduced by simply adding the option --web-renderer html when launched flutter web (flutter run -d chrome => flutter run -d chrome --web-renderer html) .
Please let me know if you need any help setting up a working web example and I'd be happy to assist. And thank you for your work on the library thus far.

I'm fairly confident this is a bug with Flutter's HTML renderer
I've opened the relevant issues here:
https://github.com/flutter/flutter/issues/81637

I faced the same issue with Flutter 3.7.0 on release version on mobile chrome.
I'm using version crop_your_image: ^0.7.4.
How could I fix this?

Issue was fixed 6mo ago on flutter engine. Try test it maybe on flutter master. It is flutter engine issue.
We have to wait for newest stable release

As long as I checked with the latest version 1.0.0-dev.2, the problem is fixed.

I'll close this issue.


Remove Sendable warning in ViewStore.suspend(while:)

Swift 5.6 (from Xcode 13.3 beta 1) complains that the Box value touched in the Sendable handler of .withTaskCancellationHandler is not Sendable. This kind of warnings will show by default with Swift 5.6 and will become errors with Swift 6.
This PR marks Box as @unchecked Sendable. The @unchecked is required by Box.Value==AnyCancellable which is not Sendable by itself. This removes the warning at build time, but it fixes nothing on the concurrency aspect. Conditional conformance of Box to Sendable would require us to conform AnyCancellable to Sendable ourselves, which is most likely a bad idea.
I've also marked Box as final, as recommended. (I've furthermore wrongfully mentioned it as ViewStore.Box in the commit message. This is a top-level class)
I don't know if there are better/safer alternatives without migrating more things to "async/await".
EDIT: CI failed in some unrelated test.

https://github.com/pointfreeco/swift-composable-architecture/blob/67ce7e5839ab7331f3a8dcb5d31783dafd9e8107/Sources/ComposableArchitecture/ViewStore.swift#L470
Is there a configuration where the publisher can cancel without emitting once, and thus where resume is never called?

@tgrapperon Confused a bit about the failure. It's saying a test failed but not printing any info about it 😕
Going to kick off one more CI build but not sure I'll have a chance to investigate further right now.

CI shows: L1257
Restarting after unexpected exit, crash, or test timeout in EffectCancellationTests.testCancellationAfterDelay_WithTestScheduler(); summary will include totals from previous launches.

Really odd. This test expects nothing, so it looks like some external event.

Starting from Xcode 13.3b3, we can also use the @preconcurrency attribute to fix the issue. Is it a better solution than making Box @unchecked Sendable?

No, that's not the intent of the attribute. If you've made a type conform to Sendable's informal requirements but can't make it automatically conform, @unchecked Sendable is the expected solution. @preconcurrency is useful for types you can't evaluate at all, like older Obj-C code. I wouldn't expect it to be that useful for Swift code except as a mitigation as you update a codebase to support concurrency incrementally.

@jshier Ok, thanks for the clarification!

@tgrapperon Now that 13.3 RC's out, I no longer see a warning here. Do you think this PR is no longer necessary (for the moment)?

I can confirm, the warning is gone.
This PR serves no purpose then.


Removed incomplete sentence

Proposed changes
Removed incomplete sentence

Deploy preview for docsdocker ready!
Built with commit 314f3ec6f4da33d15244eef3118fb7802393ad02
https://deploy-preview-9146--docsdocker.netlify.com

Nice catch!


Hide audio page content when text tracks are displayed

Otherwise shadow and text hide the text tracks.

Coverage remained the same at 99.099% when pulling d11251214214c6e1d275614a7379fa1acb3f74fd on tf:hide-audio-page-content-for-tracks into d2caa5a288f35b85134976897e3b36e9e2c0fa23 on codevise:master.


[RFE] option to disable/switch the 'New user default' in  global roles when deploying rancher

Is your feature request related to a problem? Please describe.
When deploying Rancher, there's disable or switch the 'New User Default' global role.
Describe the solution you'd like
An option to disable or to switch the 'New User Default' global role when deploying Rancher
Describe alternatives you've considered
I considered to do it with an API call to prevent manual intervention but this is not a clean  way to solve it.
Additional context
I'm currently deploying and managing Rancher with terraform (helm + rancher2 provider).
I'm using the restricted mode from the  Active Directory authentication provider and I want the users defined under allowed_principal_ids to have the permissions defined explicitly not the permissions defined explicitly + the 'New User Default' permissions.

This issue is still relevant.

This issue is still relevant.

This issue is still relevant.

This issue is still relevant.

@fins2 I've the same question that @a-blender raised above.
In the docs mentioned by Andy, there is information about changing a role to make it the new New User Default role. If you create a less privileged role and make it the default, would that work for your use case?

@a-blender and @samjustus we need someone from team/area1 to chime in, because I'm unsure if doing such changes could have side effects.

@fins2 I believe that your proposal has is valid. My only concern is to make sure that it doesn't has any side effects and that it can also work with Helm deployments.
CCing @samjustus and @a-blender not sure what is the right process to proceed from here, but we at least need someone from team/area1 to double check too.

@fins2 Are you saying that disabling/switch the New user default in Rancher Global role is impossible via TF (or helm?) because you have to do it manually? It can't be automated? Otherwise your suggestion for an RFE sounds good to me. Need team1 feedback.

@a-blender correct, there's no way to disable it with helm or TF .
Because I wanted to automate everything, I create this PR for the Terraform Rancher 2 provider.
This allows me to retrieve the UUID of the New use default role to make an api call to disable it.

@samjustus , since it's in team/area1 I've removed @a-blender from assignees and expecting your team to handle it.

@fins2 Looking into the issue, I've got a few questions/comments that I'd like to ask to help narrow down the solution a bit more.
First, I was able to get something similar working through a very basic terraform setup. Essentially you can use the rancher2_global_role resource to describe the global role which is the built-in role (user), change newUserDefault in the terraform to false, and then import the existing role using terraform import. The disadvantages of this approach are:

You can't do this in a single apply run that also sets up your rancher cluster, since you need to issue the import command outside of an apply run (and you need to run an apply first to actually setup Rancher).
This requires you to replicate the current state of the user global role in your terraform (took me ~130 lines, which I can provide if this method works for you).
Does this approach work for your workflow (I suspect it does not, but thought that I should ask)?

Second, reviewing your PR (rancher/terraform-provider-rancher2#1045) on the terraform repo, I'm not sure how this helps enable your workflow. Near as I can tell, this would only help you to get the content of a currently existing GlobalRole - it would not help you update that GlobalRole to change the newUserDefault value of that item (correct me if I am wrong, but near as I can tell data sources are read-only: https://developer.hashicorp.com/terraform/language/data-sources). Can you elaborate on how that change would help you to modify this value without importing the existing resource? Are you planning to use some other tool (like the rancher cli through a local provisioner) to make the changes, and just use the terraform to perform a lookup?

@MbolotSuse The solution you provided doesn't really fit into my deployment flow because I'll have execute several apply.
In the PR I added the uuid  into the rancher2_global_role datasource.
This uuid can be used to disable the newUserDefault option in the global role.
This is executed in the same terraform run where I deploy Rancher with a curl command in a local_exec provisioner:
curl ${module.rancher.admin_url}/v3/globalRoles/user -u "${module.rancher.admin_token}" -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{ "annotations": "", "description": "", "id": "${data.rancher2_global_role.user.id}",  "labels": "",  "name": "${data.rancher2_global_role.user.name}",  "newUserDefault": false , "ownerReferences": "[]",  "rules": "[]",  "uuid": "${data.rancher2_global_role.user.uuid}" }'

Thanks for clarifying, your objection (needing to run several applies) is reasonable.
That being said, if you are willing to use another tool (like curl) to achieve this I think it's best to avoid changing the terraform - if we are making a change there I would want it to be able to make a terraform-only approach work.
Using curl, however, you can retrieve the current UUID using a get request. Alternatively, you can retrieve the entire current role, change only the value that you need, and use a put to update the role. I was able to do this with the following one-liner (this uses jq, and I've adopted it from my shell to fit the TF vars that you specified above):
curl -u "${module.rancher.admin_token}" -X GET \
        -H 'Accept: application/json' \
        -H 'Content-Type: application/json' \
        ${module.rancher.admin_url}/v3/globalRoles/user | jq '.newUserDefault=false' | \
         curl -u "${module.rancher.admin_token}" -X PUT \
             -H 'Accept: application/json' \
             -H 'Content-Type: application/json' \
             ${module.rancher.admin_url}/v3/globalRoles/user -d @-

I should mention at this point that Norman (/v3) isn't the most stable part of Rancher, so you may need to update this script in the future to keep it working (even if we made the TF changes, the same would still be true of the PUT request that you posted).

@MbolotSuse I'm not willing to use another tool, I use curl because I do not have any other option.
The best solution would be to have an option during the Rancher deployment where I can specify that I don't won't this Global Role to be the default use role.

@fins2 Your request makes sense to me. Since your PR to the terraform provider does not provide that capability (and the current workflow that you have works without that change), I think it's best to close that PR and focus this issue on providing a way to specify what role (if any) you want as the default from within the rancher helm chart.
Any questions/concerns on that approach from your side?

Summary
When users deploy Rancher, Rancher automatically creates the standard-user role, which it marks as the default for all new users. Users currently have no method of setting which GlobalRole (or RoleTemplate for projects/clusters) are the default.
Solution/Requirements

A new setting should be created, called defaultGlobalRole.
This setting should default to user (the name for standard-user).
An option should be exposed in the rancher/rancher helm chart to set this value.
On start, Rancher should see if this setting has a value (i.e. if a value other than the default was set)

If only the default was set:

Rancher should not update newUserDefault to true for any existing roles (including standard user)
Rancher should set newUserDefault to true on standard-user, but only if it is creating standard-user

If a value was provided:

Rancher should update the GlobalRole specified by the value to have newUserDefault set to true. This value should not be changed for any other role (meaning if a user changes this value from user to admin, both user and admin will have newUserDefault set to true)
Rancher should panic if the specificed global role was not found, and fail to start with a specific error message that indicates that the global role was not found.

+1

jira.suse.com/browse/SURE-5649


Printing of functions with one argument

Functions with only one argument are printed without brackets:
    .cn return_178710 _178716: [%mem.M, .Idx<PHONE_NUMBER>]  = {
        return_178715 _178716
    };

In cases like the one above, this is correct.
But this hinders readability in some cases (name_num vs name _num) and prevents simply adding/printing a filter @filter at the end.
In some cases like continuation arguments, the invalid code
.cn fun_name .Cn ... = ...

is generated.
Suggestion: always print brackets.

A related thing is the following oddity: The FE currently uses the name _ as magic name to indicate that we are not interested in this entity and will happily name many things internally as _. But on top of that Def::unique_name() will generate a name consisting of Def::name() + _ + Def::gid(). For this reasons some variables end up named like __12345 (not the double underscore) in the output Oo
I think the output could be improved if we used a different separator in Def::unique_name(). Then, we would have sth like this:
.cn name_num.23 num.42: T

or
.cn name_num.23 .42: T

or
.cn name_num.23 _.42: T

This should mitigate at least some of the complaints. Now, using . doesn't really work. We would have to agree on a different separator. This was just an example to bring the point (pun intented XD) across.


Applying for the Full Stack Developer

1. update react-router.md for react router v4
1.1 update client-side router docs
1.2 update server-side router docs

This change is

@aj-anuragjain Looks good. Did you test this code by any chance?

@Judahmeek can you take a look at this one.

@justin808 These updated docs match our code in https://github.com/shakacode/react-webpack-rails-tutorial/blob/master/client/app/bundles/comments/startup/ (server & client). We should merge this.

Merged! Thank you @aj-anuragjain and @Judahmeek!


Support for explicit table aliasing

Whilst table aliasing is supported where an association dictates, being able to be explicit about this would be useful:
Post.join { subscribers }.where { subscribers.user_id.eq(1) }.join{ subscribers.as(subscribers_2) }.where { subscribers_2.user_id.eq(2) }

I guess I'm not seeing where that would provide a useful benefit. Controlling the name of the alias is one of the things that feels missing when you're constructing your queries using strings, but when you're using the actual association names, it seems like the kind of thing you'd want abstracted away.
That, and altering the alias of join associations manually would require pretty deep integration to avoid wreaking havoc with the automatic aliasing done by rails.


Fix bad extra semicolon in MIME3 macro

Now MIME3 can be used in an expression just like MIME can.

Hello,
Looks good, thanks for the Pull Request !

No problem, thanks for merging!


More javascript testing

Get existing javascript tests over 90% coverage and increase required coverage to 85%
Signed-off-by: Chris Jowett<EMAIL_ADDRESS>

The events.js tests need more coverage, I will work on that more tomorrow.


Small adjustment on format

fmt.Println(dateparse.ParseAny("jan 2, 2018"))
> 2018-01-02 00:00:00 +0000 UTC <nil>

fmt.Println(dateparse.ParseAny("jan. 2, 2018"))
> 0001-01-01 00:00:00 +0000 UTC parsing time "jan. 2, 2018" as "January 02, 2006 at 3:04pm MST-07": cannot parse "jan. 2, 2018" as "January"

Is it possible to support this extension ?

thanks for the report!

@araddon thanks a lot, saved the day again. See #62 for a follow up on this.


Image Feed cannot be disabled on Firfox and  MS Edge

It's a quite old issue now, please fix it 👍

a temporary solution can be deleting the menu on top of it in F12 and the red X become visible.

This should no longer be an issue with the new comfyui menu


[Feature Request] Please make the plugin available in WordPress Plugin site.

Please make the plugin available in WordPress Plugins. It is really a troublesome and risky work to manually update the plugin through zip and upload followed by update.

+1


[Bug]: Unsupported operand types: string * int

Description
I am encountering an error "Unsupported operand types: string * int" when trying to use the OpenAI PHP Client to upload files and create assistants. The error occurs in the following scenarios:
When calling the uploadFileToOpenAI method and other methods like creating assistants etc
Steps To Reproduce
Steps To Reproduce
Set up the environment:
Ensure you have the OpenAI PHP Client package installed.
Set the OPENAI_API_KEY in the .env file.
Create a Laravel service class:
Call the methods:
OpenAI PHP Client Version
v0.10.1
PHP Version
8.2.12
Notes
The issue seems to stem from the file handling or request payload preparation within the OpenAI PHP Client.
I have verified that the API key is correctly set and that the file path is valid.
Any additional insights or troubleshooting steps would be greatly appreciated.

Hi! Have you found a solution?


dynamic numpy version

Our numpy dependency explains to use >=1.20.0, but this does not work correctly.
This PR introduces to use the version of numpy which is used at build time.

This PR is intended to resolve this issue: https://github.com/sony/nnabla/issues/1107


alpha: Rollups v2 support

Summary
Code changes to support both rollup contracts v1 and v2 (currently available only for devnet and Sepolia).
Changes:

Added new property to the Application model to be queryable based on rollups version without the need to check the factory address (Depending on the query, it means no join).
Added new handlers for ApplicationCreated and InputAdded events.
The existing handler for OwnershipTransferred was updated to deal with both v1 and v2 events instead of adding a new one, as the topic hash for both contracts is the same. After looking at the generated code from ABI, I believe both handlers would be called sequentially, deeming a new handler unnecessary. PS: I assume it will be picked as the topic matches. There are at least three apps created on Sepolia, but none emitted the event.
The config function was updated, adding the addresses for v2, including v2 information when it is supported in the network (currently only Devnet and Sepolia).
Updated logic for preloading application address to include v2 factory.
Preloaded content was also bumped for Mainnet and Sepolia.

Events
// CartesiApplication
OwnershipTransferred: event("0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "OwnershipTransferred(address,address)", {"previousOwner": indexed(p.address), "newOwner": indexed(p.address)}),

// CartesiDApp
OwnershipTransferred: event("0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "OwnershipTransferred(address,address)", {"previousOwner": indexed(p.address), "newOwner": indexed(p.address)}),

I am closing for now to avoid Vercel trying to deploy.

Hey @tuler, could you confirm my bullet point 3 about the OwnershipTransferred? Because as for this handler is always about the topic comparison I believe having two handlers even though using the events generated by different ABIs, it would still have one Log go through the v1 handler then the next one again doing unnecessary extra operations.


Scroll to top on route change

Hi there,
I would like to add a basic hook that does a:
window.scrollTo(0, 0);
whenever there is a route change. Any ideas where I could place this?

Untested, but you may use scroll-behavior npm module to do this:
import createHistory from 'history/lib/createBrowserHistory'
import useScroll from 'scroll-behavior/lib/useScrollToTop'

const createHistory = useScroll(createHistory)

// Compose reduxReactRouter with other store enhancers
const store = compose(
  applyMiddleware(m1, m2, m3),
  reduxReactRouter({
    routes,
    createHistory
  }),
  devTools()
)(createStore)(reducer)

@martinwells Not sure if @chentsulin's example worked but you could also write a custom middleware which inspects the action, checks the type against the routerDidChange type from redux-router and then do the window.scroll


Feature/conluzweb 15

You can try accessing the error page by navigating to the /error path. You have direct access through this link.
I have doubts about the Next.js error.js file convention. I think that we should use it in order to handle the errors. According to this page, we should use an Error Boundary to catch all the errors thrown in the application. I don't know how we could distinguish between each error status to show the correct error page. You can find more information about the page I mentioned in this Error Handling.

I have applied all the suggestions made, and the final page for the 500 error can be viewed at this link


Ranging monitoring not working on Android 7.0

Prerequisites

[X ] Put an X between the brackets on this line if you have done all of the following:

My beacons have Estimote Monitoring enabled (Check it in the Estimote Cloud, or via app)
My Android device/devices supports BLE and has Android OS version >= 5.0.0
My Android device/devices have bluetooth enabled
My app has Location Permissions granted

Basic information
Estimote SDK version: compile 'com.estimote:proximity-sdk:0.4.1'
compile 'com.estimote:sdk:1.0.12'
gardle version 2.8
Android devices affected: [Paste here your Android device model/models that you are having problems with.]
Asus zenfone Max Plus.
Asus_X018D ZB5770TL
Android OS version affected: Android 7.0 nougat
Beacon hardware version: [Paste here your beacons hardware version (you can check that in Estimote Cloud).]
Hardware Version
F3.3
Description
ranging and regions dont work.  In older devices and versions of android it works perfectly but in my version it just doesnt work.

Try any ranging. It dont work. Maybe is my configuration and im doing something bad. but is strange since it works on older versions of android correctly.

it never enters: beaconManager.setRangingListener or onEnteredRegion
`
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
buildToolsVersion "27.0.2"
defaultConfig {
    applicationId "com.cyclops.pruebaestimote4"
    minSdkVersion 21
    targetSdkVersion 27
    versionCode 4
    versionName "1.3"
    useLibrary 'org.apache.http.legacy'
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
// add the following line, and replace "1.0.12" with the latest version
// of Estimote Android SDK; you'll find the latest version number on:
//   https://github.com/Estimote/Android-SDK/releases
compile 'com.android.support:appcompat-v7:27.0.2'
compile 'com.android.support:design:27.0.2'
//compile 'com.estimote:proximity-sdk:0.4.1'
compile 'com.estimote:sdk:1.0.12'
compile 'com.android.support:support-v4:27.0.0'
compile 'org.apache.httpcomponents:httpcore:4.4.1'
compile 'org.apache.httpcomponents:httpclient:4.5'

}`
`// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

}
allprojects {
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
`
Expected behavior: I expect ranging to work correctly in newer versions of android. It works on older versions
Actual behavior: it works once every 2 hours and badly. (not all beacons detected)
Additional information
Add here any logs you want to attach, or any other info, like pictures for example

I see that you included SDK in version 1.0.12:
compile 'com.estimote:sdk:1.0.12'
but latest version is 1.4.1. Can you try that version?
As release log says there were some fixes for Android 7.
If it does not work can you provide some logcat or  BT Snoop logs?

No answer from author. Closing.
Ranging and Monitoring is deprecated. Please use Proximity SDK instead.


THRIFT-5818: Add AIX support

This PR adds support for AIX by splitting the syscall.Recvfrom() call into AIX and non-AIX variants. This split is necessary because AIX does not have a MSG_DONTWAIT flag, but has an equivalent called MSG_NONBLOCK.

[x] Did you create an Apache Jira ticket?  (Request account here, not required for trivial changes)
[x] If a ticket exists: Does your pull request title follow the pattern "THRIFT-NNNN: describe my issue"?
[x] Did you squash your changes to a single commit?  (not required, but preferred)
[x] Did you do your best to avoid breaking changes?  If one was needed, did you label the Jira ticket with "Breaking-Change"?
[x] If your change does not involve any code, include [skip ci] anywhere in the commit message to free up build resources.

This is blocking work I'm doing on an OpenTelemetry build for AIX. Your README claims you don't have a release schedule, but try to release twice a year. As this was merged 5 days after the latest release, I'm wondering if a patch release making it available would be possible?
(Yes, I know I could do a local build and use path redirection to that local build to bypass, but that isn't realistic for a production ready product that needs to be buildable by many others)

@Dylan-M since this is purely a library change, you can always get it via go get github.com/apache/thrift@master before the next release happens.

I could, but we don't really do that for software released. We need a pinned version. Hence why I asked if a patch release would be possible, because then we can use it as a pinned version.
That and the, "Never hurts to ask, worst you can get is to be told no" ;)

TIL: We can pin versions in our collector builder manifest by forcing replacements, even for indirect dependencies of dependencies.
- github.com/apache/thrift => github.com/apache/thrift v0.21.1-0.20240926171305-90af876c67be
Got me what I needed. Glad I didn't give up on this (I'm not a golang developer, I'm a DevOps engineer who happens to be assisting with making this work on AIX)

Glad it works for you & thanks for using Thrift. 👍
There will be another release, just not immediately.


Investigate divergence in Quick-Props

let prop quick-prop(self: Precondition)(: guard: ?): InferredProperty = ();

was diverging without the guarded property. This needs some regression tests.

I think it may be the missing guard, not sure though. The precise call site was
add-quick-prop( base-type,  TAny {}, t1("Field::0<U64>") );


doc: add example CR

handy for quick experiments
Signed-off-by: Francesco Romani<EMAIL_ADDRESS>

/lgtm


Livesync dies after a few minutes

I'm currently running Nativescript in combination with visual studio code.
After a few minutes my emulator will no longer pick up changes and the following error is thrown:
Error: read ECONNRESET     at exports._errnoException (util.js:1022:11)     at TCP.onread (net.js:572:26) [NSDebugAdapter] The tns command finished its execution with code 0.
For reference:
I'm using a clean install of visual studio code v1.11.1 windows + extension (ext install nativescript).
My app is a new unalterd javascript project (tns create testProject)
The emulator is started via launch.json, which is freshly generated by nativescript:

{
"version": "0.2.0",
"configurations": [
{
"name": "Launch on iOS",
"type": "nativescript",
"request": "launch",
"platform": "ios",
"appRoot": "${workspaceRoot}",
"sourceMaps": true,
"watch": true
},
{
"name": "Attach on iOS",
"type": "nativescript",
"request": "attach",
"platform": "ios",
"appRoot": "${workspaceRoot}",
"sourceMaps": true,
"watch": false
},
{
"name": "Launch on Android",
"type": "nativescript",
"request": "launch",
"platform": "android",
"appRoot": "${workspaceRoot}",
"sourceMaps": true,
"watch": true
},
{
"name": "Attach on Android",
"type": "nativescript",
"request": "attach",
"platform": "android",
"appRoot": "${workspaceRoot}",
"sourceMaps": true,
"watch": false
}
]
}

What is going wrong here?

Hey, @dwichelo,
Can you tell us which CLI version you've installed and the version of the NS extension?
Also if they are not the latest you can try upgrading and check if the issue is valid with the latest bits as well.
Thanks!