Test only with Firefox or Chrome

As discussed at today's technical meeting this patch closes #2527 and
replaces it with a patch limiting the tests to Firefox or Chrome so we
know that we actually run in a somewhat known and safe environment.

Note that r/9.x seems to have the same issue I fixed in #2720 for r/10.x.
Make sure to build with something like this if you test this locally:
TZ="America/Regina" mvn clean install -Pnone -DtrimStackTrace=false

Your pull request should…

[x] have a concise title
[x] close an accompanying issue if one exists
[x] be against the correct branch
[x] include migration scripts and documentation, if appropriate
[x] pass automated tests
[x] have a clean commit history
[x] have proper commit messages (title and body) for all commits

It's worth testing both TZ="America/Regina and TZ="America/Boston" since the former does not observe DST, whereas the latter does.  Because we all love TZ test regressions!
This works for me, but I'm also on Debian.

It's worth testing both TZ="America/Regina and TZ="America/Boston" since the former does not observe DST, whereas the latter does.  Because we all love TZ test regressions!

Actually, no. There is still a timezone related build problem in r/9.x as I mentioned. It's fixed in r/10.x. Tests will thus fail. But that has nothing to do with what this pull request tried to do.

Why close this?

Because @mliradelc disagrees with these changes, which means we can also use his pull request once it's fixed. For me, this was just an attempt at getting this done. I don't have this problem and won't spend a lot of effort on this. If @mliradelc opposes the solution and wants to solve this differently, that's fine with me.


[Bug][Accessibility] Informative warning icon is cut off when text spacing is applied

Description of the issue
When text spacing is applied, the informative warning icon is partially cut off.
Steps to reproduce the issue

Set the window size to 1920 x 1080px.
Apply text spacing using a bookmarklet such as this: Text spacing bookmarklet

Otherwise the following styling should be applied:
Line height (line spacing) to at least 1.5 times the font size;
Spacing following paragraphs to at least 2 times the font size;
Letter spacing (tracking) to at least 0.12 times the font size;
Word spacing to at least 0.16 times the font size.
See 1.4.12 Text Spacing.
Expected behaviour
No informative content should be lost when text spacing is applied.
Screenshots

Environment

Operating system: Windows 10
Browser: Edge

Hi @jsutcliffe, has there been any updates on this at all?


No intellisense in project.json from local nuget source

VSCode Version: Any
OS Version: Any

Steps to Reproduce:

Create a lib and compile (dotnet new -t library)
"dotnet pack" it
Create a Nuget.config with a local file repository
"nuget add" the library to this repository
Create an empty .NET app (dotnet new)
Attempt to use the library by adding the library name and version to project.json

No intellisense in proect.json. However, if you add the library manually, it will be added to the "dotnet restore" and work.

Please file an issue against the omnisharp-vscode extension as that provided C# support.


Proposal: hashing out ideas for API middleware

Note: I've also included some changes that eslint suggested
A proposal for addressing #6
@jasontwong @davidmiller11  Here is the implementation of the API middleware that was in the redux docs.
I kindof like it, we'll at least have a cleaner interface for interacting with the api's through our actions.
As it stands right now, we'd pass the following as the callAPI attribute on the action:
httpGet("http://api.service.com/whatever", { attributes }).then(parseData)

// or if we wanted to just grab the data later with reselect we could just do this
httpGet("http://api.service.com/whatever", { attributes })

Any thoughts?

I think that I do want to go ahead and include the http methods in this middleware and just pass in the type, url, and the data that we're posting...


Cesium.js:1 Uncaught TypeError: Cannot set properties of undefined (setting ‘dayNumber’)

What happened?
It should return me JulianDate
Reproduction steps
let time = Cesium.JulianDate.addSeconds(Cesium.JulianDate.now( ), 10 );
Sandcastle example
Cesium.js:94 Uncaught TypeError: Cannot set properties of undefined (setting 'dayNumber')     at Ip (Cesium.js:94:14495)     at Tt.addSeconds (Cesium.js:94:19719)     at index.html:39:38
Environment
Browser:
CesiumJS Version: 1.99
Operating System: windows 11

the third parameter of Cesium.JulianDate.addSeconds is required and should be a valid JulianDate. Did you just commented the parameter check as follows:
if (!defined(result)) {
throw new DeveloperError("result is required.");
}
Just create a JulianDate object and put it as the third parameter as:
let time = new Cesium.JulianDate();
time = Cesium.JulianDate.addSeconds(Cesium.JulianDate.now(), 10, time);

CesiumJS is a big project, so we use GitHub for feature requests and bug tracking exclusively. In the future, please take any questions to the Cesium Forum where there are members of the community and developers from the team who can help. Thanks!


machine_batch with embedded loops and dynamic machine_options causes unexpected results

First, apologies if this is less than coherent as I've gone slightly insane (and pulled out half my beard) debugging this.
I'm trying to batch-create 3 servers, each in a different AWS subnet, using the aws driver.  This machine-in-machine_batch style produces the correct log output from the box_opts call, but the log output from the driver's run_instances call is identical for each server:
rabbits = []
machine_batch "rabbit cluster" do
  1.upto(3) do |i|
    tmp = machine "#{label}-east-rabbit0#{i}" do
      role              'base'
      role              'rabbitmq-v2'
      chef_environment  'perf2'
      machine_options   lazy { MyBoxConfig.box_opts('rabbit', i, label, subnets) }
    end
    rabbits.push(tmp)
  end
  action    :converge
end

This one does work:
rabbits = []
1.upto(3) do |i|
  tmp = machine "#{label}-east-rabbit0#{i}" do
    role              'base'
    role              'rabbitmq-v2'
    chef_environment  'perf2'
    machine_options   lazy { MyBoxConfig.box_opts('rabbit', i, label, subnets) }
    action            :ready
  end
  rabbits.push(tmp)
end

machine_batch "rabbit cluster" do
  action    :converge_only
  machines  rabbits
end

I tried without the lazy evaluation as well, but that didn't change anything.  What additional details can I provide to help debug this?  Is this a known limitation / issue with machine_batch?  Am I doing something wrong?

Hey @redterror - thanks for the bug report. I added this to the list of bugs to fix for the EPIC #429
There is something super weird and buggy going on with machine_batch where it uses the same machine_options for all the machines in the batch.  Its definitely a bug that we need to fix.

Thanks.  I attempted to make a failing spec for this, and was disappointed when things worked right!  Here's my modification to machine_batch_spec.rb that passes where I expected it to fail:
require 'spec_helper'

describe Chef::Resource::MachineBatch do
  extend AWSSupport

  when_the_chef_12_server "exists", organization: 'foo', server_scope: :context do
    with_aws "with a VPC and a public subnet" do

      before :all do
        chef_config[:log_level] = :warn
      end

      purge_all
      setup_public_vpc

      azs = []
      driver.ec2.availability_zones.each {|az| azs << az }
      az = azs[1].name
      aws_subnet 'test_subnet2' do
        vpc 'test_vpc'
        cidr_block '<IP_ADDRESS>/24'
        availability_zone az
        map_public_ip_on_launch true
      end

      it "machine_batch creates multiple machines", :super_slow do
        expect_recipe {
          machine_batch 'test_machines' do
            action :allocate
            (1..3).each do |i|
              machine "test_machine#{i}" do
                machine_options bootstrap_options: {
                  subnet_id: 'test_public_subnet',
                  key_name: 'test_key_pair'
                }, source_dest_check: false
              end
            end
          end
        }.to create_an_aws_instance('test_machine1',
          source_dest_check: false
        ).and create_an_aws_instance('test_machine2',
          source_dest_check: false
        ).and create_an_aws_instance('test_machine3',
          source_dest_check: false
        ).and be_idempotent
      end

      it "machine_batch supports runtime machine_options", :super_slow do
        expect_recipe {
          subnets = %w(test_public_subnet test_subnet2)

          machine_batch 'test_machines' do
            action :allocate
            (1..2).each do |i|
              machine "test_machine#{i}" do
                machine_options bootstrap_options: {
                  subnet_id: subnets[i-1],
                  key_name: 'test_key_pair'
                }, source_dest_check: (i == 1)
              end
            end
          end
        }.to create_an_aws_instance('test_machine1',
          subnet_id: test_public_subnet.aws_object.id,
          source_dest_check: true
        ).and create_an_aws_instance('test_machine2',
          subnet_id: test_subnet2.aws_object.id,
          source_dest_check: false
        ).and be_idempotent
      end
    end

  end
end

I can't say definitively that the problem isn't in my helper library code, but either way it sure was an unexpected result.

Well, that is super weird.  So the test succeeds but if you put that code block in a real recipe it fails?  And yes, please submit a PR with the updated test.  More testing = more better!


Will/un-71-frontpage moderation

TODO:

[ ] Move report button to better position on posts
[ ] Perhaps add elipses dropdown
[ ] Add report button to comments
[ ] Add report button to profile
[ ] Add report button to profile hover
[ ] report confirmation modal
[ ] report reasons added?


Gridlines are not on rounded time boundaries

The time graph gridlines and axis ticks are on rounded multiples of the step length away from the start time of the view range.
But the absolute time of the gridline will not be on a rounded number because the time graph does not seem to be aware of the time offset of its view range, which is only known by the (external) implementation of the numberTranslator.
The time offset should be available and used by the time graph so that it can set the gridlines and axis ticks on rounded boundaries.

Can you  provide a screenshot for illustration purposes?

Fixed with https://github.com/theia-ide/timeline-chart/pull/172


HMR causes infinite render loop with nested Awaits

Reproduction

Visit this StackBlitz
Open developer console while Stackblitz loads (you will be observing console)
Once Stackblitz loads its browser, make any chance to a project file to trigger HMR
Observe: render count is incremented infinitely in the console

System Info
From Stackblitz --

System:
    OS: Linux 5.0 undefined
    CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 18.20.3 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 10.2.3 - /usr/local/bin/npm
    pnpm: 8.15.6 - /usr/local/bin/pnpm
  npmPackages:
    @remix-run/dev: * => 2.10.2
    @remix-run/node: * => 2.10.2
    @remix-run/react: * => 2.10.2
    @remix-run/serve: * => 2.10.2
    vite: ^5.1.0 => 5.3.3

Used Package Manager
npm
Expected Behavior

The innerData promise destructured from useLoaderData is stable, and therefore memoizes correctly
innerContentPromise should be calculated once, returning its own stable promise
InnerComponent should await innerContentPromise and stop rendering once it has resolved

Actual Behavior
An HMR causes innerComponent to re-render infinitely

Repeatedly running into this, and having to find workarounds.
In digging around, it does feel related to #7809 and #7392 (useMemo not working as expected deferred loader data)


A couple of policy fixes for consistency and long app names

sls wants the 'ValidateTemplate' permission
S3 permissions have two types, bucket level and object level, and for object level you need the /* postfix.
sls truncates the bucketname of the deploy buckets when the app name gets long.  So, this shortens them to something still very serverless-specific, but giving some more room for app names.

Thanks!  super useful policy generator


Support create timeseries by session API in new cluster

Description

Coverage increased (+0.002%) to 53.054% when pulling fcfbfb90818d5826fec0080d091acf2a3e85ee44 on createTS into 5aa3fcafd68b9a1b7b7e30dbfbbcb1fc73dd5e4b on master.


Translate datatable

Hello.
I've traslated all fields, but i can't translate:

Column visibility
Search
Action
on datatables. Where i can modify this translations?

https://github.com/yajra/laravel-datatables/issues/557

@marcoc1987
Yes, you can modify those translations.

For Action

Open Data Table class which is generated by generator. for eg. NewsDataTable
now you can see one method is  public function html()
you can set title like
->addAction(['width' => '10%', 'title' => 'Action'])

For Column visibility & Search
it's managed by datatabel. so you can check here https://github.com/yajra/laravel-datatables/issues/557


Animated (scaled height) Sticky Headers

Hello,
I would like to ask that is it possible to achieve for every sticky header collapsing layout when user is scrolling?
I'm mean  when there is a sticky header with height 200dp, after scrolling it changes it's height to 80dp. When next header arrives (with height 200dp) it moves earlier header. After after next scrolling it started scaling like this earlier.
If yes how to do this?:)
Thank you for the answer in advance.
Best regards,
Jack

@jczerski, thanks for the question, but it is not possible with the current calculation.
Basically, it is a brand new helper class, but you have to create one yourself and try to insert into the library.


[material-ui][Stepper] Automate/extend its functionality to match same patterns used by Tabs

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Summary 💡
With the behavior MUI Tabs component, there's a clear goal: automate the process of indicating the active tab, and keeping the active tab synchronized with the content that is displayed under that tab. With the Stepper, we have a similar but only slightly more complicated goal: automate the process of indicating the active step, already-completed steps, and pending steps. All while, ideally, programmably displaying the content associated with that step.
Stepper has some additional functionality and options that Tabs does not, but in the same way that Tabs provides an API which can be used either standalone or integrated with Routing libraries, we can engineer the Stepper to make the additional functionality both flexible and programmable, by relying on simple props which embody the state of the component, and which can be driven either internally or by overriding the props.
Similarly, the stepper can use optional StepPanel components which are synchronized to the state of the step indicators as TabPanel components are. We do not have those components today, but their behavior should match almost entirely the behavior of a TabPanel, with the minor complication that where TabPanel has only active and inactive states, StepPanel needs three states: active, completed, and pending, to embody steps that come before or after the current step.
The best way to do this, seemingly, is to utilize the code and patterns from the Tabs component, so that MUI provides familiar, predictable UX/DX across the portfolio of components. Thus, the behavior should be based on the "value" prop: whereby the value prop on Stepper defines the state of the group, of which step is 'active'. However, instead of allowing the matching value props on Step components to be defined manually as they are on Tabs, we would exclusively infer it from the position in the Stepper's children array, as a Stepper is inherently a sequential interface, driven by a numeric value.
Then, the Stepper would be augmented by several additional properties:

activeVariant simply defines which of the MUI global variants we apply to the currently active Step (the Step which correlates to the 'value' of the Stepper)
completedVariant then defines how we treat those Steps which have already passed (which have a Step value less-than the current Stepper value)
pendingVariant would define how we treat those steps not-yet-reached (which have a Step value greater-than the current Stepper value)

Providing the variants explicitly could be optional, as we could state that the activeVariant defaults to solid, completedVariant defaults to soft, and pendingVariant defaults to outlined; all of which provides a pretty conventional set of "sane defaults", while allowing customization. Beyond that, users could also take advantage of other standard MUI styling patterns to override those variants if they choose.
Would this be a constructive approach? Would we be open to a PR implementing this?
Examples 🌈

The Tabs API, which emphasizes the use of value, and how styling is driven by the Mui-selected class
The Global Variants, which we would use as the default styling of the active, pending, and completed steps

Motivation 🔦
Providing basic automation/wiring patterns both saves effort for every single user of the component, while also helping people achieve stronger and more sustainable patterns of use. Specifically, the correlation between indicator styling and the state of the active step is a universal need we don't currently support. Also, it provides a more consistent experience across the MUI portfolio, in terms of the level of automation provided by components, specifically comparing Stepper to Tabs. Finally, in detail, by providing this kind of automation in a supported way, we can help avoid all the pitfalls people will encounter when trying to add this automation themselves. For example, if attempting to write a wrapper component for Step, one will wind up with an additional divider line after the last indicator, because it breaks the insertion of the data- attributes which define the last-child... we want to help people avoid that kind of thing by supporting the common need in a well-defined way.

Hey, thanks for the suggestion. It's a very well write up of the requested features. I wonder if, moving to using the Base UI's hook, we won't be able to use the same udnerlaying hooks and consolidate most of the logic between these two components. We will need to do some benchmark and see what other libraries are doing. cc @DiegoAndai this could be something interesting for Material UI v7.

This could be something interesting for Material UI v7.

I agree! This is closely related to refactoring the components to use Base UI. I added it to the milestone so we keep it in mind.


proposed style changes for crashcourse website

@tpoulos I like it.
My two biggest complaints I commented inline. Other than that, I think we just need to remove the old logos from the assets folder and we're good to go.

Both changes look good, I put them in, so this should be good to merge.

I don't think we need to remove the old logos: they're still being used in the tab bar.

I don't think we need to remove the old logos: they're still being used in the tab bar.

Oh, you're right.

Thanks! I just closed this from the command line.


[ Question ] Developing on this project.

Is your question related to a problem? Please describe.
Following the Developer Documentation. On a fresh clone, I am having problems gathering the submodules and all folders seem empty.
Describe alternatives you've considered
I have tried doing the same after on a sucessful install and neither seems to work.
Additional context
Here's the cmd output:
$ git clone https://github.com/RCVolus/league-prod-toolkit.git
Cloning into 'league-prod-toolkit'...
remote: Enumerating objects: 5116, done.
remote: Counting objects: 100% (249/249), done.
remote: Compressing objects: 100% (135/135), done.
remote: Total 5116 (delta 157), reused 190 (delta 114), pack-reused 4867
Receiving objects: 100% (5116/5116), 28.50 MiB | 11.78 MiB/s, done.
Resolving deltas: 100% (3107/3107), done.

Joan@DESKTOP-P13L8VS MINGW64 /e/repositorios
$ cd league-prod-toolkit

Joan@DESKTOP-P13L8VS MINGW64 /e/repositorios/league-prod-toolkit (main)
$ git submodule update --init --recursive
Submodule 'docs/wiki' (https://github.com/RCVolus/league-prod-toolkit.wiki.git) registered for path 'docs/wiki'
Submodule 'modules/module-caster' (https://github.com/rcv-prod-toolkit/module-caster.git) registered for path 'modules/module-caster'
Submodule 'modules/module-league-caster-cockpit' (https://github.com/rcv-prod-toolkit/module-league-caster-cockpit.git) registered for path 'modules/module-league-caster-cockpit'
Submodule 'modules/module-league-champselect-ace' (https://github.com/rcv-prod-toolkit/module-league-champselect-ace.git) registered for path 'modules/module-league-champselect-ace'
Submodule 'modules/module-league-champselect-tent' (https://github.com/rcv-prod-toolkit/module-league-champselect-tent.git) registered for path 'modules/module-league-champselect-tent'
Submodule 'modules/module-league-champselect-ui' (https://github.com/rcv-prod-toolkit/module-league-champselect-ui.git) registered for path 'modules/module-league-champselect-ui'
Submodule 'modules/module-league-end-of-game' (https://github.com/rcv-prod-toolkit/module-league-end-of-game.git) registered for path 'modules/module-league-end-of-game'
Submodule 'modules/module-league-in-game' (https://github.com/rcv-prod-toolkit/module-league-in-game.git) registered for path 'modules/module-league-in-game'
Submodule 'modules/module-league-prm' (https://github.com/rcv-prod-toolkit/module-league-prm.git) registered for path 'modules/module-league-prm'
Submodule 'modules/module-league-runes' (https://github.com/rcv-prod-toolkit/module-league-runes.git) registered for path 'modules/module-league-runes'
Submodule 'modules/module-league-state' (https://github.com/rcv-prod-toolkit/module-league-state.git) registered for path 'modules/module-league-state'
Submodule 'modules/module-league-static' (https://github.com/rcv-prod-toolkit/module-league-static.git) registered for path 'modules/module-league-static'
Submodule 'modules/module-teams' (https://github.com/rcv-prod-toolkit/module-teams.git) registered for path 'modules/module-teams'
Submodule 'modules/module-tournament-tree' (https://github.com/rcv-prod-toolkit/module-tournament-tree.git) registered for path 'modules/module-tournament-tree'
Submodule 'modules/module-twitch' (https://github.com/rcv-prod-toolkit/module-twitch.git) registered for path 'modules/module-twitch'
Submodule 'modules/module-valorant-pregame' (https://github.com/rcv-prod-toolkit/module-valorant-pregame.git) registered for path 'modules/module-valorant-pregame'
Submodule 'modules/module-valorant-state' (https://github.com/rcv-prod-toolkit/module-valorant-state.git) registered for path 'modules/module-valorant-state'
Submodule 'modules/module-valorant-static' (https://github.com/rcv-prod-toolkit/module-valorant-static.git) registered for path 'modules/module-valorant-static'
Submodule 'modules/module-vmix' (https://github.com/rcv-prod-toolkit/module-vmix.git) registered for path 'modules/module-vmix'
Submodule 'modules/plugin-config' (https://github.com/rcv-prod-toolkit/plugin-config.git) registered for path 'modules/plugin-config'
Submodule 'modules/plugin-database' (https://github.com/rcv-prod-toolkit/plugin-database.git) registered for path 'modules/plugin-database'
Submodule 'modules/plugin-prod-clock' (https://github.com/rcv-prod-toolkit/plugin-prod-clock.git) registered for path 'modules/plugin-prod-clock'
Submodule 'modules/plugin-theming' (https://github.com/rcv-prod-toolkit/plugin-theming.git) registered for path 'modules/plugin-theming'
Submodule 'modules/plugin-webapi' (https://github.com/rcv-prod-toolkit/plugin-webapi.git) registered for path 'modules/plugin-webapi'
Submodule 'types' (https://github.com/rcv-prod-toolkit/types.git) registered for path 'types'
Cloning into 'E:/repositorios/league-prod-toolkit/docs/wiki'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/module-caster'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/module-league-caster-cockpit'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/module-league-champselect-ace'...
remote: Repository not found.
fatal: repository 'https://github.com/rcv-prod-toolkit/module-league-champselect-ace.git/' not found
fatal: clone of 'https://github.com/rcv-prod-toolkit/module-league-champselect-ace.git' into submodule path 'E:/repositorios/league-prod-toolkit/modules/module-league-champselect-ace' failed
Failed to clone 'modules/module-league-champselect-ace'. Retry scheduled
Cloning into 'E:/repositorios/league-prod-toolkit/modules/module-league-champselect-tent'...
remote: Repository not found.
fatal: repository 'https://github.com/rcv-prod-toolkit/module-league-champselect-tent.git/' not found
fatal: clone of 'https://github.com/rcv-prod-toolkit/module-league-champselect-tent.git' into submodule path 'E:/repositorios/league-prod-toolkit/modules/module-league-champselect-tent' failed
Failed to clone 'modules/module-league-champselect-tent'. Retry scheduled
Cloning into 'E:/repositorios/league-prod-toolkit/modules/module-league-champselect-ui'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/module-league-end-of-game'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/module-league-in-game'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/module-league-prm'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/module-league-runes'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/module-league-state'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/module-league-static'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/module-teams'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/module-tournament-tree'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/module-twitch'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/module-valorant-pregame'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/module-valorant-state'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/module-valorant-static'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/module-vmix'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/plugin-config'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/plugin-database'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/plugin-prod-clock'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/plugin-theming'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/plugin-webapi'...
Cloning into 'E:/repositorios/league-prod-toolkit/types'...
Cloning into 'E:/repositorios/league-prod-toolkit/modules/module-league-champselect-ace'...
remote: Repository not found.
fatal: repository 'https://github.com/rcv-prod-toolkit/module-league-champselect-ace.git/' not found
fatal: clone of 'https://github.com/rcv-prod-toolkit/module-league-champselect-ace.git' into submodule path 'E:/repositorios/league-prod-toolkit/modules/module-league-champselect-ace' failed
Failed to clone 'modules/module-league-champselect-ace' a second time, aborting

Hello there. Thank you for the answer.
Following with the next step, I encountered a problem with building the modules.
Here's what pops up whenever I build all modules:
Joan@DESKTOP-P13L8VS MINGW64 /e/repositorios/league-prod-toolkit (main)
$ npm run build:modules
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

><EMAIL_ADDRESS>build:modules
> node dist/utils/build-modules.js

node:internal/modules/cjs/loader:936
  throw err;
  ^

Error: Cannot find module 'E:\repositorios\league-prod-toolkit\dist\utils\build-modules.js'
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
    at node:internal/main/run_main_module:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

And here is what pops up when I try to build one of them alone:
Joan@DESKTOP-P13L8VS MINGW64 /e/repositorios/league-prod-toolkit (main)
$ npm run build:modules module-league-static
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

><EMAIL_ADDRESS>build:modules
> node dist/utils/build-modules.js

node:internal/modules/cjs/loader:936
  throw err;
  ^

Error: Cannot find module 'E:\repositorios\league-prod-toolkit\dist\utils\build-modules.js'
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
    at node:internal/main/run_main_module:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

NPM version (I don't know if it's too new. But I don't think its related to my problem):
Joan@DESKTOP-P13L8VS MINGW64 /e/repositorios/league-prod-toolkit (main)
$ npm -v
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
8.13.2

This error probably appears since the main project isn't built yet.
Should be fixed by executing npm install (if you haven't yet) and npm run build before npm run build:modules.
I have updated the wiki to reflect the full process :)

Thank you for everything. The npm install and build commands work as intended. The only problem now is that the npm run build:modules won't work on it's own since it's missing the modules we skipped before.
Here is a dump of everything that throws the build:modules command.
Joan@DESKTOP-P13L8VS MINGW64 /e/repositorios/league-prod-toolkit (main)
$ npm run build:modules
npm WARN config global `--global`, `--local` are deprecated.   Please update your lock file with `npm install` before continuing.
npm ERR!
npm ERR! Missing<EMAIL_ADDRESS>from lock file
npm ERR!
npm ERR! Clean install a project
npm ERR!
npm ERR! Usage:
npm ERR! npm ci
npm ERR!
npm ERR! Options:
npm ERR! [--no-audit] [--foreground-scripts] [--ignore-scripts]
npm ERR! [--script-shell <script-shell>]
npm ERR!
npm ERR! aliases: clean-install, ic, install-clean, isntall-clean
npm ERR!
npm ERR! Run "npm help ci" for more info

npm ERR!      C:\Users\Joan\AppData\Local\npm-cache\_logs\2023-02-20T14_58_28_498Z-debug-0.log

installed module-league-champselect-ui
====================
start building module-league-champselect-ui

><EMAIL_ADDRESS>build
> node scripts/build.js

Error: Command failed: npm run build
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
node:internal/modules/cjs/loader:936
  throw err;
  ^

Error: Cannot find module 'dotenv-expand'
Require stack:
- E:\repositorios\league-prod-toolkit\modules\module-league-champselect-ui\config\env.js
- E:\repositorios\league-prod-toolkit\modules\module-league-champselect-ui\scripts\build.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at E:\repositorios\league-prod-toolkit\modules\module-league-champselect-ui\config\env.js:35:5
    at Array.forEach (<anonymous>)
    at Object.<anonymous> (E:\repositorios\league-prod-toolkit\modules\module-league-champselect-ui\config\env.js:33:13)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'E:\\repositorios\\league-prod-toolkit\\modules\\module-league-champselect-ui\\config\\env.js',
    'E:\\repositorios\\league-prod-toolkit\\modules\\module-league-champselect-ui\\scripts\\build.js'
  ]
}

    at ChildProcess.exithandler (node:child_process:398:12)
    at ChildProcess.emit (node:events:527:28)
    at maybeClose (node:internal/child_process:1092:16)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:302:5) {
  code: 1,
  killed: false,
  signal: null,
  cmd: 'npm run build'
}

After that, it starts to build and it seems all existing modules work and build as intended.
installed module-league-caster-cockpit
installed plugin-config
installed module-league-end-of-game
installed plugin-prod-clock
installed module-tournament-tree
installed module-caster
installed module-valorant-state
installed module-valorant-pregame
installed module-vmix
installed module-twitch
installed module-league-in-game
installed module-league-state
installed module-teams
installed module-valorant-static
installed plugin-theming
installed plugin-database
installed module-league-static
installed rcv-gfx
====================
start building plugin-config

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-league-caster-cockpit

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-league-end-of-game

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building plugin-prod-clock

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-caster

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-valorant-state

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-teams

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-vmix

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-twitch

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-league-state

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-league-in-game

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

installed module-league-prm
====================
start building module-league-static

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-valorant-static

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-valorant-pregame

><EMAIL_ADDRESS>build
> npm run compile-sass && tsc

><EMAIL_ADDRESS>compile-sass
> sass frontend/gfx/:frontend/gfx/

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building plugin-database

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

installed plugin-webapi
====================
start building plugin-theming

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-tournament-tree

><EMAIL_ADDRESS>build
> npm run compile-sass && tsc

><EMAIL_ADDRESS>compile-sass
> sass frontend/style/:frontend/style/

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building rcv-gfx

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-league-prm

><EMAIL_ADDRESS>build
> tsc

Thank you for the help!

The error is not related to the other submodules; it's actually failing to build. We'll take a look to see what's happening. The precompiled version should work in case you don't plan to modify champ select.

I used the precompiled version and it is now building. It seems to be missing a compile saas script somewhere though.
Joan@DESKTOP-P13L8VS MINGW64 /e/repositorios/league-prod-toolkit (main)
$ npm run build:modules
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

><EMAIL_ADDRESS>build:modules
> node dist/utils/build-modules.js

installing module-caster
installing module-league-champselect-ui
installing module-league-caster-cockpit
installing module-league-end-of-game
installing module-league-in-game
installing module-league-prm
installing module-league-static
installing module-league-state
installing module-teams
installing module-tournament-tree
installing module-twitch
installing module-valorant-pregame
installing module-valorant-state
installing module-valorant-static
installing plugin-config
installing module-vmix
installing plugin-database
installing plugin-theming
installing plugin-prod-clock
installing plugin-webapi
installing rcv-gfx
installed module-league-end-of-game
installed module-league-caster-cockpit
installed plugin-database
installed module-valorant-state
installed module-league-in-game
installed module-caster
installed plugin-config
installed module-league-static
installed module-league-state
installed module-twitch
installed module-valorant-pregame
installed module-teams
====================
start building module-league-caster-cockpit

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

installed plugin-prod-clock
====================
start building plugin-database

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-league-end-of-game

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-valorant-state

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-league-in-game

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-caster

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building plugin-config

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

installed module-valorant-static
installed module-vmix
installed module-tournament-tree
installed plugin-theming
====================
start building module-league-static

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-league-state

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

installed rcv-gfx
====================
start building plugin-prod-clock

><EMAIL_ADDRESS>build
> tsc

Error: Command failed: npm run build
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm ERR! Missing script: "compile-sass"
npm ERR!
npm ERR! To see a list of scripts, run:
npm ERR!   npm run

npm ERR!      C:\Users\Joan\AppData\Local\npm-cache\_logs\2023-02-20T15_20_16_681Z-debug-0.log

   at ChildProcess.exithandler (node:child_process:398:12)
   at ChildProcess.emit (node:events:527:28)
   at maybeClose (node:internal/child_process:1092:16)
   at Process.ChildProcess._handle.onexit (node:internal/child_process:302:5) {
 code: 1,
 killed: false,
 signal: null,
 cmd: 'npm run build'
}
====================
start building module-twitch

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-teams

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

installed module-league-prm
====================
start building module-vmix

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-valorant-static

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building plugin-theming

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building rcv-gfx

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-valorant-pregame

><EMAIL_ADDRESS>build
> npm run compile-sass && tsc

><EMAIL_ADDRESS>compile-sass
> sass frontend/gfx/:frontend/gfx/

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

====================
start building module-tournament-tree

><EMAIL_ADDRESS>build
> npm run compile-sass && tsc

><EMAIL_ADDRESS>compile-sass
> sass frontend/style/:frontend/style/

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

installed plugin-webapi
====================
start building module-league-prm

><EMAIL_ADDRESS>build
> tsc

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

installed module-league-champselect-ui
====================
start building module-league-champselect-ui

><EMAIL_ADDRESS>build
> node scripts/build.js

Creating an optimized production build...
Compiled successfully.

File sizes after gzip:

 42.87 kB  build\static\js\2.5838ddc5.chunk.js
 9.58 kB   build\static\js\main.1228372d.chunk.js
 801 B     build\static\js\runtime~main.4bf0a0a6.js
 211 B     build\static\css\main.266321ad.chunk.css

The project was built assuming it is hosted at /pages/op-module-league-champselect-ui/.
You can control this with the homepage field in your package.json.

The build folder is ready to be deployed.

Find out more about deployment here:

 https://cra.link/deployment

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

Joan@DESKTOP-P13L8VS MINGW64 /e/repositorios/league-prod-toolkit (main)

The failed build was down to a missing dependency. You can either manually install dotenv-expand or pull the newest version to resolve the issue.


Issue w/rendering and generation of docs folder from RStudio

Hi @bbest
When I render from RStudio, I end up with a docs folder, as I should. However, I also end up with  index_files/libs in the docs folder which you said indicated I was rendering outside of the proper working directory. I can't seem to fix this issue. When I open RStudio, I open the RProj file and it shows I am in what I assume is the correct wd. Maybe I'm not using the correct wd. :/

I also end up with an index_files folder with a libs sub-folder outside of the docs folder. This one seems to be an hour behind the docs, which I pushed after I deleted all of those files. Not sure why that keeps appearing.


Brush up Dockerfile

Version FlameGraph dependency in Dockerfile.
Bump Dockerfile to go-1.8.

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

Coverage remained the same at 95.443% when pulling f75241c2a4a669580ee64f42c7b0b9ecc5a9004b on tschottdorf:docker-bump-1.8 into 31163c52574978688e99810c1761f36d9191a875 on uber:master.

Coverage remained the same at 95.443% when pulling 899886a56fa5dc8301f8edd1ed54dc53152c8795 on tschottdorf:docker-bump-1.8 into 31163c52574978688e99810c1761f36d9191a875 on uber:master.

It just seems like a good practice to make the builds somewhat reproducible. Upstream changes could break it and since there isn't any CI for the Dockerfile, it seems safer to bump upstream manually when necessary, at which point a one-off test can run.

Thanks for the review, @prashantv!


lifecycle/hooks regression + general bug (4.8.0 vs 5.0.0-beta.12)

I'm submitting a ...  (check one with "x")
[X] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request

Current behavior

On both version 5.0.0-beta.12 and 4.8.0 the onChanges hooks/lifecycle is never called when the user inputs a new value.
On version 5.0.0-beta.12 onChanges hook is also never called when the model is updated programmatically while on 4.8.0 it is.
Expected behavior

The onChanges hook/lifecycle should be consistently called both when the user inputs a new value or the model is updated programmatically.
Minimal reproduction of the problem with instructions

https://stackblitz.com/edit/ngx-formly-lifecycle-sample480
https://stackblitz.com/edit/ngx-formly-hooks-sample500
What is the motivation / use case for changing the behavior?

Please tell us about your environment:

Linux

Angular version: 6.1.10

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Tested on Chrome 69.0.3497.100 (Official Build) (64-bit) + Firefox 62.0.3 (64-bit)

Language: [all | TypeScript X.X | ES6/7 | ES5]

Node (for AoT issues): node --version =

I think that's expected since we rely only on the field input, but to simplify upgrading I'll try to make it working when using lifecycle.


fix unstable tests

What problem does this PR solve?
Issue Number: close #7114
Problem Summary:
What is changed and how it works?
Add a new debug function wait_until_no_temp_active_threads_in_dynamic_thread_pool(timeout) to make the test more stable.
Check List
Tests

[ ] Unit test
[x] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/merge


Whitespace removal

Remove trailing whitespaces from all files
Fixes #242

@tjasmith It looks like the whitespace removal caused some compilation errors.  See https://travis-ci.org/github/spdx/tools/builds/708081818


Automated Regression Tests for Third-Party Functionality

We intend to utilize MLTE as an infrastructure for third-party functionality. In order to make this easier for external developers, we need to implement some "infrastructure" that  enables developers to automatically test the correctness of their implementation and they way in which it integrates with core MLTE.

This seems to far ahead to have for now.


VM 641 uniq asset tags

Creates a CSV file that contains unique asset tags and their usage count.

Some of you might question the usage of print("").  I use it because it is very easy to see where the line breaks are, and if more verbiage is needed, it can be added without looking or that pesky extra \n.

Tested a few different scenarios, all of which passed:

Can I view the help dialog in the terminal with -h?
Can I perform the analysis against an existing JSONL export?
Will an XML export file be rejected by the validation?
Will a JSON export file by rejected by the validation?
Can I run the script without providing an existing export

All looks good to me!


v0.1.4

v0.1.4 December 3, 2019

Fixes

Requirement Updates (#32)

Since we changed the version requirements so drastically, let's call this version 0.2.0
Can the changes also mention the primitive fixes in #23

Continued release on PR #34


Failed to Create Wallet: Buffer Required/Failed to Create Account

It seems I followed all the steps that someone should follow when attempting to create an account. Beyond this it could get very confusing for a non technical person. A simple attempt to create an account. I got this when I attempted it. Suggestions? Thoughts to where the problem may lie?

Probably accounts creation is broken right now because of graphene api changes, will take a look tomorrow. You may have a better idea of what's going on if you take a look at dev console. We are planning to improve errors reporting in future releases.

sounds good. Looking forward to helping to solve this one.


review all the // TODO: copy and paste

We now have a bunch of methods which can be deleted right after the next ORM Core update.

Fixed as part of : #1715 Fixes for deprecated classes/methods


upload file no data to be create just file metadata

This repository's issues are reserved for feature requests and bug reports.
Do you want to request a feature or report a bug?
bug
Bug Report
i use file upload component but when i want to send the file data its just metada like name, extension, size, etc. but cannot find the file data itself
uploadEvent(file: File): void {
    console.log(file)
    this._odoo.call('upload.file', 'upload', ['self',file], {})
      .subscribe(res => {
        console.log(res)
      })
  };

Screenshots or link to CodePen/Plunker/JSfiddle
What is the expected behavior?
What is the motivation / use case for changing the behavior?
Which version of Angular and Material, and which browser and OS does this issue affect?
Did this work in previous versions of Angular / Material?
Please also test with the latest stable and snapshot versions.
Other information
(e.g. detailed explanation, stacktraces, related issues, suggestions how to fix)

This is not a covalent problem, its a general JS issue.
There are multiple ways of doing this.
http://stackoverflow.com/questions/750032/reading-file-contents-on-the-client-side-in-javascript-in-various-browsers
http://stackoverflow.com/questions/16214598/how-to-read-file-content-in-a-javascript-variable

@emoralesb05 what i mean is how to get data file from the input tag,
coz if i console.log() the input value its just show the metadata not the data itself

You cant. You need to do it those ways provided in the links.


FR: Support pasting an SVG directly into the plugin window

Figma has a useful ability to copy a layer as an SVG to the clipboard. With Valkyrie, to generate an icon, a file must exist. To simplify the process of exporting a single icon, add an option to paste into the plugin window. It should be a button ("From clipboard") and a response to Ctrl+V into the window. If the clipboard content is an XML or SVG, generate an icon.

I have an idea for full integration with Figma to export icons from specific layer or board. Clipboard feature can be an first part of this huge task 🙂

Will be available in 0.10.0 release


[BUG] TypeError when an empty .dist-info directory is present when running setup.py sdist

setuptools version
setuptools==62.1.0
Python version
3.10
OS
Fedora 35
Additional environment information
The error only occurs with setuptools>=60.9.0
E.g. setuptools==60.8.2 is fine
Description
When project directory contains an empty .dist-info directory python setup.py sdist fails with TypeError.
Expected behavior
It should probably work as it worked before setuptools>=60.9.0?
How to Reproduce

Create an empty .dist-info directory alongside the package directory
Run python setup.py sdist

tree -a:
.
├── .dist-info
├── my_pkg
│   └── __init__.py
└── setup.py

setup.py:
from setuptools import setup, find_packages

setup(
    name='test',
    version='1.0.0',
    url='https://example.org',
    author='test',
<EMAIL_ADDRESS>    description='test',
    packages=find_packages(),
)

Output
$  python setup.py sdist
Traceback (most recent call last):
  File "/tmp/123/setup.py", line 3, in <module>
    setup(
  File "/home/user/.local/lib/python3.10/site-packages/setuptools/__init__.py", line 86, in setup
    _install_setup_requires(attrs)
  File "/home/user/.local/lib/python3.10/site-packages/setuptools/__init__.py", line 75, in _install_setup_requires
    dist = MinimalDistribution(attrs)
  File "/home/user/.local/lib/python3.10/site-packages/setuptools/__init__.py", line 57, in __init__
    super().__init__(filtered)
  File "/home/user/.local/lib/python3.10/site-packages/setuptools/dist.py", line 460, in __init__
    for ep in metadata.entry_points(group='distutils.setup_keywords'):
  File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 1009, in entry_points
    return SelectableGroups.load(eps).select(**params)
  File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 459, in load
    ordered = sorted(eps, key=by_group)
  File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 1006, in <genexpr>
    eps = itertools.chain.from_iterable(
  File "/usr/lib64/python3.10/importlib/metadata/_itertools.py", line 16, in unique_everseen
    k = key(element)
  File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 941, in _normalized_name
    return self._name_from_stem(stem) or super()._normalized_name
  File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 622, in _normalized_name
    return Prepared.normalize(self.name)
  File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 871, in normalize
    return re.sub(r"[-_.]+", "-", name).lower().replace('-', '_')
  File "/usr/lib64/python3.10/re.py", line 209, in sub
    return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object

Hi @a68366 thanks for reporting this.
What happens when you use python -m build --sdist instead of python setup.py sdist?
I am curious to try to understand how you ended up with an empty .dist-info folder...

Hello @abravalheri
I just happened to need to build this project, which for some reason had a .dist-info folder in the repo.
$ python -m build --sdist
* Creating venv isolated environment...
* Installing packages in isolated environment... (setuptools >= 40.8.0, wheel)
* Getting dependencies for sdist...
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.10/site-packages/pep517/in_process/_in_process.py", line 363, in <module>
    main()
  File "/home/user/.local/lib/python3.10/site-packages/pep517/in_process/_in_process.py", line 345, in main
    json_out['return_val'] = hook(**hook_input['kwargs'])
  File "/home/user/.local/lib/python3.10/site-packages/pep517/in_process/_in_process.py", line 297, in get_requires_for_build_sdist
    return hook(config_settings)
  File "/tmp/build-env-6zwcyby4/lib64/python3.10/site-packages/setuptools/build_meta.py", line 181, in get_requires_for_build_sdist
    return self._get_build_requires(config_settings, requirements=[])
  File "/tmp/build-env-6zwcyby4/lib64/python3.10/site-packages/setuptools/build_meta.py", line 159, in _get_build_requires
    self.run_setup()
  File "/tmp/build-env-6zwcyby4/lib64/python3.10/site-packages/setuptools/build_meta.py", line 281, in run_setup
    super(_BuildMetaLegacyBackend,
  File "/tmp/build-env-6zwcyby4/lib64/python3.10/site-packages/setuptools/build_meta.py", line 174, in run_setup
    exec(compile(code, __file__, 'exec'), locals())
  File "setup.py", line 3, in <module>
    setup(
  File "/tmp/build-env-6zwcyby4/lib64/python3.10/site-packages/setuptools/__init__.py", line 86, in setup
    _install_setup_requires(attrs)
  File "/tmp/build-env-6zwcyby4/lib64/python3.10/site-packages/setuptools/__init__.py", line 75, in _install_setup_requires
    dist = MinimalDistribution(attrs)
  File "/tmp/build-env-6zwcyby4/lib64/python3.10/site-packages/setuptools/__init__.py", line 57, in __init__
    super().__init__(filtered)
  File "/tmp/build-env-6zwcyby4/lib64/python3.10/site-packages/setuptools/dist.py", line 460, in __init__
    for ep in metadata.entry_points(group='distutils.setup_keywords'):
  File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 1009, in entry_points
    return SelectableGroups.load(eps).select(**params)
  File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 459, in load
    ordered = sorted(eps, key=by_group)
  File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 1006, in <genexpr>
    eps = itertools.chain.from_iterable(
  File "/usr/lib64/python3.10/importlib/metadata/_itertools.py", line 16, in unique_everseen
    k = key(element)
  File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 941, in _normalized_name
    return self._name_from_stem(stem) or super()._normalized_name
  File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 622, in _normalized_name
    return Prepared.normalize(self.name)
  File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 871, in normalize
    return re.sub(r"[-_.]+", "-", name).lower().replace('-', '_')
  File "/usr/lib64/python3.10/re.py", line 209, in sub
    return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object

ERROR Backend subproccess exited when trying to invoke get_requires_for_build_sdist

I don't know exactly what is the best way of proceeding here...
I wouldn't say this is a problem with setuptools, but rather a consequence of how Python itself and its standard library are designed to operate.
For example, if I try to use importlib.metadata in a context that is different from packaging, I can see the same error:
mkdir -p /tmp/quicktest/.dist-info
cd /tmp/quicktest/
python3.10
# Python 3.10.4 (main, Mar 24 2022, 16:12:56) [GCC 9.4.0] on linux
# Type "help", "copyright", "credits" or "license" for more information.
>>> entry_points(group="console_scripts")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 1009, in entry_points
    return SelectableGroups.load(eps).select(**params)
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 459, in load
    ordered = sorted(eps, key=by_group)
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 1006, in <genexpr>
    eps = itertools.chain.from_iterable(
  File "/usr/lib/python3.10/importlib/metadata/_itertools.py", line 16, in unique_everseen
    k = key(element)
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 941, in _normalized_name
    return self._name_from_stem(stem) or super()._normalized_name
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 622, in _normalized_name
    return Prepared.normalize(self.name)
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 871, in normalize
    return re.sub(r"[-_.]+", "-", name).lower().replace('-', '_')
  File "/usr/lib/python3.10/re.py", line 209, in sub
    return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object

Now if I remove the .dist-info folder and try again, everything is fine:
rm -rf *.dist-info
python3.10
# Python 3.10.4 (main, Mar 24 2022, 16:12:56) [GCC 9.4.0] on linux
# Type "help", "copyright", "credits" or "license" for more information.
>>> entry_points(group="console_scripts")
[EntryPoint(name= ...)]

Therefore this just seems to be the way importlib works.
The linked repository does not contain a .dist-info folder, so I am assuming it got created somehow (a) during an incomplete build, or (b) after a complete build followed by an incomplete cleanup.
Would any of assumptions (a) or (b) be the case here? If not, what were the commands you used that ended up generating an incomplete .dist-info folder?
In terms of action points for setuptools, the only thing we can do is ensure that no command is creating .dist-info folders incorrectly. So we need a reproducer that will generate the .dist-info folder using the supported workflows[^1].
But if you want to tackle the fact that importlib fails when an empty .dist-info folder exists in the CWD, then the best would be opening an issue in the Python issue tracker.
[^1]: Currently the supported workflows use one of python -m build, pip install . or pip install -e .. The workflows with python setup.py ... are deprecated.

The folder was in the repo before it was removed in the last commit, e.g. here.
Apparently, the author himself is not sure why was it called .dist-info: https://github.com/cher-nov/cryptg/issues/17#issuecomment-1100040509
So, if this error is not some sort of regression (since setuptools before 60.9.0 just ignored this folder and successfully built the package) and everything works as intended, I think this issue should be closed.

Thank you very much @a68366.
Setuptools 60.9.0 replaced pkg_resources with importlib-metadata for handling entry-points.
We can argue that the error was not happening before, but this failure is not something caused by setuptools code itself, but rather by a "backport" that replicates the latest implementation in the standard library.
It might be worthy reporting this to Python or importlib-metadata trackers, but there seems to be no direct action point on setuptools side (specially considering that reverting to pkg_resources is something we want to avoid).


Keepalive gets revision 0

I'm using the library for a MID interpreter. Entering a keepalive "00209999001         " gets reported as revision 0 where it is in fact 1.
See https://github.com/Rickedb/OpenProtocolInterpreter/blob/master/src/OpenProtocolInterpreter/KeepAlive/Mid9999.cs#L27
I guess that should be 1 instead as there does not exist revision 0 for any MID.
Revision 1 can be written as "001", "000" or "   " (three spaces) according to the specification.

Hello @ekdahl, thanks for submiting the issue. I believe it's duplicate to #7.
I will work on it and try to release a version until next week since it's an improvement that seems to be important to many.

Enhancement made at version 5.0.0, however when packing and revision is set to 0, it will pack as empty.
Since 0 or empty are the same, we had to choose one between them, since it would make more complex to specify revision as nullable int (int?).
Why? Because it would worth nothing to have this feature, nonetheless, it was going to make our lives harder checking if revision has value or not to access .Value property.
For more information, please check release notes: https://github.com/Rickedb/OpenProtocolInterpreter/releases/tag/5.0.0


Allow path prefix per controller

done in https://github.com/dvarelap/stilt/commit/bb415acdcf1ad09443a5ec0a3168235a6127a87b?diff=split

done in https://github.com/dvarelap/stilt/commit/bb415acdcf1ad09443a5ec0a3168235a6127a87b