fix: fix fetchError persisting across different fetchers

If you construct a GraphiQL instance with a bad fetcher fetchError gets persisted in SchemaContextType forever. You can still fetch a new schema but the DocExplorer will always show "Error fetching schema"

@dylanowen and you need to sign the CLA in order to become a contributor. Just click on the details link next to the failing GitHub check, that should walk you through everything.

@thomasheyenbrock thanks for the quick review! I'm still working on the CLA but should have that ready soon.

thanks for this! @dylanowen make sure to sign the CLA bot with the email you used to sign the commits, it's very specific about this but won't tell you this is why 😆

@acao Sorry for the CLA delay but it should be all set now

looks related to https://github.com/graphql/graphiql/pull/2653

@dylanowen I'm working on a small PR (#2778 ) to update some styling that's unrelated to this PR, but getting a failing test that is part of this PR.

@jonathanawesome I'm pretty sure this is caused by the long lag time between my PR being tested and me getting my CLA signed. When I opened this PR those selectors existed: https://github.com/graphql/graphiql/blob/48e7710a80739931565e1d472ed38136cc73865f/packages/graphiql/src/components/DocExplorer.tsx#L123 but I didn't realize they were changed before my merge.

ahh...there it is. Thanks for the explanation, makes sense now.
I've got the fix in with #2778.

Thanks for the quick fix! I was wondering if it'd be better to not depend on the DocExplorer for the test so I was working on
    let foundError = null;
    function ErrorIcon() {
      foundError = useSchemaContext({nonNull: true}).fetchError;
      return <div/>;
    }
    const ERROR_PLUGIN = {
      title: 'test',
      icon: ErrorIcon,
      content: () => <div />,
    };
    function firstFetcher() {
      return Promise.reject('Schema Error');
    }
    function secondFetcher() {
      return Promise.resolve(simpleIntrospection);
    }

    // Use a bad fetcher for our initial render
    const { rerender } = render(<GraphiQL fetcher={firstFetcher} plugins={[ERROR_PLUGIN]} />);
    await wait();

    expect(foundError).toBeTruthy()

    // Re-render with valid fetcher
    rerender(<GraphiQL fetcher={secondFetcher} plugins={[ERROR_PLUGIN]} />);
    await wait();

    expect(foundError).not.toBeTruthy();

But I'll defer to whatever solution you think is best.

I think you've a good point...the Doc Explorer isn't in the DOM by default anymore (it must have been when you added your test), so I added a fireEvent to the test to ensure that it's there.
I also added an additional test closer to the component.
These are good, the-way-the-user-sees-it tests, so I think they're sufficient.

Ahhh nice, even better 👍


use vue.js v-model bind checkbox，when it is checked but value is empty 。on the firsttime

In the Android version 4.4. 2 Of the HTC phone. The use of v-model Bindings checkbox. The initial selected. The values are empty.
The code :
js：
require(['vue', 'conwinCommon', 'zepto'], function (vue, common, $) {
var vm = new vue({
el: '#test',
data: {
searchList: [{name:'小明'},{name:'小李'},{name:'小亮'},{name:'小黑'}], //搜索列表
checkedList: [],//被选中的列表
},
methods: {
},
});
$(function () {
/全选按钮/
$('.check').live('change', function () {
if ($(this).is(':checked')) {
common.showMessage(vm.checkedList);
if (vm.checkedList.length == vm.searchList.length) {
common.showToast("all checked！")
}
} else {
common.showMessage(vm.checkedList);
}
});
});
});
html:

{{item.name}}

Please follow the Issue Reporting Guidelines and provide a minimal JSFiddle or Github repository containing a set of reproducible steps that can lead to the behaviour you described. Make sure to boil down the problem as much as possible. Thanks!

Closing due to inactivity. Please open a new issue with a reference to this one if you can follow up with more information.


Adjust description and add example

closes https://github.com/MicrosoftDocs/OfficeDocs-SharePoint-PowerShell/issues/132

Docs Build status updates of commit 3791d33:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Connect-SPOService.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks

Should we keep the note formatted?

What's the last directive about that?

@dariomws, that is a valid question. @get-itips, because PowerShell does not support markdown, I suggest changing the format, please.

Certainly, but lately we've been accepting it in other PRs
Will change it :)

Docs Build status updates of commit 264d1f6:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Connect-SPOService.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit ebcbc02:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Connect-SPOService.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@get-itips, it's a good question. Actually, I think the directive is not to use formatted notes on the office-docs-powershell repo.

@tiburd Please merge this PR. Thanks

Docs Build status updates of commit c4e262f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Connect-SPOService.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@get-itips @dariomws @tseward @JohanFreelancer9
Hi!
Our admin, Thomas, said that alerts work in the repo when they are outside of the Synopsis section. I'll attend the PowerShell open office hours on Thursday to get complete guidance. I'll let you know and will update the wiki after that.
Thanks!


Log database errors and fix alter table issue

If a new label is added in the Dockerfile of an Openshift component, doozer should add a column in the mariadb database table. But it seems like it hasn't been doing so, for any version. Because of the error, no logs are being written for that component. For example the last successful hypershift build log written to the db was in May, before they added new labels in the docker file. Till now the error wasn't being caught/logged.
Update:
After using this doozer fork to run a build to catch the error, it was found that the problem was because the new column name was too long. SQL column names cannot be greater than 64 characters.
2022-10-06 00:04:03,145 ERROR Database error: 1059 (42000): Identifier name 'label_io_openshift_hypershift_control_plane_operator_skips_haproxy' is too long

Fix:
If the column name is greater than 64, hash, truncate and append the hash.

It was decided that its better to use an allow list to store only the necessary labels and skip the others, otherwise the table would grow unnecessarily large.


add chinese whispers to perf examples.

see https://en.wikipedia.org/wiki/Chinese_whispers
closes #28

Thanks! Can you state that the patch is submitted under MIT license so that I can merge it?
You probably also want to have your name in the copyright header given that I haven't written a single line in that file.

changed name in header. And I assert that this patch is submitted under the MIT license.


I don't see MemoCRS in this repo research

I don't see MemoCRS in this repo research

me too

when will the code of MemoCRS  be released?

谢谢,你的邮件我已收到

How can I get the code of MemoCRS?

谢谢,你的邮件我已收到

+1

谢谢,你的邮件我已收到


extesions not read from default config

Hi,
Maybe it is normal and intentional behavior, but in my opinion it is a little strange, so I've decided to write.
Sign certificate command:
% openssl x509 -req -in csr.pem -out cert.pem -extensions usr_cert -CA cacert.pem -CAkey cakey.pem -CAcreateserial -days 365
The section usr_cert is present in default config file /etc/ssl/openssl.cnf and the result is:
% openssl x509 -in cert.pem -text
Certificate:
    Data:
        Version: 1 (0x0)
So the v1 without extensions. I had to explicity add the config file location with the -extfile option:
% openssl x509 -req -in csr.pem -out cert.pem -extfile /etc/ssl/openssl.cnf -extensions usr_cert -CA cacert.pem -CAkey cakey.pem -CAcreateserial -days 365
To get v3 certificate with extensions:
Certificate:
    Data:
        Version: 3 (0x2)
        X509v3 extensions:
            X509v3 Basic Constraints:
                CA:FALSE
Most openssl options I've used does not require config file information if the standard configuration file is used but in this case the behavior is different.
Regards,
Mickey

This is documented:

       -extfile filename

           file containing certificate extensions to use. If not specified
           then no extensions are added to the certificate.

Ref: the 1.0.2 manual page
I can't explain why it's done this way, though...
At best, we can see this as a feature request, to be done for the next major release (which won't be soon).

Marking as inactive, to be closed at the end of 3.4 dev, barring further input


Implement the new "material symbols" instead of icons

Description of the Feature

Ref: https://m3.material.io/styles/icons/overview#1041f799-bd29-4ec5-93a5-b9ac5e060b73

Click to view difference in icons

left side old, right side new symbols

Plan to implement

Remove current material font, use Material_Symbols_Outlined-24-400-0_0.ttf and Material_Symbols_Outlined-24-400-1_0.ttf (normal and filled) from materialsymbols-python which means we will be using two seperate fonts for filled and normal style.

Note: This will increase kivymd's size by 500KB as current font is size is 1.3MB and size of filled and normal font summed up is 1.8MB.

In some cases user may require to use another values of <FONT_TYPE>-<OPTICAL_SIZE>-<WEIGHT>-<FILL>_<GRAD>.ttf in that case user can specify a font dir where kivymd will look up for other font types.
In this case we may want to add something like font_options (a dict) to MDIcon

Feel free to improve implementation plan

We can use custom fonts as follows:
from kivy.core.text import LabelBase
from kivy.lang import Builder
from kivy.metrics import sp

from kivymd.app import MDApp

KV = '''
MDScreen:
    md_bg_color: self.theme_cls.backgroundColor

    MDIcon:
        icon: "music_video"
        theme_font_name: "Custom"
        font_name: "MaterialSymbols"
        pos_hint: {"center_x": .5, "center_y": .58}

    MDButton:
        pos_hint: {"center_x": .5, "center_y": .47}

        MDButtonIcon:
            icon: "music_video"
            theme_font_name: "Custom"
            font_name: "MaterialSymbols"

        MDButtonText:
            text: "Elevated"
'''

class Example(MDApp):
    def build(self):
        self.theme_cls.theme_style = "Dark"

        LabelBase.register(
            name="MaterialSymbols",
            fn_regular="Material_Symbols_Outlined-20-200-1_200.ttf",
        )

        self.theme_cls.font_styles["MaterialSymbols"] = {
            "large": {
                "line-height": 1.64,
                "font-name": "MaterialSymbols",
                "font-size": sp(57),
            },
            "medium": {
                "line-height": 1.52,
                "font-name": "MaterialSymbols",
                "font-size": sp(45),
            },
            "small": {
                "line-height": 1.44,
                "font-name": "MaterialSymbols",
                "font-size": sp(36),
            },
        }

        return Builder.load_string(KV)

Example().run()

https://kivymd.readthedocs.io/en/latest/components/label/#mdicon-with-a-custom-font-icon

@HeaTTheatR Icon definations are different.

Yes, I know

Oh I just learnt that you don't need codepoints for Material Symbols you can just simply type the name. So is there still need to implement it or we stick with current one?

Please, I need help, am a new beginner in kivymd , I i tried importing MDToolbar from  kivymd.uix.toolbar, but i keep on getting an error massages that says kivymd.uix.toolbar is not a module in kivymd, please help, i have also install the the latest version kivymd and kivy, yet the problem cant be solved..thanks

"i have also install the the latest version kivymd and kivy"
First of all, be careful not to hijack other people's issues. Also, you're probably on KivyMD 1.1.1 or 1.2.0-dev, which are not the latest versions.
If you have Discord, please join the KivyMD server:
https://discord.com/invite/HZfjUKhVrH
Make sure to read #how-to-ask-questions, then ask your question in #support.


UsbDk_StartRedirect hangs if no normal USB driver using UsbDk V1.00-22

UsbDk_StartRedirect hangs reliably on my Windows 10 22H2 build 19045.3448 system with a USB device that has no normal USB driver associated with it.  It hangs for exactly 2 minutes and then UsbDk_StartRedirect returns failure.
A control-C doesn't  terminate the program that has hung.
Re-plugging the device triggers the UsbDk_StartRedirect to return with success.
With a USB driver associated with the device, UsbDk_StartRedirect doesn't hang.
While hung, hiding the device with UsbDkController.exe doesn't resolve the hang.
If the device is hidden before it is plugged in, UsbDk_StartRedirect doesn't hang.
A WdfLogDump is attached.
A TraceView trace is attached.
hang.txt
UsbDkTrace.etl.zip

It appears that if a device doesn't have a normal driver associated with it, it gets marked as having a driver install error (28) and then on IOCTL_INTERNAL_USB_CYCLE_PORT the device disappears and is not returned.
The only way of preventing this I found is to mark the device as RawDeviceOK.
To do this, a filter has to be attached to such devices that sets the RawDeviceOK flag in IRP_MN_QUERY_CAPABILITIES.
Ideally such a filter isn't attached to devices that have a normal driver.
It doesn't seem possible to determine if a device has a normal driver or not using conventional means (i.e. IoGetDeviceProperty() or IoOpenDeviceRegistryKey() to see if there is a Driver or Service value), because the PDO is not valid within IRP_MN_QUERY_DEVICE_RELATIONS.
The only workaround to this appears to be to locate the Enum/USB entries for VID/PID devices, and read the Driver or Service value that way.
Devices that are marked raw and have a corresponding Enum won't switch to using a normal driver if it is installed after the device is plugged in. A workaround for this is to set the CONFIGFLAG_REINSTALL flag in the devices ConfigFlags value within its Registry Enum on the device being unplugged.
I've added code to do all this in the UsbDk branch here https://github.com/gwgill/UsbDk

After further testing, it seems that there is no reliable solution to the problem of using UsbDk to drive devices without a conventional driver. While the workaround of adding a filter driver and marking the device RawDeviceOK works for many devices, it is not reliable for some combinations of devices and hubs. Such combinations results in a failure to read the correct VID/PID from the device, returning VID_0000&PID_0002 instead. From other reports, this seems to be associated with a device being in D3 power mode at the time of enumeration. This hints at some failure of the bus driver managing power policy for a device with only a filter driver and RawDeviceOK. A direction of a solution would be for the filter driver to become the power manager for the device, but is rather unclear from the WDK documentation as to how that would be achieved, given that the bus driver needs to call WdfDeviceInitSetPowerPolicyOwnership to release ownership.
As a result, this seems to be dead end, and I'm giving up on trying to use UsbDk as a general USB device driver, instead returning to looking at the libusb-win32 driver in filter mode, since it doesn't rely on IOCTL_INTERNAL_USB_CYCLE_PORT for its operation.
libusb-win32 may be easier to work on compared to UsbDk as well - the latter being composed of 70 or more classes with essentially no code comments, making the code-base laborious to navigate and understand.


Dry n fix presenter

Hi guys.
o = Order.last
o.available_states #=> NoMethodError: undefined method `states' for nil:NilClass

That means Transitions::Presenter does not work. I think it would be much better if o.available_states #(for an instance, not for a class) show states what I actually can switch through events (need to discuss), but broken presenter is bad anyway :bomb:
What do you think about it?

travis is not happy apparently :)
Regarding the changes, I'm super blocked until Friday, I'll check it out on the weekend, promised.

Tests are ok, it's all about Robocop :godmode:

Tests are ok, it's all about Robocop

Good point, there was an update recently and it's not pinned to a specific version in our gemspec.
I'll fix this separately ;)

Rubocop problems fixed with #159 - can you please rebase against master?

Done. But rbx failed rubocop check with segfault %)

Reviewed, looks good!
Merging this one, thanks a lot for this!

And I just released version 1.0.1 with the fix included, please update ;)


Comments in horizontal fields render empty inner fields

Overview of the problem
Oruga version<EMAIL_ADDRESS>Vuejs version: 3.2.20
OS/Browser:
Description
A html-comment in a horizontal field leads to an additional empty inner field.

I think this came with commit 5338da4.
My local fix is a if (element.type.description === "Comment") {return element;} in OFieldBody::render().
That works, but I'm not sure this I a bulletproof fix.
Steps to reproduce
<template>
  <div id="app">
    <o-field horizontal  variant="danger" message="Selected subject is wrong">
      <!-- Label left empty for spacing -->
      <o-button variant="primary">
        Send message
      </o-button>
    </o-field>
  </div>
</template>

Expected behavior
Horizontal field should ignore comments.
Actual behavior
Horizontal field render a empty field for each comment.

Good catch, we have to find a better way to skip comment like Vue 2


Adding Ripple (XRP) to Binance

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Feature. This adds XRP to Binance, a very up and coming exchange.

What is the current behavior? (You can also link to an open issue here)
N/A. Does not apply to this PR.

What is the new behavior (if this is a feature change)?
This adds XRP (Ripple) as a selection for Gekko when using the Binance exchange for both ETH/BTC

Other information:

So you don't have to keep adding pairs in #1508 all pairs have been added. :)

Excellent.

I know i should probable know this but how do i apply this fix?
I'm new to all this...


Don't send purpose and topic messages through Slack bridge

I have a use-case that I expect won't be that uncommon as this tool catches on within communities.
I have created a gateway for connecting the leadership of all civic tech communities in Canada. There are going to be maybe 5 Slack teams in the channel for now.
We try to keep the topic and purpose synchronized between Slack teams. This is where we explain the how the bridge works, and who is present on the other sides.
Right now, when we update the purpose or topic on each slack team, we essentially spam the whole gateway. It would be much more sensible to NOT send these statements through the portal by default, and perhaps allow an option to turn this on (if that's even necessary).
https://imgur.com/WLn7LOb
Thanks! Curious your thoughts!

So, there is now a ShowTopicChange option.
Disabled by default

Thanks 42wim! Sorry, I've been lazy lately, and you are doing all the work. I really appreciate it though
Before this gets locked into a release, perhaps a small change I'd be curious your thoughts on:
Seems there are lots of channel action messages that would all be undesirable at the same time:
https://api.slack.com/events/message
Specifically:
channel_purpose
channel_name
channel_topic
pinned_item
unpinned_item

Would it make sense for the setting to be ShowMetaMessages or ShowChannelMeta, and enable/disable them all at once?

Though actually, "channel_name" would be useful, as that seemingly-innocent change will break the bridge on the next restart :) I'd at least be aware it was about to go down if I same the name-change message...!
But all the others are unhelpful noise

oh right, i'll add channel_purpose to the channel_topic switch.
The pinned_items don't deserve a toggle, I'll block those.
The channel_name one are very rare I think? So those can go through.

Yep, very rare normally, and should be "never" here :)
You're great!


MH-12910: Put temporary grunt files into the target folder

This moves some temporary files grunt, or more specifically the usemin plugin, creates during the admin UI build into the target folder, which is ignored in .gitignore.
This way, git should no longer show untracked files after switching between branches with different module naming schemes (matterhorn-* vs. no prefix), at least as soon as #216 is merged and propagated through all the releases. :wink:
Note that previously, .tmp and coverage were ignored in a directory local .gitignore. This is not sufficient, because that .gitignore vanishes, too, in a branch switch as described above. The alternative solution would be to ignore them in the (or a more) global .gitignore, but I preferred to collect all (or most, I guess; I didn't check thoroughly. Let's say "more" :wink:) of grunts artifacts in one location.

Note for those confused about getting notified about this PR twice: I got the branch name wrong and had to reraise the PR. :sweat_smile:
I'm sorry.

Hi @JulianKniephoff and @gregorydlogan Just lost quite some time to find out that this patch now has rippled up to 5.x & develop and breaks the Admin UI development environment. Could you please either a) revert this patch or b) provide a follow-up patch that makes the Admin UI dev environment work again (at least in 5.x / develop)?
BTW: This patch doesn't fix anything related to operations. I therefore recommend to add this kind of patches to develop in the future to avoid unnecessary work.

@staubesv can you provide more detail on the breakage? The only problems I could imagine could be due to left over files in the old locations, due to switching from/to a branch that doesn't have the change, yet. Everything should work fine with a clean environment. It does for me at least. :sweat_smile:

cd modules/admin-ui
grunt proxy --proxy.host=http://localhost:8080 --proxy.username=opencast_system_account --proxy.password=CHANGE_ME
... does not work anymore.

And I presume git status shows you no unexpected untracked files and you build everything cleanly from scratch? :thinking:

Yep

Could you try clearing out your browser data for the site? Mainly cache and localStorage would suffice, I guess.

Well, technically I changed the location of a temporary file, and I thought I also changed all places that would look for this file for further processing, but I just found one that I overlooked.
Mysteriously it works for me without that change, but maybe that's some sort of caching effect on my site; it is a mistake nonetheless and a follow-up PR will arrive shortly! Maybe @staubesv could review and merge it? :wink:
Sorry for the inconvenience! :cold_sweat:


perf: ionic Angulajs routing is not working in phonegap.

Type: perf
Platform: mobile webview
i created sample app using ionic framework. In that i am using angular routing for url mapping.That is working in browser.After bulid my app in phonegap it is showing blank page. My local application url is like this
"http://localhost:55456/www/index.html#/app/login". i dont know why it is not working. Please help me to fix this issue.

Greetings @jeniferXavier!
My sensors indicate that you have created an issue on our tracker requesting usage help, rather than an actual error with Ionic framework.
This GitHub issue tracker is used to track framework features, problems, and development.
If you wish to get help using the framework itself, the recommended place is the forum. There are many humans there who would be happy to offer sage advice.
Thank you for allowing me to assist you.


File permission changes with RunAsUserName

https://kubernetes.io/docs/tasks/configure-pod-container/configure-runasusername/,
Here it introduced a feature to RunAsUseName in Kubernetes. So want to verify whether there is any file permission implications when using this feature.
This is just a general right now for the record. I will try to test later about it.

The RunAsUserName feature will change the underlying Windows user context that the container runs under. This user must be one that is present in the container image. Each file and directory has a set of ACLs that control which users have permissions to interact with it. You can view these permissions with the icacls command inside the container.
For the base images Microsoft provides (e.g. mcr.microsoft.com/windows/servercore:2004), I think there are only ContainerUser and ContainerAdministrator users. ContainerUser has a standard user's level of access to the container's files, whereas ContainerAdministrator has the level of access an administrator would normally have.
When creating a Windows image, it is possible to add new users and change filesystem permissions, using standard Windows tooling (e.g. the net and icacls commands).

@jingxu97 I hope this answers your question. Feel free to re-open the issue if you have any more questions


Don't use unstable on swagger

Applies to swagger and spec

This was a bug when someone (me) didn't use the right command to dump swagger. Fixed in https://github.com/matrix-org/matrix.org/commit/fc94bd76b5fe3278084ee1dc7609289d0dea4dc8
Worth noting that at the time of cs r0.4.0 there was a bug in the swagger output which appended :8448 to the host. This was fixed in https://github.com/matrix-org/matrix-doc/commit/1fc64651687c48003f093b5e5f8e27ca02a4e4d3


Integrate user Log In feature along side the admin Log in.

Create a route for the user log in:

Default user login route: /login
Admin login route: /admin

Research other existing project and integrate functionality.

Please take this pre-configured db.sqlite, that contains an initial group for admin and the admin.


range and RangeData in Range.jl

Some comments on Range.jl

The function name range() collides with Base.range(). Why not renaming it to rangeslider() (similar to plotly)?
You may want to rename the module to Slider.jl
Why do you use UnitRange for RangeData? Are you aware that stop is modified by the colon operator to have a spacing of 1?

julia> ur = UnitRange(2.3, 3.7)
2.3:3.3
julia> ur.stop
3.3

I currently don't see where you need it, but the respective functions using RangeData should probably be modified to look like
function Stipple.render(rd::AbstractRange{T}, fieldname::Union{Symbol,Nothing} = nothing) where {T,R}
  Dict(:min => first(rd), :max => last(rd), :step => step(rd))
end

function Base.parse(::Type{AbstractRange{T}}, d::Dict) where T <: Real
  st = get(d, "step", 1)
  d["min"]:step:d["max"]
end

@hhaensel Sorry, somehow this slipped through.
I'd rather be more tempted to specialize Base.range with our own method.
I can't remember exactly why I went with the custom UnitRange, but there was an issue with using Julia's ranges.
The changes in render and parse would not be needed as the step is not outputted in the Vue model, only in the HTML:
https://quasar.dev/vue-components/range#With-step

I think this is solved, right?


Does not work at all

I did a test – Results:

Will not install from Plugins Directory (no new folderin plugins folder added).
Will not be recognized if installed from unzipped Plugin Folder.

Does not work at all. Any Ideas?
My system:
KANBOARD Version: 1.2.24
PHP Version: 8.1.7
PHP SAPI: fpm-fcgi
HTTP-Client: cURL
OS Version: Linux 4.15.0-188-generic
Datenbanktreiber: mysql
Datenbank Version: 5.7.37-nmm1-log

Problem might be limited to mySystem, worked fine for alfredb, see forum!

Problem might be limited to mySystem, worked fine for alfredb, see forum!

I'm glad you solved your problem!


percentage of gpus active

Replicate the 3rd progress bar here in this image - GPUs active using the ood_core library.

Another thing to look at here is owens' cluster status. 404/434 (93%) of the queue is for a GPU and that queue size is 260% greater than all the gpus available!


Generating runner from cached/preprocessed and not main test

I am using Ceedling 0.20.4.
When generating runner for a test the test cases are not collected from the preprocessed test file. Instead it is generated from the main test file.
Is this intentional?
It restricts possibilities of having macros expanding test cases.
I have tried having Ceedling extract test cases from the preprocessed/cached file by replacing the following in generator.rb, generate_test_runner() (line 64), and it seems to work:
Original
test_cases  = @generator_test_runner.find_test_cases( @file_finder.find_test_from_runner_path(runner_filepath) )
Proposed
test_cases  = @generator_test_runner.find_test_cases(  @file_finder.find_test_input_for_runner_file(runner_filepath) )

Fixed.


Request Failed

Response code 404 - System Error
Request Failed, got back: [{'message': 'login_required', 'error_title': "You've Been Logged Out", 'error_body': 'Please log back in.', 'logout_reason': 8, 'status': 'fail'}]
Oops, this is an error that hasn't yet been properly handled.
Please open an issue on Github at https://github.com/Danie1/threads-api.
It worked few time, so now i am getting error every time I try to run a script.

Foun this solution on other git repo, but for me it doesn't work, maybe for someone will
Go to the config directory :
cd config
then type:
echo "{}" > settings.json


flutter tool get struck when args is provided with no file path is specified in flutter format

Steps to reproduce
> flutter create .

provide any args with format
> flutter format --fix

Output:
Empty with tools still running
run the same commands with Dart
> dart format --fix

Output for dart
Missing paths to code to format.
Expected:
Same error message as dart format
Actual
Flutter tool get struck with no message
flutter doctor -v
[√] Flutter (Channel beta, 3.3.0-0.3.pre, on Microsoft Windows [Version 10.0.19043.1826], locale en-IN)
    • Flutter version 3.3.0-0.3.pre on channel beta at C:\src\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 8c1149878b (5 days ago), 2022-08-10 12:15:36 -0500
    • Engine revision f16e757d5d
    • Dart version 2.18.0 (build 2.18.0-271.4.beta)
    • DevTools version 2.15.0

[√] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at C:\Users\moham\AppData\Local\Android\sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[X] Visual Studio - develop for Windows
    X Visual Studio not installed; this is necessary for Windows development.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components

[√] Android Studio (version 2021.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)

[√] IntelliJ IDEA Community Edition (version 2022.1)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.1.4
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart

[√] VS Code (version 1.70.1)
    • VS Code at C:\Users\moham\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.46.0

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19043.1826]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 104.0.5112.81
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 103.0.1264.44

[√] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

verbose
flutter -v format --fix
[  +88 ms] executing: [C:\src\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +612 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +2 ms] 8c1149878bbb8f062aecfab4d825e5b87bdb4487
[   +3 ms] executing: [C:\src\flutter/] git tag --points-at 8c1149878bbb8f062aecfab4d825e5b87bdb4487
[  +73 ms] Exit code 0 from: git tag --points-at 8c1149878bbb8f062aecfab4d825e5b87bdb4487
[   +1 ms] 3.3.0-0.3.pre
[  +72 ms] executing: [C:\src\flutter/] git rev-parse --abbrev-ref --symbolic @{upstream}
[  +60 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{upstream}
[   +1 ms] origin/beta
[   +2 ms] executing: [C:\src\flutter/] git ls-remote --get-url origin
[  +60 ms] Exit code 0 from: git ls-remote --get-url origin
[   +1 ms] https://github.com/flutter/flutter.git
[ +101 ms] executing: [C:\src\flutter/] git rev-parse --abbrev-ref HEAD
[  +63 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[   +1 ms] beta
[ +123 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +5 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +64 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[   +2 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[  +76 ms] executing: C:\src\flutter\bin\cache\dart-sdk\bin\dart.exe format --fix

Hi @Anas35, thanks for filing the issue.
This issue is reproducible on the latest stable, master, and beta channels.

Logs (flutter format command gets stuck)
➜  reproduce_issues flutter -v format --fix
[  +98 ms] executing: sysctl hw.optional.arm64
[  +18 ms] Exit code 1 from: sysctl hw.optional.arm64
[        ] sysctl: unknown oid 'hw.optional.arm64'
[  +10 ms] executing: [/Users/huynq/Documents/GitHub/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +8 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] f1875d570e39de09040c8f79aa13cc56baab8db1
[        ] executing: [/Users/huynq/Documents/GitHub/flutter/] git tag --points-at f1875d570e39de09040c8f79aa13cc56baab8db1
[  +24 ms] Exit code 0 from: git tag --points-at f1875d570e39de09040c8f79aa13cc56baab8db1
[        ] 3.0.5
[  +10 ms] executing: [/Users/huynq/Documents/GitHub/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[   +8 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/stable
[        ] executing: [/Users/huynq/Documents/GitHub/flutter/] git ls-remote --get-url origin
[   +7 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[ +101 ms] executing: [/Users/huynq/Documents/GitHub/flutter/] git rev-parse --abbrev-ref HEAD
[  +11 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] stable
[   +7 ms] executing: sw_vers -productName
[  +18 ms] Exit code 0 from: sw_vers -productName
[        ] macOS
[        ] executing: sw_vers -productVersion
[  +18 ms] Exit code 0 from: sw_vers -productVersion
[        ] 12.5
[        ] executing: sw_vers -buildVersion
[  +17 ms] Exit code 0 from: sw_vers -buildVersion
[        ] 21G72
[        ] executing: uname -m
[   +7 ms] Exit code 0 from: uname -m
[        ] x86_64
[  +67 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +5 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +50 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[  +92 ms] executing: /Users/huynq/Documents/GitHub/flutter/bin/cache/dart-sdk/bin/dart format --fix

Logs (dart format command is fine with output error message)
➜  reproduce_issues dart -v format --fix
Missing paths to code to format.

Usage: dart format [options...] <files or directories...>
-h, --help                     Print this usage information.
-v, --verbose                  Show all options and flags with --help.
-o, --output                   Set where to write formatted output.

          [json]               Print code and selection as JSON.
          [none]               Discard output.
          [show]               Print code to terminal.
          [write] (default)    Overwrite formatted files on disk.

    --set-exit-if-changed      Return exit code 1 if there are any formatting changes.
    --fix                      Apply all style fixes.
-l, --line-length              Wrap lines longer than this.
                               (defaults to "80")

Run "dart help" to see global options.

flutter doctor -v
[✓] Flutter (Channel stable, 3.0.5, on macOS 12.2.1 21D62 darwin-x64, locale en-VN)
    • Flutter version 3.0.5 at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f1875d570e (9 hours ago), 2022-07-13 11:24:16 -0700
    • Engine revision e85ea0e79c
    • Dart version 2.17.6
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.69.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.44.0

[✓] Connected device (3 available)
    • SM T225 (mobile) • R9JT3004VRJ • android-arm64  • Android 11 (API 30)
    • macOS (desktop)  • macos       • darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)     • chrome      • web-javascript • Google Chrome 103.0.5060.114

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 3.1.0-0.0.pre.2294, on macOS 12.5 21G72 darwin-x64, locale en-EE)
    • Flutter version 3.1.0-0.0.pre.2294 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 370fc483e3 (32 minutes ago), 2022-08-16 08:56:07 +0200
    • Engine revision 280e9a7bec
    • Dart version 2.19.0 (build 2.19.0-100.0.dev)
    • DevTools version 2.16.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13E113
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.70.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.46.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.5 21G72 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 104.0.5112.79

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel beta, 3.3.0-0.3.pre, on macOS 12.5 21G72 darwin-x64, locale en-FR)
    • Flutter version 3.3.0-0.3.pre on channel beta at /Users/huynq/Documents/GitHub/flutter_beta
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 8c1149878b (5 days ago), 2022-08-10 12:15:36 -0500
    • Engine revision f16e757d5d
    • Dart version 2.18.0 (build 2.18.0-271.4.beta)
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13E113
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.70.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.46.0

[✓] Connected device (3 available)
    • iPhone 13 (mobile) • 2526BC1A-435D-4B08-B99C-44B928F2517B • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-4 (simulator)
    • macOS (desktop)    • macos                                • darwin-x64     • macOS 12.5 21G72 darwin-x64
    • Chrome (web)       • chrome                               • web-javascript • Google Chrome 104.0.5112.79

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Breadcrumbs: _DefaultProcessUtils.stream is hanging when dart format --fix is passed; dart format is working fine.

cc: @zanderso

flutter format is deprecated / removed from flutter #115809

Closing as obsolete.


Awesome books: refactor to use JavaScript classes

Project requirements

Use JavaScript classes instead of objects and arrays.
You can use objects and arrays, but do it inside classes.
Create class methods to add and remove books.
Maintain all of the original functionality of the application (i.e. no bugs were introduced while refactoring).
Don't use any library or framework, use only plain JavaScript.
Add CSS styles to the application to make it match this wireframe:

Basic UI
You can use the styles of your choice (colors, fonts, backgrounds, etc.), but try to follow the general layout.
Concentrate on the general layout, rather than the details.

Hi @GzimAsani Thanks for approving our project and motiveted me


Grant permissions to fabric-protos-go

Please could you grant sufficient permissions so I can add a GitHub deploy key to the fabric-protos-go repo. This repo along with fabric-protos-go-apiv2 are used to publish generated Go modules. fabric-protos-go-apiv2 already has a deploy key and I would like to update the new GitHub workflows in fabric-protos to publish to fabric-protos-go in the same way so that the old Azure CI can be removed.
Thanks, James

Done!


[feature request]   Batch Password Modification Function

How to use API for batch change password modification?
If I can't change the password for the Instagram account I bought, someone will force a logout. Please

You can try. Add email or phone number


Notepad++ installer runs at every upgrade

auto-pr downgraded Notepad++ in commit 85d0d8d.
Now at every scoop upgrade *, Notepad++ is reinstalled:
PS > scoop update *
[...]
Updating 'notepadplusplus' (7.4.1 -> 7.3.3)
Uninstalling 'notepadplusplus' (7.4.1)
Removing shim for 'notepad++'.
Unlinking C:\~\scoop\apps\notepadplusplus\current
Installing 'notepadplusplus' (7.3.3).
Loading npp.7.3.3.bin.x64.7z from cache
Checking hash of npp.7.3.3.bin.x64.7z... ok.
Extracting... done.
Linking C:\~\scoop\apps\notepadplusplus\current => C:\~\scoop\apps\notepadplusplus\7.3.3
Creating shim for 'notepad++'.
Creating shortcut for Notepad++ (notepad++.exe)
'notepadplusplus' (7.3.3) was installed successfully!
[...]
PS > scoop list
[...]
notepadplusplus (7.4.1)
[...]

Notepad++ version 7.4.0 and 7.4.1 have been withdrawn (see https://notepad-plus-plus.org/news/back-to-v7.3.3.html)
Reinstalling notepad++ will fix this or wait until they publish 7.4.1 again 😄

I am aware that those versions are withdrawn. But I guess it's related to #1072 and somewhat #1011, and with #1332 implemented it's difficult to fix it.


Delay after solve on click and on crash

Hi, I really like your work, but I have a wish. When the captcha is solved simply by clicking, the script waits for about 3 more seconds after which it continues to work, and also when google issues that it has detected the script, it also stops executing subsequent commands with a long delay, is it possible to manage these delays somewhere, as I understand the standard ones are not suitable for this. I will be very grateful for the answer.

Hi,
Thank you for the kind words.
If you'd like to remove the delays entirely, you can omit the StandardDelay() like this:
solver = RecaptchaSolver(driver=test_driver)
If you want to decrease them, you can do something like this to make the minimum delay 1 second and the maximum delay 2 seconds:
solver = RecaptchaSolver(driver=test_driver, delay_config=StandardDelayConfig(min_delay=1, max_delay=2))
When it comes to Google ReCAPTCHA blocking automated solving, you have three things that help you get around it (The last two methods are the best fixes):

Wait before trying again.
Rotate your IP by using a proxy with your web driver.
Rotate your user-agent regularly.

I hope this answers your question for you. Let me know if you have any other questions!


de.agilecoders.wicket.jquery.Attr not serializable

Hello,
It would be really nice if de.agilecoders.wicket.jquery.Attr could me implement IClusterable for Serializable.
Thx advance
Duto

#19

Merged!


Weight can't go to 0

Steps:

rio run -p 80/http --name test/srvmesh ibuildthecloud/demo:v1
rio stage --image=ibuildthecloud/demo:v3 test/srvmesh:v3
rio weight test/srvmesh:v3=50%
rio weight test/srvmesh:v3=0%
rio export test

Results:  Weight stays at 50%, 0% is ignored

No longer valid with rewrite


Add support for specifying port when using ssh.*

See: https://github.com/Fizzadar/pyinfra/issues/428

https://github.com/Fizzadar/pyinfra/commit/f5e6565cda539d93935d72c2847a7e66ed622e8d


Substance Painter & Substance Designer integration

Hello !
Need
Do you planned to integrate Substance Painter & Substance Designer into OpenPype ?
Ressources
https://www.adobe.com/fr/products/substance3d-painter.html
https://substance3d.adobe.com/documentation/spdoc/scripts-and-plugins-197427392.html
[cuID:OP-4612]

@kekefreedog As far as I'm aware there hasn't been huge community interest in a Substance Painter/Designer integration as of yet. It's nice seeing your request pop up and I hope there's more interest! :)
What particular features would you like in the integration?

Workfiles support: save, open substance workfiles
Launch Substance from OpenPype launcher

including start Substance with last workfile

Importing published alembic models
Exporting textures (and also publish them?)
A published "package" for the textures to automatically be able to load import/load them for a renderer in a DCC of choice (massive undertaking likely)

References

Shotgrid Toolkit Integration for Substance
Prism 2.0 Substance Integration Preview between 07:00 - 09:10

Hi @BigRoy !
Your list is perfectly matching with our need.
Then it could be nice to have those additional features :

Have a color management using OCIO
When Publish texture, option for generate equivalent of .tx for some render engine (like Arnold...)
Generate material already connected to mesh
Be able to export USD layer with material and its assignations

Those are some amazing stretch goals to the integration. Thanks for these notes - I don't expect these to be there for an initial integration but they are definitely nice-to-haves to look into once the bare necessities and first draft of the substance integration is tested.

I definitely agree with you. First integration will be awesome for lots of studio.
Then if my dev department has free time, they could be interesting for contribute to it !
Let's keep in touch.
Thx ;)

@kekefreedog I'm not sure if you had seen but I did a first prototype integration for Sustance Painter some time ago: https://github.com/ynput/OpenPype/pull/4283
It's not production-ready but any feedback is welcome of course. The biggest change that'll likely still need to be implemented is how texture files are output/published. (Like the naming conventions, etc.)

Substance Painter integration has been available for some while - but Substance Designer has not - I wonder whether it'd make sense to change this issue to remain about Substance Designer instead or create a new one solely dedicated to Substance Designer request.
@MustafaJafar thoughts?

I wonder whether it'd make sense to change this issue to remain about Substance Designer instead or create a new one solely dedicated to Substance Designer request.

I agree Substance Painter and Designer are two different issue, lets change this issue to remain about substance designer
Converting substance painter for Ayon is already on our list.


fixed the video loading problem

@devsargam sir why did  you change max-width frame 850px to 1350px . as we see videos as overflow

can you screenshot it?

I see. I will figure out a good solution


fix environment variables deletion while updating a component

Fixes

https://issues.redhat.com/browse/HAC-2959
Description

Deleting environment variables from UI was not reflecting in the components CR.
Type of change

[x] Bugfix

Screen shots / Gifs for design review

https://user-images.githubusercontent.com/9964343/213451990-367c5587-13fb-4e97-bbe4-5fbcf01e6457.mov
Unit tests
Create Utils
    ✓ Should delete the environment variables while updating (1 ms)
    ✓ Should update the environment variables with new values (1 ms)

How to test or reproduce?

While creating components, Add environment variables under advanced deployment options
Go to component setting page from component list view and remove all the environment variables under advanced options.

Browser conformance:

[x] Chrome
[x] Firefox
[x] Safari
[ ] Edge

cc: @christianvogt

/lgtm

/retest

/retest


Logrotate config defaults

Affected Puppet, Ruby, OS and module versions/distributions

Puppet: 5.5.3
Ruby: AIO packages
Distribution: Ubuntu 18.04
Module version: v3.2.2-rc0

How to reproduce (e.g Puppet code you use)
class { '::logrotate':
 ensure => 'latest',
 config => { dateext         => true, },
}

What are you seeing
Sensible OS defaults from https://github.com/voxpupuli/puppet-logrotate/blob/master/manifests/params.pp are not applied anymore if any config is specified. These defaults are crucial at least on Ubuntu, where su_user and su_group are essential.
What behaviour did you expect instead
I expected the defaults to be used as base, extended / overwritable with user options, i.e.:
config => merge($::logrotate::params::conf_params, $logrotate_our_config),

I'm using now as workaround exactly that, preceded by:
        if ! defined(Class['::logrotate::params']) {
                include ::logrotate::params
        }

i.e. using the params class manually.

I'm having the same issue with Puppet 6 and v3.4.0 of this module.
clsvegar@test02:~$ /opt/puppetlabs/bin/puppet --version
6.0.4
clsvegar@test02:~$ sudo /opt/puppetlabs/bin/puppet module list | grep logrotate
├── puppet-logrotate (v3.4.0)

I have this config in Hiera, and none of the default su* parameters for Ubuntu 18.04 are used:
logrotate::config:
  dateext: true
  dateformat: '.upto-%Y%m%d'
  compress: true
  delaycompress: true

To have a working config, I have to add these lines as well:
  su: true
  su_user: 'root'
  su_group: 'syslog'

After a lot of time...
The problem is with the code in logrotate::defaults:
  if !defined( Logrotate::Conf[$logrotate::params::config_file] ) {
    logrotate::conf{ $logrotate::params::config_file:
      * => $logrotate::params::conf_params,
    }
  }

This if isn't matched when you have $logrotate::config param, because of the:
  if $config {
    logrotate::conf { $logrotate_conf:
      * => $config,
    }
  }

in logrotate::config.
To fix this I think a refactor is needed to integrate default config in just one logrotate::conf directive.


CSP not working for specific routes? (Google Maps)

Maybe I get it wrong but setting CSP for specific routes doesnt seem to work:
routeRules: {
   '/contact': {
      security: {
        headers: {
          contentSecurityPolicy: {
            'img-src': [
              'https://maps.googleapis.com',
              'https://maps.gstatic.com',
            ], // For Google Maps
          },
        },
      },
    },
}

If I set it globally it works:
security: {
    headers: {
      contentSecurityPolicy: {
        'img-src': [
          "'self'",
          "data:",
          'https://maps.googleapis.com',
          'https://maps.gstatic.com',
        ], // For Google Maps
      },
    },
  },

If I got the docs right and the first example should work I will create a reproduction sandbox.

If it is merged, shouldn’t it work they way I wrote it? Or am I missing something?

Sorry I might have misunderstood
What headers do you get ?


refactor: improve generate function structure

test-results.txt

Description
In this PR I resolved this issue
Forget to attach test results file test-results.txt
The Issue
The original code used an async function directly in the Promise constructor.
The Solution
I've updated the code to wrap the async logic in an immediately invoked async function within the Promise executor.
I am also attching test-results file to get better know what tests I performed
Related issue(s)

remove all the formating change done in the PR !

Done thank you for your understanding and sorry for my misake

@thebedigupta please provide again a link to sonarcloud as the one you have in description do not point to any specific issue

@thebedigupta please provide again a link to sonarcloud as the one you have in description do not point to any specific issue

https://sonarcloud.io/project/issues?open=AZB4sejAgviDxNeZYbKR&id=asyncapi_generator


unifi: 5.9.29 -> 5.10.17

Motivation for this change
Release Notes 5.10.12
Release Notes 5.10.17
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@0x4A6F 5.10.12 seems to have disappeared:
trying https://dl.ubnt.com/unifi/5.10.12/unifi_sysvinit_all.deb
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404 Not Found

According to their release notes, there's a 5.10.17 now. Could you update this PR?

@0x4A6F please squash together into one commit bumping from 5.9.29 to 5.10.12,, to allow easier backporting. I doubt there will ever be a 5.10.12 anymore ;-)

backported to 18.09 in 19a0543c62847c6677c2563fc8c986c1c82f2ea3.


Perf boost

So I just spent entirely too much time this evening/night trying to make left-pad faster, as can be seen by the number of benchmarks I've created on perf.zone:

After various dead ends (alternate ways of breaking out of the loop, loop unrolling), I finally found a set of tweaks that leads to consistent improvements for longer padding, without reduction in performance when padding only a handful of characters.
There are a few small tweaks that had consistent improvements, like hoisting the padding variable, and switching the order in which ch is added to pad, because it turns out to matter a tiny bit. Furthermore, instead of breaking out of the while-loop when len is zero, we continue it early as long as len is greater than zero.
However, the biggest change is very clearly this:
    // ==== OLD ====
    if (ch === ' ' && len < 10) return cache[len] + str;
    var pad = '';

    // ==== NEW ====
    if (ch === ' ') {
        if (len < 16) return cache[len] + str;
        pad = cache[len & 15];
        len >>= 4;
        ch = '                ';
    }

Expanding the cache let's use skip the while loop when padding 10-15 characters. That's just a side-effect of the code below it, which leads to enormous improvements when padding large numbers of characters: pad = cache[len & 15];  len >>= 4; ch = '                ';
This initiates pad at the right size to let us skip the first four iterations of the loop. Recall that padding by 256 characters adds up to eight iterations. So this halved the time it takes to do that (minus a little bit of overhead).
Note that this would also work with pad = cache[len & 7];  len >>= 3; ch = '        ';, and in fact the benchmarks include that version. As you can see below, the 16-element version gives a much, much higher benefit, and IMO isn't so much oversized as the next step (32 elements) would be.
Selected, probably-bug-free benchmarks
neither regression nor improvement

pad none,
pad 4 (run multiple times to see how the "winner" varies each run),
pad 8

Significant perf boosts

pad 12 (kind of"cheating", since we bumped the cache size)
pad 25
pad 50
pad 90
pad 9001

Benchmark measurement gallery
Chrome (Windows 10 64 bits)

Firefox 58 (Windows 10, 64 bits)

Made cache generated - it's less characters, and caching up to length 32 adds up to about a kilobyte of memoised strings. Probably not a significant overhead, but a hu gain in perf in many circumstances.
The following benchmark also include a 256-sized cache, which would be around 64 KiB of memoisation overhead. Given that it's not a very common use-case, I stuck to the maximum length of 32.
pad 20
pad 10
pad 5
pad 500

CC @zehua @haoel @benjamingr @cht8687

can you also try the perf tests in the perf folder? and test in node.js?

So, I don't really trust these benchmarks :D
Would you be able to run them using the Node benchmarking tool so we can see statistical significance? Alternatively, it would be nice to see an asm dump from v8.

That said, to clarify, I believe this is a speed improvement - just not digging the benchmarks :D

@zehua: I had a suspicion that the bit patterns may have an influence on performance, so I even added a bunch of extra tests for that:
10922 (0b10101010101010)
 8193 (0b10000000000001)
 8192 (0b10000000000000)
 8191  (0b1111111111111)
 5461  (0b1010101010101)
 4096  (0b1000000000000)
 4095   (0b111111111111)
 2079   (0b100000011111)
 2048   (0b100000000000)
 2047    (0b11111111111)
 1365    (0b10101010101)
 1025    (0b10000000001)
 1024    (0b10000000000)
 1023     (0b1111111111)

It turns out the bit patterns do match: the more bits are set, the slower the algorithms are (except for O(n)). Makes sense, as these cases require more string concatenation after all.
I also tried a whole bunch of alternative tweaks, but none of them worked out:
  // New while-loop
  while (true) {
    if (len & 1) pad = ch + pad;
    if (len >>= 1) {
      ch += ch;
      continue;
    }
    break;
  }

  // Switch, two bits. Three bits is similar, but with cases 7 to 0
  while (true) {
    ch2 = ch + ch;
    switch(len&3){
      case 3: //
        pad = ch2 + ch + pad;
        break;
      case 2:
        pad = ch2 + pad;
        break;
      case 1:
        pad = ch + pad;
      case 0:
      default:
    }
    if (len >>= 2) {
      ch = ch2 + ch2;
      continue;
    }
    break;
  }

  // Array lookup. The idea being that maybe branching was the bottleneck
  // var c = ['', '', '', ''];
  while (true) {
    c[2] = c[1] + c[1];
    pad = c[len&2] + (c[len&1] + pad);
    if (len >>= 2) {
      c[1] = c[2] + c[2];
      continue;
    }
    break;
  }

Anyway, the output of running all of the performance tests, after filtering the discarded alternative implementations:
-> pad 100 spaces to str of len 4
O(n)         x 1,578,867 ops/sec ±1.27% (90 runs sampled)
ES6 Repeat   x 8,546,499 ops/sec ±0.86% (89 runs sampled)
Current      x 8,829,279 ops/sec ±0.85% (90 runs sampled)
New          x 12,440,392 ops/sec ±0.57% (92 runs sampled)
-> pad  33 spaces to str of len 4
O(n)         x 3,493,611 ops/sec ±0.51% (92 runs sampled)
ES6 Repeat   x 8,907,255 ops/sec ±0.62% (95 runs sampled)
Current      x 9,583,444 ops/sec ±0.45% (94 runs sampled)
New          x 19,276,613 ops/sec ±0.63% (93 runs sampled)
-> pad  32 spaces to str of len 4
O(n)         x 3,549,147 ops/sec ±0.64% (90 runs sampled)
ES6 Repeat   x 9,081,341 ops/sec ±0.66% (93 runs sampled)
Current      x 9,712,771 ops/sec ±0.57% (93 runs sampled)
New          x 27,114,519 ops/sec ±0.62% (92 runs sampled)
-> pad  31 spaces to str of len 4
O(n)         x 3,536,994 ops/sec ±1.06% (89 runs sampled)
ES6 Repeat   x 7,672,999 ops/sec ±0.59% (89 runs sampled)
Current      x 8,131,713 ops/sec ±0.81% (92 runs sampled)
New          x 25,577,231 ops/sec ±1.56% (88 runs sampled)
-> pad  10 spaces to str of len 4
O(n)         x 5,901,201 ops/sec ±0.74% (95 runs sampled)
ES6 Repeat   x 9,047,213 ops/sec ±0.53% (95 runs sampled)
Current      x 9,625,336 ops/sec ±0.72% (92 runs sampled)
New          x 24,329,822 ops/sec ±0.89% (87 runs sampled)
-> pad   9 spaces to str of len 4
O(n)         x 6,201,515 ops/sec ±0.52% (94 runs sampled)
ES6 Repeat   x 8,912,250 ops/sec ±0.95% (93 runs sampled)
Current      x 22,530,869 ops/sec ±1.02% (89 runs sampled)
New          x 23,041,314 ops/sec ±0.77% (91 runs sampled)
-> pad  no spaces to str of len 4
O(n)         x 29,504,068 ops/sec ±0.88% (88 runs sampled)
ES6 Repeat   x 30,030,613 ops/sec ±1.15% (90 runs sampled)
Current      x 30,261,165 ops/sec ±0.96% (86 runs sampled)
New          x 29,898,400 ops/sec ±1.00% (90 runs sampled)

-> pad 100 spaces to str of len 100
O(n)         x 1,727,331 ops/sec ±0.75% (95 runs sampled)
ES6 Repeat   x 8,180,206 ops/sec ±0.81% (93 runs sampled)
Current      x 8,596,671 ops/sec ±0.59% (94 runs sampled)
New          x 11,964,140 ops/sec ±0.73% (92 runs sampled)
-> pad  10 spaces to str of len 100
O(n)         x 9,257,534 ops/sec ±0.60% (92 runs sampled)
ES6 Repeat   x 8,906,042 ops/sec ±0.75% (93 runs sampled)
Current      x 9,475,165 ops/sec ±0.67% (90 runs sampled)
New          x 21,960,796 ops/sec ±0.82% (87 runs sampled)
-> pad   9 spaces to str of len 100
O(n)         x 9,579,826 ops/sec ±0.88% (92 runs sampled)
ES6 Repeat   x 8,868,416 ops/sec ±0.65% (92 runs sampled)
Current      x 23,086,294 ops/sec ±0.91% (91 runs sampled)
New          x 22,893,180 ops/sec ±0.78% (92 runs sampled)
-> pad   0 spaces to str of len 100
O(n)         x 15,015,491 ops/sec ±0.91% (90 runs sampled)
ES6 Repeat   x 12,319,054 ops/sec ±0.68% (86 runs sampled)
Current      x 23,131,907 ops/sec ±0.89% (90 runs sampled)
New          x 22,928,214 ops/sec ±0.75% (88 runs sampled)

-> pad 10922 (0b10101010101010) spaces to str of len 4
O(n)         x 141,780 ops/sec ±0.94% (92 runs sampled)
ES6 Repeat   x 6,245,441 ops/sec ±0.71% (88 runs sampled)
Current      x 6,520,407 ops/sec ±0.59% (93 runs sampled)
New          x 7,412,821 ops/sec ±0.73% (92 runs sampled)
-> pad  8193 (0b10000000000001) spaces to str of len 4
O(n)         x 20,789 ops/sec ±1.04% (88 runs sampled)
ES6 Repeat   x 6,503,653 ops/sec ±0.71% (92 runs sampled)
Current      x 6,663,526 ops/sec ±0.61% (90 runs sampled)
New          x 7,079,254 ops/sec ±0.70% (92 runs sampled)
-> pad  8192 (0b10000000000000) spaces to str of len 4
O(n)         x 20,953 ops/sec ±1.03% (89 runs sampled)
ES6 Repeat   x 6,718,228 ops/sec ±0.70% (91 runs sampled)
Current      x 6,955,801 ops/sec ±0.82% (92 runs sampled)
New          x 7,116,594 ops/sec ±0.68% (92 runs sampled)
-> pad  8191  (0b1111111111111) spaces to str of len 4
O(n)         x 20,928 ops/sec ±0.97% (91 runs sampled)
ES6 Repeat   x 4,664,857 ops/sec ±0.94% (94 runs sampled)
Current      x 4,834,961 ops/sec ±0.63% (93 runs sampled)
New          x 5,155,518 ops/sec ±0.65% (91 runs sampled)

-> pad  5461  (0b1010101010101) spaces to str of len 4
O(n)         x 31,568 ops/sec ±0.87% (86 runs sampled)
ES6 Repeat   x 5,741,766 ops/sec ±0.80% (89 runs sampled)
Current      x 5,977,551 ops/sec ±0.54% (93 runs sampled)
New          x 6,505,239 ops/sec ±0.68% (92 runs sampled)
-> pad  4096  (0b1000000000000) spaces to str of len 4
O(n)         x 42,545 ops/sec ±1.03% (90 runs sampled)
ES6 Repeat   x 6,945,246 ops/sec ±0.60% (90 runs sampled)
Current      x 7,264,366 ops/sec ±0.82% (94 runs sampled)
New          x 7,616,480 ops/sec ±0.47% (93 runs sampled)
-> pad  4095   (0b111111111111) spaces to str of len 4
O(n)         x 42,363 ops/sec ±1.06% (90 runs sampled)
ES6 Repeat   x 5,191,652 ops/sec ±0.82% (95 runs sampled)
Current      x 5,241,190 ops/sec ±1.54% (85 runs sampled)
New          x 5,544,186 ops/sec ±1.22% (93 runs sampled)

-> pad  2079   (0b100000011111) spaces to str of len 4
O(n)         x 92,721 ops/sec ±0.79% (90 runs sampled)
ES6 Repeat   x 5,952,327 ops/sec ±0.76% (87 runs sampled)
Current      x 6,189,434 ops/sec ±0.51% (94 runs sampled)
New          x 7,888,843 ops/sec ±0.71% (95 runs sampled)
-> pad  2048   (0b100000000000) spaces to str of len 4
O(n)         x 94,377 ops/sec ±0.67% (94 runs sampled)
ES6 Repeat   x 7,143,774 ops/sec ±0.57% (91 runs sampled)
Current      x 7,405,973 ops/sec ±0.79% (93 runs sampled)
New          x 8,260,003 ops/sec ±0.56% (93 runs sampled)
-> pad  2047    (0b11111111111) spaces to str of len 4
O(n)         x 93,449 ops/sec ±0.83% (93 runs sampled)
ES6 Repeat   x 5,468,892 ops/sec ±0.55% (94 runs sampled)
Current      x 5,630,172 ops/sec ±0.75% (88 runs sampled)
New          x 6,671,885 ops/sec ±0.57% (94 runs sampled)

-> pad  1365    (0b10101010101) spaces to str of len 4
O(n)         x 142,199 ops/sec ±0.71% (90 runs sampled)
ES6 Repeat   x 6,251,298 ops/sec ±0.75% (92 runs sampled)
Current      x 6,549,310 ops/sec ±0.52% (94 runs sampled)
New          x 7,673,830 ops/sec ±0.74% (93 runs sampled)
-> pad  1025    (0b10000000001) spaces to str of len 4
O(n)         x 188,464 ops/sec ±0.69% (95 runs sampled)
ES6 Repeat   x 7,169,215 ops/sec ±0.61% (89 runs sampled)
Current      x 7,510,027 ops/sec ±0.65% (95 runs sampled)
New          x 8,596,675 ops/sec ±0.62% (91 runs sampled)
-> pad  1024    (0b10000000000) spaces to str of len 4
O(n)         x 178,073 ops/sec ±1.60% (87 runs sampled)
ES6 Repeat   x 7,082,301 ops/sec ±1.42% (87 runs sampled)
Current      x 7,545,679 ops/sec ±2.29% (87 runs sampled)
New          x 8,483,300 ops/sec ±1.18% (87 runs sampled)
-> pad  1023     (0b1111111111) spaces to str of len 4
O(n)         x 189,300 ops/sec ±0.74% (91 runs sampled)
ES6 Repeat   x 5,775,324 ops/sec ±0.69% (91 runs sampled)
Current      x 5,836,955 ops/sec ±1.89% (90 runs sampled)
New          x 7,430,372 ops/sec ±0.77% (92 runs sampled)

perf-2018-03-01.txt

So I had the following realisation: if len > 1, then len&1 will always be true on the last iteration through the while loop, since the last bit shifted out must be set. We can make use of that as follows:
// Current
while (true) {
  if (len & 1) pad += ch;
  len >>= 1;
  if (len) ch += ch;
  else break;
}
return pad + str;

// "Previous new version"
while (true) {
  if (len & 1) pad = ch + pad;
  if (len >>= 1) {
    ch += ch;
    continue;
  }
  break;
}
return pad + str;

// "Last iteration is always one"-optimisation
while (len>1) {
  if (len & 1) pad = ch + pad;
  ch += ch;
  len >>= 1;
}
return ch + pad + str

2018-03-01 while perf test.txt
It seems to improve things a little bit further in almost every situation, except (for some reason) padding with nothing

More testing also revealed that loading from cache caused slowdown, so that was reduced from three cache loads (pad, early return and ch) back to one.
// Reduced usage of loading cache
// ("cache" renamed "c" because minifiers didn't touch it)
var c = [' '];
for (var i = 1; i < 32; i++) {
  c.push(c[i - 1] + ' ');
}

  // Inside leftpad
  var pad = '';
  if (ch === ' ') {
    pad = c[len-1 & 31];
    if (len <= 32) return pad + str;
    ch = '                                ';
    len >>= 5;
  }

Finally, I tried throwing the function through a minifier to see what that would do, compare performance between it, and bring back the tweaks that caused improvements (if any). For some odd reason, turning the first statements into expressions inside if made it a bit faster:
  if (str += '', len -= str.length, len <= 0) return str;

Well, if it works it works...
The minifier also turned a few if-statements into shortcircuited boolean expressions, but this actually slowed things down consistently across all benchmarks.

I wanted to verify the behaviour across a more elaborate range than the old benchmarks: in theory this version should have a more gradual performance drop, rather than steep a cliff, because it always makes use of the cache. I also thought it was rather fishy to not test the common cases padding by a few characters.
So I benchmarked padding by:

600, 300, 80, 60, 40, to verify the O(log2(n)) behaviour in practice,

33, 32 and 31 to check behaviour around the cache-treshold of the new algorithm,

10 and 9, which shows the jump in behaviour around the cache-treshold of the current algorithm

3, 2, 1 and 0, to see if any strange behaviour happens when padding by small amounts.

Of course, the benchmark results are now a gigantic list, so I added them as MD tables (hope they come out correctly). Alternatively, check out these text files. One is sorted by pad-size, the other by algorithm:
2018-03-01 final perf sorted by algorithm.txt
2018-03-01 final perf sorted by test.txt
Adding N to string of 4

pad to 4
O(n)
ES6 Repeat
Current
New

600
318,234 ops/sec ±0.82% (87 runs sampled)
7,167,225 ops/sec ±0.68% (93 runs sampled)
7,595,931 ops/sec ±0.59% (91 runs sampled)
11,256,889 ops/sec ±0.66% (91 runs sampled)

300
616,928 ops/sec ±0.69% (95 runs sampled)
6,974,912 ops/sec ±0.63% (93 runs sampled)
7,362,335 ops/sec ±0.62% (91 runs sampled)
12,211,608 ops/sec ±0.77% (89 runs sampled)

100
1,614,700 ops/sec ±0.57%  (93 runs sampled)
8,334,206 ops/sec ±0.68%  (93 runs sampled)
9,027,458 ops/sec ±0.63% (94 runs sampled)
17,159,187 ops/sec ±0.66% (91 runs sampled)

80
1,914,178 ops/sec ±0.84%  (95 runs sampled)
8,094,001 ops/sec ±1.91% (88 runs sampled)
8,595,445 ops/sec ±1.14% (88 runs sampled)
17,245,765 ops/sec ±2.50% (84 runs sampled)

60
2,223,685 ops/sec ±2.10% (87 runs sampled)
7,646,457 ops/sec ±0.55% (94 runs sampled)
8,049,007 ops/sec ±1.25% (89 runs sampled)
22,009,381 ops/sec ±0.71% (91 runs sampled)

40
3,062,008 ops/sec ±1.33% (83 runs sampled)
8,826,190 ops/sec ±0.58% (93 runs sampled)
9,313,352 ops/sec ±1.32% (87 runs sampled)
22,312,363 ops/sec ±0.83% (90 runs sampled)

33
3,472,875 ops/sec ±0.64% (94 runs sampled)
9,116,922 ops/sec ±0.56% (89 runs sampled)
9,501,558 ops/sec ±0.48% (91 runs sampled)
23,184,105 ops/sec ±0.82% (91 runs sampled)

32
3,565,452 ops/sec ±0.49% (94 runs sampled)
9,141,453 ops/sec ±0.78% (92 runs sampled)
9,937,253 ops/sec ±0.59% (91 runs sampled)
27,944,963 ops/sec ±0.70% (88 runs sampled)

31
3,600,233 ops/sec ±0.47% (93 runs sampled)
7,836,050 ops/sec ±0.74% (94 runs sampled)
8,371,875 ops/sec ±0.59% (91 runs sampled)
27,696,111 ops/sec ±0.79% (91 runs sampled)

10
6,210,148 ops/sec ±0.53% (92 runs sampled)
9,011,449 ops/sec ±0.78% (94 runs sampled)
9,484,077 ops/sec ±0.65% (90 runs sampled)
26,409,714 ops/sec ±1.52% (87 runs sampled)

9
6,361,138 ops/sec ±0.54% (93 runs sampled)
8,880,046 ops/sec ±1.22% (90 runs sampled)
22,554,466 ops/sec ±0.96% (89 runs sampled)
27,766,146 ops/sec ±1.06% (90 runs sampled)

3
12,482,995 ops/sec ±1.58% (88 runs sampled)
10,329,966 ops/sec ±1.05% (89 runs sampled)
17,440,063 ops/sec ±1.24% (84 runs sampled)
20,340,355 ops/sec ±1.29% (87 runs sampled)

2
14,803,566 ops/sec ±1.26% (88 runs sampled)
13,262,128 ops/sec ±1.20% (88 runs sampled)
19,182,810 ops/sec ±1.08% (87 runs sampled)
20,391,334 ops/sec ±0.83% (89 runs sampled)

1
19,927,483 ops/sec ±1.41% (85 runs sampled)
15,201,355 ops/sec ±1.03% (90 runs sampled)
18,161,628 ops/sec ±0.95% (90 runs sampled)
18,841,426 ops/sec ±1.16% (89 runs sampled)

0
32,254,390 ops/sec ±1.58% (83 runs sampled)
34,085,066 ops/sec ±0.96% (90 runs sampled)
33,266,201 ops/sec ±1.25% (87 runs sampled)
33,477,011 ops/sec ±1.14% (88 runs sampled)

Adding N to string of 100

pad to 100
O(n)
ES6 Repeat
Current
New

600
290,782 ops/sec ±2.45% (86 runs sampled)
6,564,973 ops/sec ±2.29% (87 runs sampled)
7,140,991 ops/sec ±1.52% (86 runs sampled)
10,018,212 ops/sec ±1.84% (86 runs sampled)

300
600,427 ops/sec ±1.82% (88 runs sampled)
6,779,161 ops/sec ±1.28% (92 runs sampled)
6,978,974 ops/sec ±1.02% (92 runs sampled)
11,052,600 ops/sec ±1.75% (84 runs sampled)

100
1,651,645 ops/sec ±1.68% (90 runs sampled)
7,785,310 ops/sec ±1.29% (87 runs sampled)
8,174,350 ops/sec ±1.79% (87 runs sampled)
14,897,696 ops/sec ±0.61% (91 runs sampled)

80
2,102,781 ops/sec ±0.86% (93 runs sampled)
7,669,593 ops/sec ±2.15% (87 runs sampled)
8,460,189 ops/sec ±1.05% (90 runs sampled)
17,404,901 ops/sec ±1.09% (87 runs sampled)

60
2,674,569 ops/sec ±0.72% (91 runs sampled)
7,531,679 ops/sec ±0.98% (88 runs sampled)
7,745,863 ops/sec ±1.48% (88 runs sampled)
18,664,724 ops/sec ±1.70% (86 runs sampled)

40
3,518,480 ops/sec ±1.70% (86 runs sampled)
8,150,397 ops/sec ±1.41% (91 runs sampled)
8,656,107 ops/sec ±1.81% (84 runs sampled)
19,186,349 ops/sec ±1.35% (89 runs sampled)

33
4,146,534 ops/sec ±1.21% (89 runs sampled)
8,695,667 ops/sec ±1.24% (89 runs sampled)
8,927,099 ops/sec ±1.56% (86 runs sampled)
19,032,654 ops/sec ±1.16% (90 runs sampled)

32
4,105,962 ops/sec ±2.40% (79 runs sampled)
8,800,633 ops/sec ±1.47% (89 runs sampled)
9,118,866 ops/sec ±1.27% (87 runs sampled)
22,898,605 ops/sec ±1.17% (88 runs sampled)

31
4,353,146 ops/sec ±0.87% (93 runs sampled)
7,457,086 ops/sec ±0.83% (87 runs sampled)
7,913,758 ops/sec ±1.08% (92 runs sampled)
22,295,158 ops/sec ±1.25% (87 runs sampled)

10
9,037,193 ops/sec ±0.64% (92 runs sampled)
8,672,538 ops/sec ±0.84% (87 runs sampled)
9,562,590 ops/sec ±0.83% (89 runs sampled)
23,113,400 ops/sec ±1.34% (88 runs sampled)

9
9,726,867 ops/sec ±1.01% (90 runs sampled)
8,423,409 ops/sec ±1.45% (87 runs sampled)
21,154,178 ops/sec ±0.95% (88 runs sampled)
21,767,360 ops/sec ±1.19% (89 runs sampled)

3
16,653,521 ops/sec ±1.60% (88 runs sampled)
11,920,777 ops/sec ±1.76% (87 runs sampled)
21,955,858 ops/sec ±1.12% (85 runs sampled)
20,070,573 ops/sec ±1.07% (90 runs sampled)

2
18,579,902 ops/sec ±1.68% (82 runs sampled)
14,184,847 ops/sec ±1.26% (85 runs sampled)
22,528,312 ops/sec ±0.96% (92 runs sampled)
21,525,254 ops/sec ±1.75% (82 runs sampled)

1
22,799,335 ops/sec ±1.73% (89 runs sampled)
17,182,478 ops/sec ±1.10% (91 runs sampled)
23,031,531 ops/sec ±1.19% (86 runs sampled)
23,113,619 ops/sec ±1.03% (87 runs sampled)

0
32,169,194 ops/sec ±1.43% (88 runs sampled)
30,652,651 ops/sec ±1.88% (86 runs sampled)
31,281,872 ops/sec ±2.05% (84 runs sampled)
32,213,494 ops/sec ±1.93% (86 runs sampled)

A quick check to see what happens if the cache is bumped to length 64, and it's clear that we've hit the point of diminishing returns:
-> pad 600 spaces to str of len 4
Current      x 7,999,525 ops/sec ±0.60% (91 runs sampled)
New          x 11,503,735 ops/sec ±0.67% (89 runs sampled)
Fastest is New
-> pad 300 spaces to str of len 4
Current      x 7,397,365 ops/sec ±0.59% (95 runs sampled)
New          x 14,132,356 ops/sec ±0.54% (91 runs sampled)
Fastest is New
-> pad 100 spaces to str of len 4
Current      x 8,670,395 ops/sec ±0.78% (89 runs sampled)
New          x 17,976,067 ops/sec ±1.72% (86 runs sampled)
Fastest is New
-> pad  80 spaces to str of len 4
Current      x 9,005,222 ops/sec ±0.97% (94 runs sampled)
New          x 20,717,243 ops/sec ±0.80% (91 runs sampled)
Fastest is New
-> pad  60 spaces to str of len 4
Current      x 8,233,470 ops/sec ±0.89% (93 runs sampled)
New          x 23,970,087 ops/sec ±0.58% (90 runs sampled)

(Unless you are a Firefox user who really needs fast way to pad by a lot of spaces very often, because then it's a different story)
Also, have you ever wondered "hmm, I wonder what is the fastest way to pad a string with 100000000 spaces in JavaScript?" No? Well, I checked anyway:
-> pad 100000000 spaces recursively to empty string
Current - no recursion                x 4,180,644 ops/sec ±1.00% (91 runs sampled)
Current - 10000x10000                 x 4,465,338 ops/sec ±0.79% (88 runs sampled)
Current - 100x100x100x100             x 4,208,518 ops/sec ±2.38% (89 runs sampled)
Current - 10x10x10x10x10x10x10x10     x 3,934,396 ops/sec ±0.67% (93 runs sampled)
Current - 10x10x10x10x10000           x 4,079,508 ops/sec ±0.89% (91 runs sampled)
Current - 10000x10x10x10x10           x 3,968,951 ops/sec ±1.80% (88 runs sampled)

New Version - no recursion            x 4,262,856 ops/sec ±2.74% (86 runs sampled)
New Version - 10000x10000             x 5,202,351 ops/sec ±1.12% (92 runs sampled)
New Version - 100x100x100x100         x 5,278,240 ops/sec ±0.59% (95 runs sampled)
New Version - 10x10x10x10x10x10x10x10 x 3,967,643 ops/sec ±0.72% (93 runs sampled)
New Version - 10x10x10x10x10000       x 5,067,430 ops/sec ±0.66% (93 runs sampled)
New Version - 10000x10x10x10x10       x 4,973,443 ops/sec ±0.75% (91 runs sampled)

Fastest is New Version - 100x100x100x100, New Version - 10000x10000

What we were doing:

check value of ch, default to ' '
check if ch is ' ', if so replace it with cache.

We can smush that into one if-statement. And while we're at it, let's throw #46 a bone and cache the also-common 0 case as well:
// var c_ = [' '], c0 = ['0'];
// for (var i = 1; i < 32; i++) {
//   c_.push(c_[i - 1] + ' ');
//   c0.push(c0[i - 1] + '0');
// }

if (ch === ' ' || !ch && ch !== 0){
  // We use a cache to speed up the default case
  pad = c_[len-1 & 31];
  if (len <= 32) return pad + str;
  // `pad` effectively contains the result of
  // iterating the loop below five times,
  // so we can skip those.
  // `ch` is set to 32 spaces to accomodate this.
  ch = '                                ';
  len >>= 5;
} else if ((ch+= '') === '0'){
  // padding by zero is another really common use-case
  pad = c0[len-1 & 31];
  if (len <= 32) return pad + str;
  ch = '00000000000000000000000000000000';
  len >>= 5;
}

Eh... I don't understand why test 41 is failing? It works fine off-line.

For the record, I'm still working on this but it has been on the back-burner. Also, when I try to benchmark it I notice that the order in which I do the benchmarks affects the results, so it's really hard to get reliable information.
perhaps V8 caches previously used strings or something, which would make it really hard to get a good idea of what the fasters approach is.

@JobLeonard as suggested before - consider using the node benchmarking tool which checks for statistical significance.

I am, and I had found that changing the order changes results

@JobLeonard and are the scores significant? (How many *s in the output)

Look, you should not trust benchmarks that use scores in this way anyway, they're the equivalent to dynamite plots, and the problems with dynamite plots are... well, a picture says more than a thousand words:

Raw data vs mean + std deviation.
(taken from http://biostat.mc.vanderbilt.edu/wiki/pub/Main/RafeDonahue/fscipdpfcbg_currentversion.pdf, which is an excellent book on how to present statistics, BTW). See also datasaurus dozen and Anscombe's Quartet.

Anyway, it's been a few weeks, but yes, they "were". The benchmarks just flat-out stated that one was better with small error margins, yet this can change depending on:

order of test inputs (long to short strings or the other way around),
what kind of test inputs (' ', undefined, 0, '0' - I'm testing them all)
how many inputs (just a few? Repeat with a ton of different lengths? Does it include extreme lengths like padding with 10000+ characters?
the order of algorithms

(I didn't think the existing benchmarks covered enough varieties on inputs, missing out on different behaviours. I extended them a lot, but it also takes much longer to benchmark now. I'll probably refactor them into different perf scripts or something)
So to be clear: this change would be persistent between benchmark runs with the one particular ordering, but not when changing these orders.

Look, you should not trust benchmarks that use scores in this way anyway,

You really confused me here...
First, the Node.js benchmarks let you plot the results - fon scatter plots - see scatter.R and for the box plot you show above see compare.R - all these things you say about benchmarks are true - but were already taken them into account in Node's benchmarking tools.
It also runs a t-test to make sure the results are significant and then reports the p value - those "stars" that I trust just indicate that P value (p < 0.05 gets a *, p < 0.01 gets ** and p < 0.001 gets ***)

First, the Node.js benchmarks let you plot the results - fon scatter plots - see scatter.R and for the box plot you show above see compare.R - all these things you say about benchmarks are true - but were already taken them into account in Node's benchmarking tools.

Ok, maybe I'm going nuts here but there is no scatter.R or compare.R in this repo, nor in the benchmark.js documentation, which is the only package referred to in the benchmarking scripts in this repo. On the node website there is nothing referring to
"node benchmarking tools" in any of the docs. If I google for node scatter.R I find this, which is an R-script in the node-packer repository. So now I am confused: since when does node use R for its stats? That's a completely different language.

It also runs a t-test to make sure the results are significant and then reports the p value - those "stars" that I trust just indicate that P value (p < 0.05 gets a *, p < 0.01 gets ** and p < 0.001 gets ***)

Look, all I've been doing is run node perf in the /test/perf folder and seeing output like this:
-> pad 40 "undefined"-s  (undefined) to str of len 4
New          x 19,071,148 ops/sec ±1.26% (86 runs sampled)
Minified     x 17,299,597 ops/sec ±0.97% (88 runs sampled)
Current      x 8,455,192 ops/sec ±1.10% (88 runs sampled)
Fastest is New

There is no star. I don't see any of the things that you are talking about.
I don't see any way of capturing different output based on how the script it written in this repository, or what I can see from looking at the benchmark.js API.

@JobLeonard I'll clarify, when I say the Node benchmarks I meant running this tool and not benchmark.js: https://github.com/nodejs/node/tree/master/benchmark

And of course this is not linked anywhere from the main Node.js website...
Thanks Benjamin, you're a lifesaver

@JobLeonard this is an internal tool we use at Node, I recommended it since it's the only benchmarking tool for JS that I know and is reasonable - sorry for not being clear about it!


Does this work with Ruby 3.x

Just wondering if it has been tested against Ruby 3.x

Yes, at least the tests pass with ruby 3.x.


Concurrent editing of pages

What's the best way to approach the problem in title with FeinCMS?

There isn't an established best way of doing this yet, I think neither in Django nor in FeinCMS.

See this:
https://djangopackages.org/grids/g/concurrent-edit/


Fix error collecting err codes

Current Behavior
Description
When collecting error codes in Url service error handler, it assumes that a GraphQlError object will always contain an extensions property and causes frontend to crash when extensions is missing.

See https://github.com/graphql/graphql-js/blob/v14.5.8/src/error/GraphQLError.js#L83
Screenshots
New Behavior
Description
Now just unknown error will appear.
Screenshots

@byliuyang Removing the parentheses from (graphQLError: GraphQlError) like in your second suggestion produces a compiler error. Therefore, I kept them in. Also, I tested the network error case by turning off the backend server, it seems as though graphQlErrors will be empty instead of a falsy value, so I also added a case for empty length.
Ready for review.

Hi thank you very much for working on this feature! Please address the PR comments.

By the way, I wonder what's going on here?

By the way, I wonder what's going on here?

I'm not sure what's going on here actually. I had my eye on it, but subsequent error messages had the X as expected.

@byliuyang I guess for whatever reason the material icon for the close button did not load in that particular run-through. Do you have any ideas on what it might be? We can move into a new issue for it.
Ready for review.


Switch to using docker login with just the domain part of the registry

The auth step here is necessary. The build failed because we didn't clone the ingress-controller-conformance repo, so I'm doing that now.

(Given a review, I'm going to land this, now that I've copied the ingress-controller-conformance repo to DockerHub.)


strategies don't seem to work

Hello! Thanks for the package. Looks really good. Feature flags are working (only with full nuxt rebuild though, cannot change during the runtime) Although I don't seem to be able to use Strategies. It shows strategy properly during the nuxt build. But it doesn't seem to take it into account when I use
this.feature = this.$unleash.isEnabled('test'); (always true, even if the strategy only allows certain user id's which I don't provide to the isEnabled function context. Any advice?

Hi @arnfox. The documentation may need to be updated.
You need to use isAllowUser with the feature flag name and userId.
this.feature = this.$unleash.isAllowUser('test', 'myUsername');

Also, if a feature flag does not exist it defaults to true.
You can modify this in the module options with enabledDefault: false.


Using the SRE model for other languages

Hi,
Thank you for your work on Datadriven-GPVAD. I was able to set it up and do some inferencing for my data quickly.
I wanted to know if I can use your model SRE (or any) for languages other than English. I wanted to use your model for Hindi. Or would you suggest training your model from scratch for other languages?
Also, I wanted to know if you would recommend mixing the data points for both English and Hindi and trying to train a language-agnostic model using your work.
Thanks a lot!

Hey there,
So yeah I agree with you mixing should work.
But let me state that a bit clearer how I came  by using a "Chinese" model.
I actually used the teacher ( Trained on Audioset ) to estimate labels on a Chinese dataset.
The I just ran an student on these soft labels and obtained the Chinese model.
While the paper does not provide insights into this issue, I used that specific model for Chinese speech recognition and saw a pretty large gain (up to ~10 % WER) against the SRE model.
Thus, as far as I am concerned, just use the teacher on your Hindi dataset and then retrain a student. That should be at least alright for most usecases.

Alright. Thanks a lot for such a quick response! Closing this for now. 😃