Module not found error with tailwindcss

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Other... Please describe:

Current behavior
With the latest version of reaviz, I get the error below when trying to either build or start the dev server using create react app:
Module not found: Error: Can't resolve 'tailwindcss/plugin' in '/PATH_TO_MY_PROJECT/node_modules/tw-colors/dist/lib'
Did you mean 'plugin.js'?
BREAKING CHANGE: The request 'tailwindcss/plugin' failed to resolve only because it was resolved as fully specified
(probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"').
The extension in the request is mandatory for it to be fully specified.
Add the extension to the request.
WARNING in<EMAIL_ADDRESS>Module Warning (from ./node_modules/source-map-loader/dist/cjs.js):
Failed to parse source map from<EMAIL_ADDRESS>file: Error: ENOENT: no such file or directory, open<EMAIL_ADDRESS>
ERROR in ./node_modules/tw-colors/dist/lib/index.mjs 3:0-40
Module not found: Error: Can't resolve 'tailwindcss/plugin' in '/PATH_TO_MY_PROJECT/node_modules/tw-colors/dist/lib'
Did you mean 'plugin.js'?
BREAKING CHANGE: The request 'tailwindcss/plugin' failed to resolve only because it was resolved as fully specified
(probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"').
The extension in the request is mandatory for it to be fully specified.
Add the extension to the request.

Expected behavior
Project builds correctly.
I do not get this issue when I roll back to reaviz 14.15.4
Minimal reproduction of the problem with instructions

yarn start

What is the motivation / use case for changing the behavior?

Environment

Libs:
- react version: 18.2.0
- reaviz version: 15.15.0

Browser:
- [x] Chrome (desktop) version XX
- [ ] Chrome (Android) version XX
- [ ] Chrome (iOS) version XX
- [ ] Firefox version XX
- [ ] Safari (desktop) version XX
- [ ] Safari (iOS) version XX
- [ ] IE version XX
- [ ] Edge version XX

For Tooling issues:
- Node version: 20.9.0
- Platform:  Mac

thanks for reporting - do you mind providing a github repo reproducing the issue please?

This should be fixed in 15.15.1

Yes that seems to have fixed it for me. Thanks! Sorry I didn't get a chance to put together the repo you requested.


Can Middleware Namespace Change

In gitlab by @A-Lawrence on Aug 24, 2016, 12:27
The can middleware listed in the $routeMiddleware property of your HTTP kernel should be updated to the following class:
'can' => \Illuminate\Auth\Middleware\Authorize::class,

In gitlab by @A-Lawrence on Aug 24, 2016, 12:27
Changed title: {-Can-} Middleware Namespace Change → {+Can+} Middleware Namespace Change

In gitlab by @NFarrington on Sep 3, 2016, 00:07
Completed by 6dac7f01c786c8047226612acdf2098cae0c6666


Resolve the unstable unit tests

Hi community, as we see, the rocketmq unit tests running in github actions is often unstable. Especially, there are many asynchronous assertion timeout tests and often timeout at different os environment. so i want to open the issue to tracking these types of problems and resolve it. Looking forward to hearing your suggestions.

Hi @echooymxq ,
Great idea. Our CI has been unstable for a while, and definitely need someone to fix it. You could separate this issue into several sub-issues to solve them one by one.

Great to see you are about to enhance the quality of test cases.

@tsunghanjacktsai  As for "Our CI has been unstable for a while", It's not the CI that is unstable... the test cases are actually the root cause and should be the place where efforts should be invested.

I also believe that the quality of rocketmq unit testing needs to be improved, and I would love to be a part of that effort

Good idea @echooymxq


How to define class for label

Hi, everyone.
Is there any way how to define class for label of a field? I need to add 'sr-only' (screen readers only) class to label element and don't know how.
Thanks

Hi @osimicek,
I think there are two options for this.
Override the form-for/templates/field-label.html template
The template overrides guide gives examples of how to do this and it's pretty simple. You could fork one of the existing label templates and add your custom class.
This would be the fastest way to accomplish what you're looking to do.
Add a configuration option to FormForConfiguration
Something similar was done for issue #131 and you can see the pull request here.

Let me know your thoughts once you've had a chance to think it over. :)

Thanks for reply.
I think the best solution is to add ng-class directive to a  element and add labelClass attribut to every form field type. labelClass attribute will contain prefered classes.
example:
<text-field ... labelClass=''sr-only'>
(inputClass and errorClass attributes can be added as well)
I hoped there was some easy way to do this.
At this moment I have really no extra time for implementing this. If I am the only one who find this useful, please close this issue.

Interesting. So you'd prefer having labelClass (and potentially errorClass) be configurable on a per-element basis vs having it be a global setting in FormForConfiguration? Out of curiosity, why?
Wouldn't it always be a global thing?
If you wanted to customize a specific directive's label, you could always do that with CSS child selectors.

I think the FormForConfiguration isn't the correct way. It modifies all forms on web. I wanna setup only one form or only some fields.
Yes, It can be done with CSS, but defining this in HTML template has advantages:

easy to do (inserting predefined classes from Bootstrap)
readable code (Bootstrap classes are well known)

Sure, it's more flexible. I was just a bit reluctant to add another attribute to all directives. (Some of them are already quite large.)
I'm going to leave this issue open for now but I don't have the time to implement it. As you're the only person who's requested it so far, I'd be interested in accepting a pull request from you should you find the time to work on it. :)

I have too many projects I am working on now. I will see if i find time to work on this. I would be glad if someone other adds a comment with his opinion or offer an implementation.

This is available in version 4.1.0

That is awesome. Thanks!


Fixed assertion check to allow headers to be empty

The assertion for the headers DLS field checks to see if the map is not empty, but then throws the error "headers cannot be null". I believe this assertion is in error and it should use Assert.notNull() instead. This allows the passing of empty header lists and in addition produces a correct error message.
Note that I have not tested this change.

If this is still desired functionality, please raise you PR here:  https://github.com/grails3-plugins/mail as this repository will be archived momentarily


Fix face area calculation in SoftBody 3D

Fixes #47962, supersedes #47964.
The face area calculation was previously off by a factor of 0.5.
This change was approved by @pouleyKetchoupp a few months ago, pending a rebase on the original PR.

Thanks!


Fix nightly snapshots being downloaded in premerge build

Fixes #11382.  Uses mvn package instead of mvn test in the premerge build script when performing test runs when a mvn install was not guaranteed to be run prior.

build

@revans2 @tgravescs can you guys take a look please


Strings containing double quotes are returned with the quotes encoded

The latest version is encoding quotes.
var html = 'hello "world"'
sanitizeHtml(html, {
  allowedTags: allowedTags,
  transformTags: {
    a: function(tag, attrs) {
      return {
        tagName: 'a',
        attrs: {
          href: attrs.href,
          target: '_blank'
        }
      }
    }
  }
})

will return
hello "world"

This wasn't happening in 1.4.3

This doesn't impact the output in the browser. But we could skip the
encoding of quotes when we know we're dealing with text rather than
attributes. I'd accept a pull request for that.
On Wed, Feb 11, 2015 at 1:11 PM, jacobmoe<EMAIL_ADDRESS>wrote:

The latest version is encoding quotes.
var html = 'hello "world"'
sanitizeHtml(html, {
allowedTags: allowedTags,
transformTags: {
a: function(tag, attrs) {
return {
tagName: 'a',
attrs: {
href: attrs.href,
target: '_blank'
}
}
}
}
})
will return
hello "world"
This wasn't happening in 1.4.3
—
Reply to this email directly or view it on GitHub
https://github.com/punkave/sanitize-html/issues/41.

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com


2/11/2020 Publish

Docs Build status updates of commit fc38b1f:
:clock10: Full build: the average full build time is 7 min(s) 10 sec(s), this is based on the last 417 build(s) for this repository.

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

File
Status
Preview URL
Details

2017-03-09-profile/docs-ref-autogen/TOC.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/ext/aks-preview/aks.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/ext/azure-firewall/network/firewall.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/ext/managementgroups/account.yml
:white_check_mark:Succeeded

2017-03-09-profile/docs-ref-autogen/ext/managementgroups/account/management-group.yml
:white_check_mark:Succeeded

2017-03-09-profile/docs-ref-autogen/ext/managementgroups/account/management-group/subscription.yml
:white_check_mark:Succeeded

2017-03-09-profile/docs-ref-autogen/ext/managementgroups/index.yml
:white_check_mark:Succeeded

2018-03-01-hybrid/docs-ref-autogen/TOC.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/ext/aks-preview/aks.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/ext/azure-firewall/network/firewall.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/ext/managementgroups/account.yml
:white_check_mark:Succeeded

2018-03-01-hybrid/docs-ref-autogen/ext/managementgroups/account/management-group.yml
:white_check_mark:Succeeded

2018-03-01-hybrid/docs-ref-autogen/ext/managementgroups/account/management-group/subscription.yml
:white_check_mark:Succeeded

2018-03-01-hybrid/docs-ref-autogen/ext/managementgroups/index.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/TOC.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/ext/aks-preview/aks.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/ext/azure-firewall/network/firewall.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/ext/managementgroups/account.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/ext/managementgroups/account/management-group.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/ext/managementgroups/account/management-group/subscription.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/ext/managementgroups/index.yml
:white_check_mark:Succeeded

latest/docs-ref-autogen/TOC.yml
:white_check_mark:Succeeded
View (azure-cli-latest)

latest/docs-ref-autogen/acr/scope-map.yml
:white_check_mark:Succeeded
View (azure-cli-latest)

latest/docs-ref-autogen/acr/token.yml
:white_check_mark:Succeeded
View (azure-cli-latest)

latest/docs-ref-autogen/ams/asset.yml
:white_check_mark:Succeeded
View (azure-cli-latest)

latest/docs-ref-autogen/ext/aks-preview/aks.yml
:white_check_mark:Succeeded
View (azure-cli-latest)

latest/docs-ref-autogen/ext/azure-firewall/network/firewall.yml
:white_check_mark:Succeeded
View (azure-cli-latest)

latest/docs-ref-autogen/ext/managementgroups/account.yml
:white_check_mark:Succeeded

latest/docs-ref-autogen/ext/managementgroups/account/management-group.yml
:white_check_mark:Succeeded

latest/docs-ref-autogen/ext/managementgroups/account/management-group/subscription.yml
:white_check_mark:Succeeded

latest/docs-ref-autogen/ext/managementgroups/index.yml
:white_check_mark:Succeeded

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


Flutter stable framework 1.20.3 cherrypicks

Scheduled Cherrypicks

Engine update

d1bc06f032f9d6c148ea6b96b48261d6f545004f
https://github.com/flutter/engine/pull/20838

Wrong hour/minute order in timePicker in RTL mode https://github.com/flutter/flutter/issues/63427

021cf56fc97f96e0571bbb13d2c7a6d66de3beff
https://github.com/flutter/flutter/pull/64097
Author @rami-a, original approver @HansMuller

Cannot return with NULL from Isolate: Exception: Isolate exited without result or error https://github.com/flutter/flutter/issues/63590

afc9509996b334b71f51f625125c232dce649606
https://github.com/flutter/flutter/pull/63515
Author @a14n, original approver @goderbauer

iOS build error: The domain/default pair of [...] does not exist https://github.com/flutter/flutter/issues/57210

741608a261e3b6ac3c36c7ad6cdf798f86733d07
https://github.com/flutter/flutter/pull/61129
Author @jonahwilliams, original approver @jmagman

Test/Infra-Only Cherrypicks

Update devicelab test certificate

ed65f5e96cb2437e0315b65df0aba248e3896b45
https://github.com/flutter/flutter/pull/64519

Fix Windows Line endings in tool-tests packages_test.dart

1884920e30b8d82f2e6408aae1c2b780349d8d00
https://github.com/flutter/flutter/pull/63806

Fix more Windows line endings in tool-tests create_test.dart

f360d8b8e8a7909c65db0d82b5cb07ab4e7cc0ff
https://github.com/flutter/flutter/pull/63796

Known Failures

LUCI customer_testing because of https://github.com/flutter/flutter/issues/57062. In the cirrus config, this test was pinned and is green.
LUCI Linux fuchsia-precache because LUCI try-jobs still running latest recipes https://github.com/flutter/flutter/issues/53371.

approved for branch. don't forget to sign the engine :)

Thanks for checking, I did already.

@a14n please look for review, and also CLABot needs consent again :P

@googlebot I consent

LGTM

Re-running framework_tests-misc-windows (it was a timeout downloading from pub).

Friendly ping @jmagman for the #61129 cherrypick.

Friendly ping @jmagman for the #61129 cherrypick.

Sorry, thought @jonahwilliams's was enough.

Friendly ping @jmagman for the #61129 cherrypick.

Sorry, thought @jonahwilliams's was enough.

Yeah, sorry, I should have been more clear. For extra safety I'm trying out getting multiple reviewers per cherry pick, starting this week.
Speaking of which, @goderbauer could you verify the change to packages/flutter/lib/src/foundation/_isolates_io.dart

@christopherfujino -  Michael is out this week; is there someone else who could LGTM the  change to packages/flutter/lib/src/foundation/_isolates_io.dart?

@christopherfujino - Michael is out this week; is there someone else who could LGTM the change to packages/flutter/lib/src/foundation/_isolates_io.dart?

Ahh, thanks. In that case, I can LGTM it :)

Merging with the failures all known and issues filed, see PR description for details.


Feature proposal: add a flag to disable compression on kubeconfig

Is there an existing issue for this?

[X] I have searched the existing issues

Problem Statement
When querying API server with a big amount (depending on size ~100s or ~1000s) of secrets the connection to API server times out.
Proposed Solution

Implement a feature/runtime flag that will disable compression on kubeconfig to minimize API processing

Additional information
Related bug report #2382
Open questions

We still need to decide if we want to:

disable compression on the whole client (as you've proposed in your diff)
or disable it only for the initial list and the recreate the client with the already established defaults (compression enabled)

Whether this should be done as a feature or runtime flag

Acceptance Criteria

[ ] As a user I should be able to toggle a flag which will allow me to disable compression when issuing calls to API server

PTAL at https://github.com/kubernetes/kubernetes/issues/112296 - that should help with above issue fmu.

Closing until #112296 brings clear resolution and/or a specific request for this flag gets reported with the above context.


Please release 0.3.2

I would like to use llvmenv entry 12.0.0. So please publish 0.3.2 or 0.3.2-alpha.0 to crates.io.

cargo install --git https://github.com/llvmenv/llvmenv is bothersome for me.


support custom cargo binary via lldb.overrideCargo

Passing environment variables via adapterEnv is fine and all but sometimes the variables contain just too much references to themselves or they depend on platform.
So using a cargo wrapper script is much easier for some projects, especially if they depend on c/c++ stuff.

Whoops, didn't see #600. However, I believe my version is a bit cleaner and it also supports expansion of ${workspaceFolder}

@vadimcn please take a look. It's a trivial change that improves experience with rust quite a bit

Implemented in 1.7.1 as "lldb.cargo"


Go to declartion does nothing

No error message, no loading bar, just sits there.

Is it the command-click thingy or the manual command?

Ah, you mean the symbols view standard Atom thingy https://github.com/atom/symbols-view. That is hopelessly impossible to hook into for us with Ensime unfortunately. It ctags based and way to simplistic to be able to work for Scala. This is currently a no-fix.

Can you hook into it, so it goes to a documentation page about how to do it properly?

@graingert Doesn't seem I can. Docs say features work if you have a ctags file on your project which you typically wont on a Scala project I guess: https://github.com/atom/symbols-view
But command is still there. I guess it's up to symbols-view package to tell you that you don't have one when invoking it.
All Ensime commands are prefixed with "Ensime:" and then there are provider hooks for hyperlinking, error reporting and intentions (auto-import). I think that's it.

All Ensime commands are prefixed with "Ensime:" and then there are provider hooks for hyperlinking, error reporting and intentions (auto-import). I think that's it.

@hedefalk where's the documentation on how to configure this?


Warning about loading attribute when using FormButton

Same issue as https://github.com/zopaUK/react-components/issues/489 but does not appear to be fixed for FormButton.
  console.error
    Warning: Received `false` for a non-boolean attribute `loading`.

    If you want to write it to the DOM, pass a string instead: loading="false" or loading={value.toString()}.

    If you used to conditionally omit it with loading={condition && value}, pass loading={condition ? value : undefined} instead.
        in button (created by styled.button)
        in styled.button
        in Unknown

Fixed in 4.43.11


Add R53 and ES configuration for aws-nuke

what

AWS Nuke resources:

R53 records
R53 Zones
ElasticSearch

chatops gh action file added

why

to remove resources used in tests that were not deleted automatically

@osterman There is something wrong with gh today. I'm pushing commits to this branch but they do not appear in PR.
After closing and reopening PR commits are here but gh actions are not triggered.
Will get back to this PR and check in some time.

@osterman aws-nuke dry run output looks much better
https://github.com/cloudposse/testing.cloudposse.co/pull/100/checks?check_run_id=874120068


Arrow keys are not functioning after overlay has been shown

not really sure what is causing this, seems like it's not Electron stealing these keyboard events...


Is there a way to add price formatter (comma + decimal delimiter)?

Description
Hey, Petr.
Is there a way to add a price formatter (comma + decimal delimiter) to the number field?
Thanks!
https://github.com/user-attachments/assets/f970e591-845a-492b-b8f1-999a853bf736

There are two diffrent options for text value format in react-declarative. The first one is inpurtFormatterTemplate. This property allow you to format values like in official documents. For example, SNILS, 123-456-789 12
{
    type: FieldType.Text,
    title: 'Snils',
    name: 'snils',
    inputFormatterTemplate: '##-#-###-### ##',
    inputFormatterSymbol: '#',
    inputFormatterAllowed: /^[0-9]/,
}

Cause comma places are dynamic It is not suitable in your case, you should use FieldType.Component to inject the Amount field into form
import { IField, FieldType, formatAmount } from "react-declarative";

import { TextField, InputAdornment } from '@mui/material';

const format = (value: string) => {
  if (!value) {
    return "";
  }
  return formatAmount(value);
}

export const fields: IField[] = [
  {
    type: FieldType.Component,
    name: 'quantity',
    element: ({
      value,
      onValueChange,
    }) => (
      <TextField
        value={value}
        variant="standard"
        onChange={({ target }) => onValueChange(format(target.value))}
        InputProps={{
            endAdornment: <InputAdornment position="end">$</InputAdornment>,
        }}
      />
    ),
  }
];

P.S. I just uploaded a new version so you should npm install it

Thanks for the response.
As usually quick and elegant.
BTW, seems like formatAmount is not working properly, something for you to check:

@evgeny-s
The separator argument helps you to change the , to . in decimals when you working with floats. I'l take a look on naming

@evgeny-s Also, could you star that repo and share somewhere in social networks like Twitter (X), Linkedin? I am searching traffic for promotion, It would be great for SEO


Original templates and converters used for the pre-trained models provided for jetson inference engine

Hello @dusty, I understand we need to convert our pytorch or tensorflow models into .onnx, .uff or .caffemodel to use them in jetson inference engine. But I struggle a bit to find such converters.
So could you help me providing which converters you used to convert your original ssd-mobilenet-v2 in .uff or to turn for instance the original coco-bottle model into a .caffemodel ?
Even more, could you provide the original templates (pytorch or tensorflow) originally designed before conversion ? So that I can notice if they are build with something special. And also so that I can use them through the converter you will advise me, to make sure they are compatible in the inference engine.
Many thanks !

So could you help me providing which converters you used to convert your original ssd-mobilenet-v2 in .uff

Hi @TonioBoubs, this was the tool that I used for that model was:  https://github.com/AastaNV/TRT_object_detection
The .caffemodel didn't require a converter, that was the native format of caffe and TensorRT directly imports .caffemodels
However I don't recommend using either of those outdated methods anymore, going forward I recommend the PyTorch-based training (i.e. using train_ssd.py with ONNX export like is done in the tutorial)


Error handling

Fix https://github.com/jupytercad/jupytercad/issues/343
https://github.com/jupytercad/jupytercad/assets/21197331/15a22bb3-46f9-40ca-a960-815b48069a93

Thanks @martinRenou for working on it. I just tested with some corner cases:

Adding shape or editing shape from the right panel does not go through the dry-run check, should we do it?

https://github.com/jupytercad/jupytercad/assets/4451292/f7d51cba-98f0-4889-b003-2f8af6804189

I artificially make the loadFlle action much slower so that I can add another operator while the first one is still processing. But then the first operator is discarded, we may need to lock the operators while the worker is busy

https://github.com/jupytercad/jupytercad/assets/4451292/e93699ee-5288-436c-8bb3-c6788062bbd3

When there are 2 users, the first user adds an operator but since the shared doc is not updated, the second user might add another operator with the same name

https://github.com/jupytercad/jupytercad/assets/4451292/17cb5797-a1a6-435c-b262-962d2968b846

Even if the second user can avoid the naming collision, the outcome is not correct since their worker does not know about the upcoming operator of the first user

https://github.com/jupytercad/jupytercad/assets/4451292/f99fe843-25ca-46dc-96e5-890ff52289b9
I think we might need to improve the loading indicator and locking mechanism to avoid these cases

Adding shape or editing shape from the right panel does not go through the dry-run check, should we do it?

Yes, definitely. Also we should probably do it on the first load of the file, and report malformed a file if that's the case.

I artificially make the loadFlle action much slower so that I can add another operator while the first one is still processing. But then the first operator is discarded, we may need to lock the operators while the worker is busy

Right! We should fix it indeed. It's unrelated to this PR though, so we should probably turn this into an issue and look into implementing a fix.

When there are 2 users, the first user adds an operator but since the shared doc is not updated, the second user might add another operator with the same name

I believe name conflicts should not be a thing. We can fix it by fixing https://github.com/jupytercad/jupytercad/issues/200.

Even if the second user can avoid the naming collision, the outcome is not correct since their worker does not know about the upcoming operator of the first user

I guess this would be fixed by implementing a proper lock?

yeah, having a proper operator lock definitely helps. But I also feel that having a single promise delegate for all operators might be a bottleneck. Using a dict of promise delegates and sending the delegate id back and forth between the worker and the main view model can work?

Oh I see. I'll have a look at that.

Wait before merging I'll check to use the dry run in the object properties panel too :)

@trungleduc Ready for review!

🎉  that is pretty great!


Create rust.yml

To make sure that all the code merged into master is valid we add github actions with checks that

all tests pass
formatting is valid
no common mistakes caught by clippy

Also fixed existing warnings from fmt and clippy

all tests pass

formatting is valid

no common mistakes caught by clippy

pro-tip: If you can list multiple changes, then your commit is likely not atomic enough. Kudos on writing a very good commit log, though. :+1:


HttpClient HTTP 2.0 compatibility

There's been a lot of news about HTTP 2.0 recently when the standard was finalised, and it's going to be supported in the next IIS but is there a general timeline to update HttpClient to work with HTTP 2.0 yet? I appreciate there's much bigger fish to fry at the moment, just curious about when this might happen.

@callumelgrant - I agreed with you. Can you please provide me some link which provides documentation about HTTP2.0?

@garora https://http2.github.io/, and the katana implementation can help : https://github.com/MSOpenTech/http2-katana

Thanks I will take a look
On 3 Mar 2015 15:13, "Olivier Lefebvre"<EMAIL_ADDRESS>wrote:

@garora https://github.com/garora https://http2.github.io/, and the
katana implementation can help :
https://github.com/MSOpenTech/http2-katana
—
Reply to this email directly or view it on GitHub
https://github.com/aspnet/Home/issues/345#issuecomment-76915044.

@callumelgrant  - Thanks for your interest in HttpClient and ASP.NET 5. HTTP/2 support in HttpClient (by adding it into the WinHttpHandler implementation) is on our roadmap but we don't have a set timeline yet.
Till then - The architecture of HttpClient allows you plugin a custom HttpMessageHandler object that handles the request-response transactions. So you could implement your own Handler that implements HTTP/2  and plug it in to the client. (See https://msdn.microsoft.com/en-us/library/hh193664(v=vs.118).aspx )
Hope this helps.

@SidharthNabar Perfect, thanks!

This issue is being closed because it has not been updated in 3 months.
We apologize if this causes any inconvenience. We ask that if you are still encountering this issue, please log a new issue with updated information and we will investigate.


Add function to compile OTFs compatibly

Let's leave this here until the varLib designspace object stuff is in.


Fix types in device_save_loader tests

At the moment the tests in https://github.com/bluesky/ophyd-async/blob/main/tests/core/test_device_save_loader.py have mismatching types, which will fail after #594
E.g.
https://github.com/bluesky/ophyd-async/blob/72c61adaee46edae90bac3d7edc034c1a71b084a/tests/core/test_device_save_loader.py#L196
puts a Table to
https://github.com/bluesky/ophyd-async/blob/72c61adaee46edae90bac3d7edc034c1a71b084a/tests/core/test_device_save_loader.py#L33
a SignalRW[str].
Some of this is now duplicated in the "all types" tests:
https://github.com/bluesky/ophyd-async/blob/72c61adaee46edae90bac3d7edc034c1a71b084a/tests/core/test_device_save_loader.py#L70-L91
This ticket is to delete any of the tests that poke Signals with the wrong types, and if they are not covered in the "all types" tests then add functionality to that test for what they are testing.
Note that in a followup ticket the "all types" test will start testing against a real EPICS backend, so this should be a minimal effort ticket to retain the current tests so we know what needs to be ported in the followup ticket.

yes please

scratch that, I guess the issue only arises when the signal is created with str datatype specified and then we try to put to it with a StrictEnum value. We could

overload str for StrictEnum to return str(self.value) (maybe this is bad for debugging?)
add in an isinstance(..., StrictEnum) check in PrimitiveSoftConverter to extract the value
expect that users won't try to do that

I'm tempted to say "expect that users won't try that", it seems unlikely...


Archive Command issue

Did not mention the file path should not have any space and any symbol, ie “my_book.json” and “my book.json”.

When I try using the jar file, it can archive to the file name my_book.json and my book.json

Can I know a more specific context of this is not working?

ow sorry, my mistake. Forget to add pa/ when i do the testing


Thank you!

I think I've seen every public Android calendar library there is and this is the best I've found. Thank you for this!

Hey, this means a lot! I'm glad you found it useful.

Guess I can close this now 😆😆


[CPU] Make distribution tile sizes be aligned with vector sizes.

It makes distribution tile sizes selection when incomplete tiles are
allowed. Today we have much more mature vectorizer, so we don't need to
make problem size be divisible by distribution tile size. It moves CPU
codegen getting out of weird tile sizes for more cases.

Can we hold this change before the no-DT benchmarks are restored (#15836)? We found a few regressions on no-DT on our sides so we want to make sure this change is also benchmarked with no-DT


Material_AlphaMask_05 never loads in Babylon.js

Verify if it is an issue with the model or Babylon.js

This issue looks specific to Babylon.js and is caused by having an alpha cutoff of 0.0

Fixed by https://github.com/BabylonJS/Babylon.js/pull/3935


balancedconsumer will get a PartitionOwnedError

start a kafka server and not include any data, create a topic with 3(any number greater than one)partition.
create a balancedconsumer, set consumer_timeout_ms = -1.
start the balancedconsumer client, and then start it again, here are two client named clientA, clientB.
after rebalance_max_retries*rebalance_backoff_ms ms, clientB will get a PartitionOwnedError.
i have debug the code, find the reason is consume() function will always acquire the _rebalancing_lock and not to release it, so _rebalance() will block at with self._rebalancing_lock.

it occur in both master and dev version.

Thanks @nsf-remoter, this sounds like it should be looked into.

@emmett9001 I have looked into it. Here's my hypothesis:
A blocking consumer releases the _rebalancing_lock when it either times out or consumes a message.
Like @nsf-remoter discussed, in the case when consumer_timeout_ms=-1,  a triggered rebalance will not make progress(unless it receives a message), as consumer won't give up the lock.
One workaround is release the lock, when a _rebalance() is triggered. Do you suspect anything breaking in this approach?

@tanaysoni I think your approach sounds promising. I'd like to test it out when I get a chance.


test: use mtime for -ot and fix direction of comparison

Use the file modification time instead of the creation time (matches GNU coreutils documentation)

Fix direction of comparison (a < b instead of a > b)

Extend test case to cover both the 0 and 1 exit code cases

Here is the specific coreutils documentation page I was referring to.
I wasn't sure how to test against android, so left the #cfg check in place for that target environment. For musl testing I used cargo test --target=x86_64-unknown-linux-musl test_test.


chore: Add option to free up disk space during action runtime

The AWS provider upgrade started running out of disk space. This should unblock upgrading the AWS provider again.

Closing this in favor of doing it in ci-mgmt


UI_USER_INTERFACE_IDIOM can't build in Xcode 13.3

The error
LLVM ERROR: out of memory
during making archive in Xcode 13.3
It seems that it is caused by UI_USER_INTERFACE_IDIOM. Need to use UIDevice.current.userInterfaceIdiom., probably.

hi, this is solution work for me
https://github.com/flutter/flutter/issues/100142#issuecomment-1072050199

hi, any update?

Hello, may I know if this issue still exists on Xcode 15+? Thanks

Will close this issue for now, if there are any updates, please feel free to open a new issue!


[NEW] Add runtime certificate revocation support

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Add gateway feature to enforce the certificate revocation list (CRL) from a given file. The list should be re-loaded/parsed if it's file contents change.
Alternatives Considered
No response
Additional Information
No response

Work for this has been done on the feature-crl-runtime-update branch. However it will be associated to a new experimental feature as it may not be working as of yet. More analysis, coding needs to be done.


Add Duy Tan University

Dear JetBrains Admin,
I want to add my university to get support from JetBrains for us. We are from Duy Tan University located in central Vietnam. We have IT students who want to use developer applications from JetBrains.
university domain is https://duytan.edu.vn
university email domain is<EMAIL_ADDRESS>Thank you very much.
Best regards,
Le Van Duy

@duy-lee The domain registrant for dtu.vn is Trường Đại Học Duy Tân (Duy Tan University). This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@duy-lee Thank you for the request. You say in the comment that the email domain for students at the university is @dtu.edu.vn, but the request is for @dtu.vn. What is the email domain that you wish to add to the trusted list?

@duy-lee Thank you for the request. You say in the comment that the email domain for students at the university is @dtu.edu.vn, but the request is for @dtu.vn. What is the email domain that you wish to add to the trusted list?

Thank you for your feedback. The exact email domain of our school is @dtu.edu.vn, @philipto

@duy-lee I am sorry, the domain dtu.edu.vn is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


Saving the temp files outside the workspace?

Would it be possible to keep them out of the workspace(somewhere in appdata perhaps?)
Sometimes tools that watch the workspace tend to take additional unwanted actions when files change or get added and some of these don't have ignore lists. It might also seem cleaner as these files don't technically effect the workspace.
I appreciate the work on the extension so far, thank you!

I'll add a setting to specify the location of .history folder.
Thanks to apreciate this extension
Zabel

Thank you!

I second this, it would be great if this history could be saved in a central place. I was thinking about for instance saving it in the root of my home directory, for example ~/.vs-code-history/<project-name>.
If you can give me some guidance on how you'd like to see this implemented I might be able to have a look at it this weekend.
Great extension!

I am working on this feature and changed a lot of code to implements this.
I am testing now and will publish a new version of this extension soon...
Z'abel

I have just published a new version of this extension.
I added a new setting "local-history.path" to specify the .history folder location.
Z'abel

Thank you!!!

Do you add {"local-history.folderName":".history"} ? If I have "subproject" then this is usetfule.

I don't understand what do you want/need...
An exemple of folder structure would be perhaps more explicit - just sketch it out in a comment here...
Currently there is a settings "local-history.path" to specify the ".history" folder location.
<local-history.path>.history\workspace1
<local-history.path>.history\workspace1\SubFolder1
<local-history.path>.history\workspace2

I need change .history folder name, not only .history folder location.

I see, you need an .history folder name different for each workspace.
Create a new issue for this feature or make a PR...

It would be nice is there was a {workspaceName}. I would like to be able to save my project in my workspaces parent folder, but the parent folder has several workspace child folders in it. My ideal structure:
- parent-folder
  - .vscode
    - workspace 1
      - .history
    - workspace 2
      - .history
  - workspace 1
  - workspace 2
  - workspace n

Side note: The window.title setting has some variable support, that maybe this project should match (Ex: rootName & rootPath).


ionic v2 project  use ionic emulate ios --cl  start emulate but alway loading

Which Ionic Version? 1.x or 2.x
2.x
Run ionic info from terminal/cmd prompt: (paste output below)
ionic start test --v2
ionic emulate ios -cl

Hello, since this issue seems to be an issue with the ionic cli and not the framework i will be moving this issue to that repo. Thanks for using Ionic!

This issue was moved to driftyco/ionic-cli#1167


New features relating to billing accounts and billing projects

Defining features will take some thought/conversation, but it seems likely that a consortium may need to assign charges to more than one google billing project. Practically, this likely means assigning different AnVIL workspaces to different AnVIL billing projects and updating which AnVIL billing project a workspace is associated with.

Closing this issue since we decided not to go this route. That said, I have plans to make the behavior surrounding workspaces more customizable, so that could be covered as a Django project-level customization.


Feature Request: Use of external template

Noticed the package used to bootstrap a new project has a default template. Would love to be able to create a new presentation based on a template hosted somewhere or from another mom package

I am currently quite busy and do not have much time to work on this repository.
You can copy the create-webpack directory, change the content in the template and reupload that as your own repository to enable different templates.
Currently, the code in the create-webpack package downloads a specific folder from github, through the codeload.github.com url. I am not sure if there are similar urls for other code hosting websites like gitlab, but we could probably extend the code to enable another argument of the style: -t <user>/<repo>/<path>, which would then try to download a template from that github repository.
Finally, we need to clearly notify the user we are not responsible for downloading malicious code or files! :)
If you want to, feel free to send in a PR for this feature.

Add an extra -t, --template flag in cli.js, with a default value of 0phoff/MDXP/packages/webpack/template
Pass the string to the create() function
Warn user about malicious code (if default was not used).
Split the template string argument in separate <user>, <repo>, <path> strings and pass those to the getTar() function


[WFCORE-665] When host jvm name and server jvm name are same then the ho...

...st jvm settings are ignored
https://issues.jboss.org/browse/WFCORE-665
When host jvm name and server jvm name are same then the host jvm settings are ignored

Windows Build 1248 is now running using a merge of 724079d059a26ba26c64644a1d80f4381b966063

Linux Build 1599 is now running using a merge of 724079d059a26ba26c64644a1d80f4381b966063

Core - Full Integration Build 853 is now running using a merge of 724079d059a26ba26c64644a1d80f4381b966063

Windows Build 1248 outcome was FAILURE using a merge of 724079d059a26ba26c64644a1d80f4381b966063
Summary: Execution timeout (new); tests passed: 2811, ignored: 52; org.wildfly.core:wildfly-core-testsuite-domain Build time: 0:45:06
Build problems:
Execution timeout
Process exited with code 1

Linux Build 1599 outcome was FAILURE using a merge of 724079d059a26ba26c64644a1d80f4381b966063
Summary: Execution timeout (new); tests passed: 2841, ignored: 50; org.wildfly.core:wildfly-core-testsuite-domain Build time: 0:45:08
Build problems:
Execution timeout
Process exited with code 137

Core - Full Integration Build 853 outcome was FAILURE using a merge of 724079d059a26ba26c64644a1d80f4381b966063
Summary: Tests failed: 1 (1 new), passed: 2856, ignored: 412 Build time: 0:50:50
Build problems:
Failed tests detected
Failed tests
org.jboss.as.test.integration.domain.suites.ReadEnvironmentVariablesTestCase.testReadEnvironmentVariablesForServers: <no details avaliable>

retest this please

Windows Build 1249 is now running using a merge of 724079d059a26ba26c64644a1d80f4381b966063

Linux Build 1600 is now running using a merge of 724079d059a26ba26c64644a1d80f4381b966063

Core - Full Integration Build 856 is now running using a merge of 724079d059a26ba26c64644a1d80f4381b966063

Windows Build 1249 outcome was FAILURE using a merge of 724079d059a26ba26c64644a1d80f4381b966063
Summary: Execution timeout; tests passed: 2811, ignored: 52; org.wildfly.core:wildfly-core-testsuite-domain Build time: 0:45:05
Build problems:
Execution timeout
Process exited with code 1

Linux Build 1600 outcome was FAILURE using a merge of 724079d059a26ba26c64644a1d80f4381b966063
Summary: Execution timeout; tests passed: 2841, ignored: 50; org.wildfly.core:wildfly-core-testsuite-domain Build time: 0:45:06
Build problems:
Execution timeout
Process exited with code 137

Core - Full Integration Build 856 outcome was FAILURE using a merge of 724079d059a26ba26c64644a1d80f4381b966063
Summary: Tests failed: 1, passed: 2855, ignored: 412, muted: 1 Build time: 0:49:06
Build problems:
Failed tests detected
Failed tests
org.jboss.as.test.integration.domain.suites.ReadEnvironmentVariablesTestCase.testReadEnvironmentVariablesForServers: <no details avaliable>

Thanks for the patch. I prefer that any merging of data from different  elements be done in the JVMElement class, with ManagedServerBootCmdFactory just concerned with identifying what elements are relevant and determining precedence.
I'm also not convinced this is a bug. AIUI the software works as designed. It seems that what's wanted it a change in behavior. There's certainly a case for that though.

Given the failures, Brian's comments and the fact we're getting close to a core release I'm closing this.


Feature: Plural and singular translation without complex implementation

What feature or improvement do you think would benefit Files?
I've got an idea to enhance the efficiency of implementing translation for both plural and singular words in Files.

Personally, I've developed and utilize my own straightforward extension adhering to the i18n standard, compatible with crowdin. This eliminates the need for duplicate keys, streamlining the writing process.
I personally employ RESX with ResourceManager, and adapting its usage here would entail minor modifications.
Additionally, all spell checks operate through a RegEx pattern, fine-tuned to disregard most whitespace.
There's also the option to incorporate prefixes and postfixes.
Nevertheless, experimentation should provide a good understanding of its functionality.

Sample of examples

Examples of display and use in crowdin

Test RegExr online work
Crowdin ICU message implementation (doc)

Sample of personal use
StringExtensions.cs
// Copyright (c) 2024 Laštůvka Lukáš
// Licensed under the Apache-2.0 license. See the LICENSE.

using System.Text.RegularExpressions;

namespace ProjectName.Extensions;
public static partial class StringExtensions
{
    // Default resource manager
    private static readonly ResourceManager _resourceManager = new("ProjectName.Strings.Resources", typeof(Program).Assembly);

    // Default pattern for plural strings
    private const string _regexPattern = @"^(?'pre'[^{]+)?\{\s*amount\s*,\s*plural\s*,\s*=\s*(?'num'\d+)\s*\{\s*(?'none'[^{]+)\}\s*(one|few|many|other)\s*\{\s*([^{}]+)\}\s*(?:(one|few|many|other)\s*\{\s*([^{}]+)\})?\s*(?:(one|few|many|other)\s*\{\s*([^{}]+)\})?\s*(?:(one|few|many|other)\s*\{\s*([^{}]+)\})?\s*\}(?'post'.*)";

    // Default string to replace with amount
    private const string _replaceString = "#";

    // Default regex object for pattern
    [GeneratedRegex(_regexPattern, RegexOptions.IgnoreCase)]
    private static partial Regex ResourceRegex();
    private static readonly Regex _regex = ResourceRegex();

    /// <summary>
    /// Tests if a resource with the specified key exists in the resource manager with the specified culture.
    /// </summary>
    /// <param name="resKey">The key of the resource to look for.</param>
    /// <param name="culture">The culture to use when looking for the resource.</param>
    /// <param name="value">The value of the resource, if it exists.</param>
    /// <returns>True if the resource exists, false otherwise.</returns>
    private static bool ExistsLocalizedResource(this string resKey, CultureInfo culture, out string value)
    {
        try
        {
            var keyValue = _resourceManager.GetResourceSet(culture, true, true)?.GetString(resKey);
            if (keyValue != null)
            {
                value = keyValue;
                return true;
            }
        }
        catch { }
        value = string.Empty;
        return false;
    }

    /// <summary>
    /// Gets the plural category for the specified number.
    /// </summary>
    /// <param name="amount">The number for which to get the plural category.</param>
    /// <returns>The plural category for the specified number.</returns>
    private static string GetPluralCategory(int amount)
    {
        if (amount == 1)
        {
            return "one";
        }
        else if (amount % 10 >= 2 && amount % 10 <= 4 && (amount % 100 < 10 || amount % 100 >= 20))
        {
            return "few";
        }
        else if ((amount % 10 == 0 || (amount % 10 >= 5 && amount % 10 <= 9) || (amount % 100 >= 11 && amount % 100 <= 19)))
        {
            return "many";
        }
        else
        {
            return "other";
        }
    }

    /// <summary>
    /// Tests if a resource with the specified key exists in the resource manager with the current UI culture.
    /// </summary>
    /// <param name="resKey">The key of the resource to look for.</param>
    /// <returns>True if the resource exists, false otherwise.</returns>
    public static bool ExistsLocalizedResource(this string resKey) => ExistsLocalizedResource(resKey, CultureInfo.CurrentUICulture, out var _);

    /// <summary>
    /// Gets the localized string for the specified resource key from the resource manager with the specified culture.
    /// </summary>
    /// <param name="resKey">The key of the resource to look for.</param>
    /// <param name="culture">The culture to use when looking for the resource.</param>
    /// <returns>The localized string for the resource, or the resource key if the resource could not be found.</returns>
    public static string GetLocalizedResource(this string resKey, CultureInfo culture) => ExistsLocalizedResource(resKey, culture, out string value) ? value : resKey;

    /// <summary>
    /// Gets the localized string for the specified resource key from the resource manager with the current UI culture.
    /// </summary>
    /// <param name="resKey">The key of the resource to look for.</param>
    /// <returns>The localized string for the resource, or the resource key if the resource could not be found.</returns>
    public static string GetLocalizedResource(this string resKey) => GetLocalizedResource(resKey, CultureInfo.CurrentUICulture);

    /// <summary>
    /// Gets the plural localized string for the specified resource key from the resource manager with the specified culture.
    /// </summary>
    /// <param name="resKey">The key of the resource to look for.</param>
    /// <param name="amount">The number to use for pluralization.</param>
    /// <param name="culture">The culture to use when looking for the resource.</param>
    /// <returns>The plural localized string for the resource, or the resource key if the resource could not be found.</returns>
    public static string GetPluralLocalizedResource(this string resKey, int amount, CultureInfo culture)
    {
        var res = GetLocalizedResource(resKey, culture);
        var match = _regex.Match(res);

        if (match.Success)
        {
            var resText = new StringBuilder();
            resText.Append(match.Groups["pre"].Value);

            if (amount == 0 || amount == int.Parse(match.Groups["num"].Value))
            {
                resText.Append(match.Groups["none"].Value.TrimEnd());
            }
            else
            {
                for (int i = 1; i < match.Groups.Count; i += 2)
                {
                    string groupName = match.Groups[i].Value;
                    string groupText = match.Groups[i + 1].Value;

                    if (groupName == GetPluralCategory(amount) || groupName == "other")
                    {
                        resText.Append(groupText.ReplaceFirst(_replaceString, amount.ToString()).TrimEnd());
                        break;
                    }
                }
            }

            resText.Append(match.Groups["post"].Value);
            return resText.ToString().TrimEnd();
        }

        return res;
    }

    /// <summary>
    /// Gets the plural localized string for the specified resource key from the resource manager with the current UI culture.
    /// </summary>
    /// <param name="resKey">The key of the resource to look for.</param>
    /// <param name="amount">The number to use for pluralization.</param>
    /// <returns>The plural localized string for the resource, or the resource key if the resource could not be found.</returns>
    public static string GetPluralLocalizedResource(this string resKey, int amount) => GetPluralLocalizedResource(resKey, amount, CultureInfo.CurrentUICulture);

    /// <summary>
    /// Replaces the first occurrence of a specified string with another specified string in a given string.
    /// </summary>
    /// <param name="str">The given string.</param>
    /// <param name="oldValue">The string to be replaced.</param>
    /// <param name="newValue">The new string to replace the old string.</param>
    /// <returns>A string that is identical to the given string except that the first occurrence of oldValue is replaced with newValue.</returns>
    public static string ReplaceFirst(this string str, string oldValue, string newValue)
    {
        int position = str.IndexOf(oldValue);
        if (position < 0)
        {
            return str;
        }
        str = string.Concat(str.AsSpan(0, position), newValue, str.AsSpan(position + oldValue.Length));
        return str;
    }
}

Example using in code
// Copyright (c) 2024 Laštůvka Lukáš
// Licensed under the Apache-2.0 license. See the LICENSE.

// WORK:
// ->   PreText: {amount, plural, =0  { No contributions } one { # contribution} other { # contributions}} PostText
// ->   PreText: {amount, plural, =0  {  No contributions         } one {# contribution      } other { # contributions}  }
// ->   {amount, plural, =0 {No contributions} one {# contribution} few {# contributions} many {# contributions} other {# contributions}}
// ->   {amount, plural, =2 {No contributions} one {# contribution} few {# contributions} many {# contributions} other {# contributions}}

for (int i = 0; i < 11; i++)
{
    Console.WriteLine($"{"contribution".GetPluralLocalizedResource(i, new("en-US"))}");
}

Console.WriteLine();

for (int i = 0; i < 11; i++)
{
    Console.WriteLine($"{"contribution".GetPluralLocalizedResource(i)}");
}

Console.WriteLine();

Console.WriteLine("Version".GetPluralLocalizedResource(0));
Console.WriteLine("Version".GetLocalizedResource());

Testing on real data

For compatibility reasons, I created a new version that handles multivalued text better.
I have made a demonstration of the possibilities and implementation

Samples
Sample A

KEY: CreateShortcutDescription
Source: "Create new {0, plural, =1 {shortcut} other {shortcuts}} to selected {0, plural, =1 {item} other {items}}"

Result:

NUM:1   ->      Create new shortcut to selected item
NUM:2   ->      Create new shortcuts to selected items
NUM:3   ->      Create new shortcuts to selected items
NUM:4   ->      Create new shortcuts to selected items
NUM:5   ->      Create new shortcuts to selected items
NUM:6   ->      Create new shortcuts to selected items
NUM:7   ->      Create new shortcuts to selected items
NUM:8   ->      Create new shortcuts to selected items
NUM:9   ->      Create new shortcuts to selected items
NUM:10  ->      Create new shortcuts to selected items

Sample B

KEY: UnpinFolderFromSidebarDescription
Source: "Unpin {0, plural, =1 {folder} other {folders}} from Sidebar"

Result:

NUM:1   ->      Unpin folder from Sidebar
NUM:2   ->      Unpin folders from Sidebar
NUM:3   ->      Unpin folders from Sidebar
NUM:4   ->      Unpin folders from Sidebar
NUM:5   ->      Unpin folders from Sidebar
NUM:6   ->      Unpin folders from Sidebar
NUM:7   ->      Unpin folders from Sidebar
NUM:8   ->      Unpin folders from Sidebar
NUM:9   ->      Unpin folders from Sidebar
NUM:10  ->      Unpin folders from Sidebar

Sample C

KEY: ConflictingItemsDialogSubtitleMultipleConflictsMultipleNonConflicts
Source: "There are {0, plural, =0 {no conflicting file names} one {# conflicting file name} other {# conflicting file names}}, and {1, plural, =0 {zero outgoing items} one {# outgoing item} other {# outgoing items}}."

Result:

NUM:0   ->      There are no conflicting file names, and zero outgoing items.
NUM:1   ->      There are 1 conflicting file name, and zero outgoing items.
NUM:2   ->      There are 2 conflicting file names, and zero outgoing items.
NUM:3   ->      There are 3 conflicting file names, and zero outgoing items.
NUM:4   ->      There are 4 conflicting file names, and zero outgoing items.
NUM:5   ->      There are 5 conflicting file names, and zero outgoing items.
NUM:6   ->      There are 6 conflicting file names, and zero outgoing items.
NUM:7   ->      There are 7 conflicting file names, and zero outgoing items.
NUM:8   ->      There are 8 conflicting file names, and zero outgoing items.
NUM:9   ->      There are 9 conflicting file names, and zero outgoing items.
NUM:10  ->      There are 10 conflicting file names, and zero outgoing items.

Sample D

KEY: CopyItemsDialogSubtitleMultiple
Source: "{0, plural, =1 {# item} other {# items}} will be copied"

Result:

NUM:0   ->      0 items will be copied
NUM:1   ->      1 item will be copied
NUM:2   ->      2 items will be copied
NUM:3   ->      3 items will be copied
NUM:4   ->      4 items will be copied
NUM:5   ->      5 items will be copied
NUM:6   ->      6 items will be copied
NUM:7   ->      7 items will be copied
NUM:8   ->      8 items will be copied
NUM:9   ->      9 items will be copied
NUM:10  ->      10 items will be copied

@Jay-o-Way do you have any input?

Hm, looks sweet! But not really my expertise...
One detail: I see it doesn't work for the "is/are" words.

There are 1 conflicting file name

is/are can also:

Test regex101 online work

MessageFormat

I tried the existing nuget package "MessageFormat"
Public repo MessageFormatter for .NET

Install
Install-Package MessageFormat

Demo code
// Copyright (c) 2024 Laštůvka Lukáš
// Licensed under the Apache-2.0 license. See the LICENSE.

// Test With MessageFormat

using Jeffijoe.MessageFormat;

CultureInfo.CurrentUICulture = new("en-US");
var mf = new MessageFormatter(useCache: true, locale: CultureInfo.CurrentUICulture.Name);

string[] testStrings = ["CreateShortcutDescription", "UnpinFolderFromSidebarDescription"];

foreach (string testString in testStrings)
{
    Console.WriteLine($"KEY: {testString}");
    Console.WriteLine($"Source: \"{testString.GetLocalizedResource()}\"");
    Console.WriteLine($"\nResult:\n");

    for (int i = 1; i <= 10; i++)
    {
        Console.WriteLine($"NUM:{i}\t->\t{mf.FormatMessage(testString.GetLocalizedResource(), new Dictionary<string, object?> { { "0", i } })}");
    }
    Console.WriteLine();
}

string[] testStrings2 = ["ConflictingItemsDialogSubtitleMultipleConflictsMultipleNonConflicts", "CopyItemsDialogSubtitleMultiple", "FilesReady"];

foreach (string testString in testStrings2)
{
    Console.WriteLine($"KEY: {testString}");
    Console.WriteLine($"Source: \"{testString.GetLocalizedResource()}\"");
    Console.WriteLine($"\nResult:\n");

    for (int i = 0; i <= 10; i++)
    {
        Console.WriteLine($"NUM:{i}\t->\t{mf.FormatMessage(testString.GetLocalizedResource(), new Dictionary<string, object?> { { "0", i },{ "1", 0} })}");
    }
    Console.WriteLine();
}

Console.ReadKey();

Results
KEY: CreateShortcutDescription
Source: "Create new {0, plural, =1 {shortcut} other {shortcuts}} to selected {0, plural, =1 {item} other {items}}"

Result:

NUM:1   ->      Create new shortcut to selected item
NUM:2   ->      Create new shortcuts to selected items
NUM:3   ->      Create new shortcuts to selected items
NUM:4   ->      Create new shortcuts to selected items
NUM:5   ->      Create new shortcuts to selected items
NUM:6   ->      Create new shortcuts to selected items
NUM:7   ->      Create new shortcuts to selected items
NUM:8   ->      Create new shortcuts to selected items
NUM:9   ->      Create new shortcuts to selected items
NUM:10  ->      Create new shortcuts to selected items

KEY: UnpinFolderFromSidebarDescription
Source: "Unpin {0, plural, =1 {folder} other {folders}} from Sidebar"

Result:

NUM:1   ->      Unpin folder from Sidebar
NUM:2   ->      Unpin folders from Sidebar
NUM:3   ->      Unpin folders from Sidebar
NUM:4   ->      Unpin folders from Sidebar
NUM:5   ->      Unpin folders from Sidebar
NUM:6   ->      Unpin folders from Sidebar
NUM:7   ->      Unpin folders from Sidebar
NUM:8   ->      Unpin folders from Sidebar
NUM:9   ->      Unpin folders from Sidebar
NUM:10  ->      Unpin folders from Sidebar

KEY: ConflictingItemsDialogSubtitleMultipleConflictsMultipleNonConflicts
Source: "There are {0, plural, =0 {no conflicting file names} one {# conflicting file name} other {# conflicting file names}}, and {1, plural, =0 {zero outgoing items} one {# outgoing item} other {# outgoing items}}."

Result:

NUM:0   ->      There are no conflicting file names, and zero outgoing items.
NUM:1   ->      There are 1 conflicting file name, and zero outgoing items.
NUM:2   ->      There are 2 conflicting file names, and zero outgoing items.
NUM:3   ->      There are 3 conflicting file names, and zero outgoing items.
NUM:4   ->      There are 4 conflicting file names, and zero outgoing items.
NUM:5   ->      There are 5 conflicting file names, and zero outgoing items.
NUM:6   ->      There are 6 conflicting file names, and zero outgoing items.
NUM:7   ->      There are 7 conflicting file names, and zero outgoing items.
NUM:8   ->      There are 8 conflicting file names, and zero outgoing items.
NUM:9   ->      There are 9 conflicting file names, and zero outgoing items.
NUM:10  ->      There are 10 conflicting file names, and zero outgoing items.

KEY: CopyItemsDialogSubtitleMultiple
Source: "{0, plural, =1 {# item} other {# items}} will be copied"

Result:

NUM:0   ->      0 items will be copied
NUM:1   ->      1 item will be copied
NUM:2   ->      2 items will be copied
NUM:3   ->      3 items will be copied
NUM:4   ->      4 items will be copied
NUM:5   ->      5 items will be copied
NUM:6   ->      6 items will be copied
NUM:7   ->      7 items will be copied
NUM:8   ->      8 items will be copied
NUM:9   ->      9 items will be copied
NUM:10  ->      10 items will be copied

KEY: FilesReady
Source: "{0, plural, one {# file} other {# files}} {0, plural, =1 {is} other {are}} ready"

Result:

NUM:0   ->      0 files are ready
NUM:1   ->      1 file is ready
NUM:2   ->      2 files are ready
NUM:3   ->      3 files are ready
NUM:4   ->      4 files are ready
NUM:5   ->      5 files are ready
NUM:6   ->      6 files are ready
NUM:7   ->      7 files are ready
NUM:8   ->      8 files are ready
NUM:9   ->      9 files are ready
NUM:10  ->      10 files are ready

This has low priority comparing to other urgent issues but definitely worth trying and if someone gonna make a PR for this we are happy to help.

This has low priority comparing to other urgent issues but definitely worth trying and if someone gonna make a PR for this we are happy to help.

Personally, I try to find a compromise between speed, compatibility and simplicity. Personally, I am creating my own new project and trying to implement this feature.
In addition, I try to contribute to extensions in community projects.
Thus, in my personal development, I only share the main points of progress so that a working prototype already exists when I start development.

The main question about this implementation is if it will cause confusion. This is something we need translators to provide input on as they are the ones putting the time and effort into localizing Files.

We can also start with a couple strings as a test and see how it goes.

@XTorLukas do you want to open a PR using this method for a couple strings so we can get a feel for it?

@yaira2 why not, let's see if the translators know their stuff

I don't think we need string extension for this as Crowdin seems to support ICU message syntax.
The issue that should be fixed here is to have this syntax in en-US resources.
I'll open an issue for this and list up all strings that have to be inflected.
Btw, it looks like XCode has a brilliant feature for this type of thing called Grammatical Agreement: you can put ^[item](inflect: true) for singular and plural, ^[them].(agreeWithConcept: true) to match with other pronounce in other sentences and (agreeWithArgument) to match with other words in the same sentence, for dependency agreement. Looks nice but Crowdin will do instead.

@0x5bfa we already agreed to try this approach but if you have a simpler solution, please share the details here so we can track in one place.

@XTorLukas already posted it as a first solution to this, as a second solution to this they suggested to have an extension class. This issue is too crowded to list up.

Picked some up.
https://github.com/files-community/Files/blob/af0ab75334fc38273042201bc73119dd4e470b26/src/Files.App/Strings/en-US/Resources.resw#L387-L410
https://github.com/files-community/Files/blob/af0ab75334fc38273042201bc73119dd4e470b26/src/Files.App/Strings/en-US/Resources.resw#L429-L440
https://github.com/files-community/Files/blob/af0ab75334fc38273042201bc73119dd4e470b26/src/Files.App/Strings/en-US/Resources.resw#L450-L452
https://github.com/files-community/Files/blob/af0ab75334fc38273042201bc73119dd4e470b26/src/Files.App/Strings/en-US/Resources.resw#L471-L476
https://github.com/files-community/Files/blob/af0ab75334fc38273042201bc73119dd4e470b26/src/Files.App/Strings/en-US/Resources.resw#L1236-L1244
https://github.com/files-community/Files/blob/af0ab75334fc38273042201bc73119dd4e470b26/src/Files.App/Strings/en-US/Resources.resw#L1248-L1256
https://github.com/files-community/Files/blob/af0ab75334fc38273042201bc73119dd4e470b26/src/Files.App/Strings/en-US/Resources.resw#L1260-L1277
https://github.com/files-community/Files/blob/af0ab75334fc38273042201bc73119dd4e470b26/src/Files.App/Strings/en-US/Resources.resw#L1290-L1295
https://github.com/files-community/Files/blob/af0ab75334fc38273042201bc73119dd4e470b26/src/Files.App/Strings/en-US/Resources.resw#L1383-L1388
https://github.com/files-community/Files/blob/af0ab75334fc38273042201bc73119dd4e470b26/src/Files.App/Strings/en-US/Resources.resw#L1626-L1628
https://github.com/files-community/Files/blob/af0ab75334fc38273042201bc73119dd4e470b26/src/Files.App/Strings/en-US/Resources.resw#L2376-L2405
https://github.com/files-community/Files/blob/af0ab75334fc38273042201bc73119dd4e470b26/src/Files.App/Strings/en-US/Resources.resw#L2412-L2423
https://github.com/files-community/Files/blob/af0ab75334fc38273042201bc73119dd4e470b26/src/Files.App/Strings/en-US/Resources.resw#L2445-L2459
https://github.com/files-community/Files/blob/af0ab75334fc38273042201bc73119dd4e470b26/src/Files.App/Strings/en-US/Resources.resw#L2472-L2480
https://github.com/files-community/Files/blob/af0ab75334fc38273042201bc73119dd4e470b26/src/Files.App/Strings/en-US/Resources.resw#L2493-L2516

@0x5bfa can you open a PR for one of them and we can see how it goes (the Status Bar is a good one to start with)?
I'd like to keep this issue open as a backup plan.

MessageFormat https://github.com/files-community/Files/issues/15323#issuecomment-2104368104

I recommend using the MessageFormat solution, I'm trying it out, and it's versatile and can handle text formats like '{0}' or '{num}'
Alternatively, I could help with testing and deployment

@0x5bfa is already busy with other tasks so if you can help that would be great!

@yaira2 But I don't know the syntax of your code yet, so if a foundation is established, I could start helping.

Each area is different but I think we can start with the Status Bar.

I wrote a prototype of a possible implementation and tested this part for my region where more than two possible values are used:
 <data name="ItemSelected.Text" xml:space="preserve">
   <value>položka vybrána</value>
 </data>
 <data name="ItemsSelected.Text" xml:space="preserve">
   <value>položky vybrány</value>
 </data>

Change to only one pluralKey with prefix p
 <data name="pItemsSelected.Text" xml:space="preserve">
   <value>{0, plural, one {# položka vybrána} few {# položky vybrány} other {# položek vybráno}}</value>
 </data>

Results:

Maybe I'll create a PR for my solution

Looks good to me

Looks absolutely great. We can reduce a number of string resources.

I'll start working on finding all the text strings that will need to be reworked. I won't be opening any more PRs, just in the private branch for now, or if necessary I'll create a PR as a draft

Merging with #15503


not enough tests

@rultor release, tag is 0.0.2

@yegor256 Done! FYI, the full log is here (took me 5min)


[DoodStream] Add extractor from yt-dlp back-port

Boilerplate: mixed code, new extractor
## Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] Searched the bugtracker for similar pull requests
[x] Read adding new extractor tutorial
[x] Read youtube-dl coding conventions and adjusted the code to meet them
[x] Covered the code with tests (note that PRs without tests will be REJECTED)
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense, except where:
[x] I am not the original author of this code but it is in public domain or released under Unlicense (yt-dlp/yt_dlp/extractor/doodstream.py)

What is the purpose of your pull request?

[ ] Bug fix
[ ] Improvement
[x] New extractor
[ ] New feature

Description of your pull request and other information
This PR adds the DoodStreamIE extractor as originally proposed in #28008 and subsequently included in yt-dlc and yt-dlp.
The code is taken from the current yt-dlp extractor, adapted for the yt-dl platform, with these further fixes and improvements:

enforce vanilla UA Mozilla/5.0 to bypass CloudFlare blockage
extract from both embed (/e/) and player (/d/) pages to get additional metadata (duration, size, upload date)
raise error for Video not found title in the embed page
also recognise TLDs .so, .la, .pm, .sh, .ws, .one.

Other candidate TLDs are .com, .cx, or indeed [a-z0-9-]*.
Closes #28903.
Closes #28008.
Resolves #28883.
With suitable changes to the Generic extractor (eg, https://github.com/ytdl-org/youtube-dl/pull/28903/commits/7496a0401cc1f398bd6d72a566025de178e7871d in reverse), would handle #29628.

I copy and paste the code locally, but it does not work. Any suggestions?

FYI, the Doodstream JDownloader plugin does work:
https://github.com/mycodedoesnotcompile2/jdownloader_mirror/blob/main/svn_trunk/src/jd/plugins/hoster/DoodstreamCom.java
Also, so far, the current domains belong to DoodStream and can be used to watch videos (cf. https://easylist-downloads.adblockplus.org/easylist.txt, https://board.jdownloader.org/showthread.php?p=526326):
doodstream.com
dood.la
dood.pm
dood.re
dood.sh
dood.so
dood.to
dood.watch
dood.wf
dood.ws
dood.yt
doods.pro
dooood.com
ds2play.com

Can you also add a poophd.com, poop.media? I don't know if this is a mirror for the doodstream.com or not, but it looks very similar.

This extractor is not up to date....I have fixed it... Does it worth a pull request?

This extractor is not working...I have fixed it... Does it worth a pull request?

please add pull request


Issue with manually bootstrapped Angular app

Hi
For the past few days, I have been trying webpack with my current Angular/Express seed app. I got to the point where I was starting to apply production build transformations to the source, such as ngAnnotate and ngTemplates.
So, I got to this loader and installed it and, sadly, have been fighting against it for the past few hours. The loader adds correctly the template entries to the $templateCache service to the webpack bundle, and all is working expectedly.
However, thing is, my Angular app is bootstrapped manually. I need to make an initial request to the server to fetch Application-wide data, and should not be right to bootstrap my app before ensuring I do have that data.
And that's exactly the source of the problem. My manual-bootstrap script is (which is also my webpack entry):
main.coffee
'use strict'

angular  = require 'angular'
Dashboard = require './javascripts/app'  # Dashboard = 'dashboard'

# Great source on how to bootstrap an AngularJS app manually:
# https://blog.mariusschulz.com/2014/10/22/asynchronously-bootstrapping-angularjs-applications-with-server-side-data
angular.element(document).ready ->

  app          = angular.module Dashboard
  console.log(app)
  initInjector = angular.injector [ 'ng' ]
  $http        = initInjector.get '$http'

  # Fetch config data
  $http.get '/api/settings'

  # Include data in app
  .then (res) -> app.constant 'Settings', res.data

  # Bootstrap app.
  .then -> angular.bootstrap document, [ 'dashboard' ]

javascripts/app creates dashboard module, set its config and run blocks and exports its name
The console.log(app) prints the dashboard module object, where I can see that its _runBlocks array has only ONE element. Inspecting the element in the broswer's console I can quickly realize that its one element is the run block from javascripts/app.
So, the run blocks added by this loader are not set at this point and the app gets bootstrapped without the templates cache entries. This run blocks are actually set after the app has bootstrapped but they will never be run by that point.
And that's it. I don't know of any hack to make this work without coding any fix. My only suggestion is to augment the loader configuration with a "create" boolean flag that, if set, exposes a new module named %module=% with the cache entries. That way, I can include the module into my app and ensure that the entries are loaded when I need them.
I wanted to discuss this with you before starting to code a PR, so if you have another ideas, here I am ;)

Hi @andresmatasuarez,
I am using ngTemplate with manual bootstrapping in a few projects with no issues, so I don't think that's the problem.
Could you please also share your webpack config? Or better yet, a small sample project?
Cheers!

Sure
The project is this: https://github.com/andresmatasuarez/angular-express-passport-seed/tree/webpack
I'm migrating from grunt to webpack builds in the branch "webpack". You'll find the webpack.config.js in the root folder.
Please let me know if you need anything else

Hey, any news on this? have you had any time to check on this?

check if you're not trying to require from inside the templateUrl property
don't do this:
templateUrl; require('./someTemplate.html');

instead require from outside the module definition
hope it helps
check if you're not trying to require from inside the templateUrl property
don't do this:
templateUrl; require('./someTemplate.html');

instead require from outside the module definition
hope it helps

Will try it at home one of these days.
Just for curiosity, why is that not recommended?

It creates the run(function($templateCache) only at the directive initialization time and not at the actual module run time.
So you fetch the template url before it gets into the cache

@shairez thanks for helping.
@andresmatasuarez any updates?

Hi there. I have been reviewing this issue. Thanks @shairez for the unconditional help in advance.
I made the changes you guys suggested but I cannot make the thing to add the "angular.module('ng').run([$templaCache......" entries to any of my chunks.
I think they made some improvements, but I am still at it. I pushed the new code to the same branch (webpack) on my seed project. If you guys can review it again, I would be really grateful.

I placed some console.logs along this module code, and the whole string containing the "window.angular..." is constructed OK but somehow, it ends up not being added to my chunks-

Solved! My issue had nothing to do with this module, although I have already taken your advices as best practices  :smile: Thanks!!


Chore: add missing motionbuilder icon

Add missing motionbuilder icon
Testing Notes

Build the application addon with this branch
Make sure you include motionbuilder as part of the applications for your project
Go to AYON launcher
Moition Builder icon should be shown as expected

Please add it to public/icons/ too.

Please add it to public/icons/ too.

done!


Bug fix/graph node keep all flags on clone

Scope & Purpose
Fixed a situation where GraphNodes during clone operation drops the isSmart and isDisjoint values.
This could show up on more complex queries if there are alternative plans to evaluate.
This has the side-effect that a plan could be selected that does not make use of the Sharding Information.
This situations can only be triggered by Enterprise version.

[x] :hankey: Bugfix (requires CHANGELOG entry)
[ ] :pizza: New feature (requires CHANGELOG entry, feature documentation and release notes)
[ ] :fire: Performance improvement
[ ] :hammer: Refactoring/simplification
[ ] :book: CHANGELOG entry made

Backports:

[ ] No backports required
[X] Backports required for: (3.8 maybe earlier tbd.)

Related Information
(Please reference tickets / specification / other PRs etc)

[ ] Docs PR:
[ ] Enterprise PR:
[X] GitHub issue / Jira ticket number: DEVSUP-838
[ ] Design document:

Testing & Verification
(Please pick either of the following options)

[ ] This change is a trivial rework / code cleanup without any test coverage.
[X] The behavior in this PR was manually tested
[ ] This change is already covered by existing tests, such as (please describe tests).
[X] This PR adds tests that were used to verify all changes:

[X] Added new C++ Unit tests
[ ] Added new integration tests (e.g. in shell_server / shell_server_aql)
[ ] Added new resilience tests (only if the feature is impacted by failovers)

[ ] There are tests in an external testing repository:
[ ] I ensured this code runs with ASan / TSan or other static verification tools

Link to Jenkins PR run:
Documentation

All new features should be accompanied by corresponding documentation.
Bugs and features should furthermore be documented in the CHANGELOG so that
support, end users, and other developers have a concise overview.

[ ] Added entry to Release Notes
[ ] Added a new section in the Manual
[ ] Added a new section in the HTTP API
[ ] Added Swagger examples for the HTTP API
[ ] Updated license information in LICENSES-OTHER-COMPONENTS.md for 3rd party libraries

External contributors / CLA Note
Please note that for legal reasons we require you to sign the Contributor Agreement
before we can accept your pull requests.

The Jenkins has shown an unrelated issue, which is most likely due to some hw configuration.
Will be investigated separately.


Fix tests when running with ClickHouse cloud instance

Describe the bug
When running the tests with a ClickHouse cloud instance, 3 tests are failing: TestModelGrants.test_view_table_grants, TestSeedGrants.test_seed_grants and TestPersistDocsColumnMissing.test_missing_column.
Steps to reproduce

Configure your test.dev file with a ClickHouse cloud instance
Run pytest tests

Expected behavior
All tests should pass.

All tests are passing now for the job cloud_tests.


Clean up cmdline option tab-completion code

Fix manual array size calculations to just use ARRAY_LENGTH().
Fix unintentional typo in comments due to copy-paste error.
Fix assert_equal() usages to pass the expected value to first parameter instead of 2nd one to avoid confusion.
Fix misc signed vs unsigned warnings.

Per this comment (https://github.com/vim/vim/pull/13182#issuecomment-1741975961), the last commit also introduced some signed vs unsigned warnings. Added a commit to address that here. Apparently Appveyor CI build warnings are not considered errors.

I guess you now added some style errors.

I guess you now added some style errors.

Should be fixed

Feel free to combine with #13249 as it's related.

thanks, will do!


override the match function in createHandler class.

What:
I propose providing a way to supply an alternative function to match the endpoints in the SW. which opens the app for customization according to the open/closed principle.
Why:
I am trying to achieve a very similar behavior as in this snippet: https://github.com/GoogleChrome/samples/blob/gh-pages/service-worker/mock-responses/service-worker.js#L24
I need to only serve the mock for some of the endpoints having the X-Mock-Response and regardless of the API base domain URL. which allows me to use both the live API and mock API at the same time.
How:
add additional optional param to the createHandler called matchResolver ( you might want to send more than just the URL param to be but rather the complete request metadata. or adding this same param to the start function and using it inside the interceptRequest function.

Hello, @osmancode. That sounds like a great suggestion.
Technically, it should be possible to achieve this at the moment by using a wildcard ('*') to match all resources, and providing a header presence check:
import { composeMocks, rest } from 'msw'

const { start } = composeMocks(
  rest.get('*', (req, res, { json }) => {
    if (req.headers['X-Mock-Response']) {
      // In case the header is present, mock the response
      return res(json({ mocked: true }))
    }

    // Perform the original request otherwise
    return fetch(req)
  })
)

start()

I am not fully sure about the fetch() part, as the recommended way to get the original response. However, that's how it's achieved in the Mock Service Worker.

Implementation details
I think it would be suitable to adjust the call signature of the handler functions passed to composeMocks to be more generic, while those handlers grouped under the rest namespace would be a high-order functions with certain predicates built in (matching a fixed method and URL path). Referring to this interface:
https://github.com/open-draft/msw/blob/3bb93d7d53c7d8334f2b432a0ddf8384d2648af3/src/handlers/createHandler.ts#L32

Schema entry getter (handler) should be a function of request that returns Boolean (actual request match verdict) and executes a resolver function when the request matches.

type SchemaEntryGetter = (req: Request, resolver: ResponseHandler) => Boolean

Standard rest namespace method then could be implemented as abstractions over the aforementioned generic schema entry getter function:

// rest.ts
export const get = (mask: Mask, resolver: ResponseHandler): SchemaEntryGetter => {
  return (req) => {
    // each of the "rest[abc]" methods can be generated, as they follow the same
    // request method matching wrapper on top of a resolver execution.
    if (req.method === 'GET') {
      resolver(...)
    }
  }
}

I've added the support for this. Please see how to declare custom request handler. I'm planning to publish this today.

WOW, thank for the quick response. I will upgrade and let you know.
Thanks.

@osmancode, hi! Please, did those changes help you achieve what you wanted?


Fix incorrect ollama port in ollama run.yaml template

Summary:
Default port number was not correct ollama port number 11434.

Yes #468 is fixing this deeply


Installing Swift from .swift-version installs a version of clang that messes up many other tools

Describe the bug
Swift includes a clang binary which Mise allows to shadow the system clang binary, causing chaos.
To Reproduce

Create a file .swift-version containing the string 6.0.2
Create a mise.toml file containing:[tools]
ruby = "3.3"

mise activate fish | source (I happen to use fish)
mise install swift
mise install ruby

It will fail on the Ruby installation because Swift includes a clang binary, and its header paths aren't configured correctly.
It will also cause other things to fail when attempted in tasks, but this is the most obvious problem.
Expected behavior
A clear and concise description of what you expected to happen.
Honestly I'm not sure. It seems like you'd want tools to be able to install C compilers.
A decent band-aid would be to be able to somehow disable Mise paying attention to .swift-version files, since I don't need Swift for Mise.
mise doctor output
version: 2024.12.5 macos-arm64 (2024-12-10)
activated: yes
shims_on_path: no

build_info:
  Target: aarch64-apple-darwin
  Features: DEFAULT, NATIVE_TLS
  Built: Tue, 10 Dec 2024 18:39:48 +0000
  Rust Version: rustc 1.83.0 (90b35a623 2024-11-26) (Homebrew)
  Profile: release

shell:
  fish
  fish, version 3.7.1

dirs:
  cache: ~/Library/Caches/mise
  config: ~/.config/mise
  data: ~/.local/share/mise
  shims: ~/.local/share/mise/shims
  state: ~/.local/state/mise

config_files:
  ~/.config/mise/config.toml
  ~/dev/mise-test/.swift-version
  ~/dev/mise-test/Gemfile
  ~/dev/mise-test/mise.toml

backends:
  aqua
  asdf
  cargo
  core
  gem
  go
  npm
  pipx
  spm
  ubi
  vfox

plugins:
  swiftformat  https://github.com/younke/asdf-swiftformat.git#8f0e34d
  swiftlint    https://github.com/klundberg/asdf-swiftlint.git#79f2c6e
  tuist        https://github.com/asdf-community/asdf-tuist.git#bffa4c9
  usage        https://github.com/jdx/mise-usage.git#fe3888a

toolset:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>     (missing)
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
env_vars:
  MISE_SHELL=fish

settings:
  experimental  true ~/.config/mise/config.toml
  experimental  true ~/dev/mise-test/mise.toml

Additional context

Ah, I found idiomatic_version_file_disable_tools = ['swift']. (Mise has a LOT of options!) This will work for now, but is worth thinking about, maybe.


The JSON DDL request failed with the following error: Failed to execute a JSON script. Error returned: This database contains features that are not supported by the current edition of the server or the compatibility level of the database.

[Enter feedback here]

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

ID: fb6c1de7-a04c-f08e-adab-4733030668a1
Version Independent ID: d5e17386-38ff-d3de-ef43-f734bc2d4748
Content: Azure Analysis Services database backup and restore
Content Source: articles/analysis-services/analysis-services-backup.md
Service: azure-analysis-services
GitHub Login: @Minewiskan
Microsoft Alias: owend

@iabellom - Thanks for posting the query. We are looking into it and will get back to you soon.

@iabellom - I looked at previous issues from customers on similar errors. Can you please share the database details and compatibility level selected. Please retry with different compatibility level and let us know if it helps.

@iabellom - I looked at previous issues from customers on similar errors. Can you please share the database details and compatibility level selected. Please retry with different compatibility level and let us know if it helps.

Thanks for response. The SSAS Server (instance) AND Database SSAS (Tabular Model) : 1200 compatibility level. this error is shown when a restore of an ssas database that was backed up on the same server is done. (SQL server 2017 Enterprise Edición)

@iabellom - Thanks for sharing the details. Can you please change version to 1500 and suggest if that works.

@iabellom - Thanks for sharing the details. Can you please change version to 1500 and suggest if that works.

this error is shown when a restore of an ssas database that was backed up on the same server is done.

@iabellom - Thanks for sharing the details. Can you please change version to 1500 and suggest if that works.

Can I change the compatibility of a server and a database that are in production?
How can I do it? I have never changed the compatibility of an SSAS server

@iabellom - Please refer this document to update compatibility level in Azure Analysis Services model. Let us know if it works.

I change version 1400 in the model (SSDT SSAS Project) and show this error (try deploy): An unexpected error occurred (file 'tmtransaction.cpp', line 342, function 'TMTransaction::VerifyEditSchemaAllowed').

@HarithaMaddi-MSFT

@iabellom : consulte este documento para actualizar el nivel de compatibilidad en el modelo de Azure Analysis Services. Permítanos saber si funciona.

Please Help me again


Cleanup AttachmentPreview, adding Carousel

Apollo 655
Followup to #782

Popups on v.next prior to #782
Popups on this branch

Looks great. I like the scroll animation to the beginning of the list.

Removed an extra character


DOS File Provisioning Plugin Should Have Configurable Preferences

Feature Request
The DOS File Provisioning plugin should have a configuration option to specify what its preference is if the data object has more than one url. Currently, the plugin just takes the first url that a Dockstore file provisioning plugin supports.
The simplest option would be to specify protocols in order of preference, e.g., prefer s3 over gcs, or vice-versa.
More complex options could try to specify a regional preference, assuming we could determine a region from the URLs, e.g., prefer us-west over us-east.
┆Issue is synchronized with this JIRA Story
┆Sprint: Lighthouse Sprint 36 Jack
┆Issue Number: DOCK-14
┆Epic: Improve DOS File Provisioner

➤ Ryan Bautista commented:
Note to self:
PRs to Dockstore will not be reviewed until Denis comes back from vacation. Cannot move forward with new PR to official DOS plugin repo due to code changes in Dockstore that need to be reviewed first.


Link gnome terminal color schemes

I'm still figuring out my linux setup, so now I ported base2tone to the gnome terminal. This PR just links to the gnome terminal theme repo.
(Thanks again for base2tone, I have spent so many hours using your color themes!)

Great, thanks!


[Fix] Fixed looping over Set to be compatible with old browsers

Uses Set.foreach to loop over it, instead of less supported for .. in

Fixes https://github.com/playcanvas/engine/issues/3658
also removes 2 lint warnings

It's worth updating https://github.com/playcanvas/engine/blob/dev/.github/CONTRIBUTING.md regarding this particular case.

Wow, lots of that doc should be deleted now. For example, arrow functions should be used now so using self = this no longer applies. A lot of the formatting recommendations are enforced by ESLint, so again, a bit redundant. We should probably start recommending private class member/function usage too.

Wow, lots of that doc should be deleted now. For example, arrow functions should be used now so using self = this no longer applies. A lot of the formatting recommendations are enforced by ESLint, so again, a bit redundant. We should probably start recommending private class member/function usage too.

Yep, worth updating that doc frequently, as it is the central place of communicating about norms and styles.
Regarding private static methods/properties on class - be careful, as it is only available in iOS 14.1. So if it is used in examples code - it can lead people to use it in production code.

Yeah, I was just thinking of using it in core engine source, which would then be transformed by Babel of course.


Update Namshi/jose to 6.1

Hi,
Test seems to pass with this update,
Namshi/Jose 6.1 is using phpseclib 2.0.
Which is nice for using https://github.com/google/google-api-php-client combined with you bundle.

Well, isn't it a problem if you bump PHP requirements to at least 5.5 to be compliant with Jose 6.1 ?
Right now we can't use Google api php client because of your bundle that require a previous version of Jose which requires phpspec lib <2.0. Yet google api php client requires phpsepct lib >=2

Hi, for now can't you just run composer update lexik/jwt-authentication-bundle --with-dependencies ? It should update the namshi/jose version to the latest 6.* tag (6.1.1 right now).

Hi, I used your command, and it works fine, thank you for your help @slashfan


Fix options of go generation command

Without this option some files were structured differently when regenerating. So adding this for consistency.

seems like you're the one who removed it, maybe you accidentally removed it last time? if so, totally +1
https://github.com/netlify/open-api/pull/200/files#diff-7017bb2aedbbeb1e05b6fbffb0f46f41R6

Yeah, seems like I did accidentally remove it. 🙈


resize component related revisions

I didn't attach screenshots, since layout looks the same

Thanks, I'll merge it in later this week.


  We should delete those tags, as they may confuse people.

Fixed.


bug: angular-openlayers marker window click not working

Type: bug
Ionic Version: 1.x
Platform: mobile webview
I created a simple angular-openlayers map in an ionic app, i put markers that, when clicked, a window appears with a link that opens another page; the issue is that links inside the marker window do not work. I checked deeply into this and realized that any click event (or touch) made inside the marker info window is listened. Here is an example in codepen: http://codepen.io/Orion390/pen/rrrQxm
Update: this one actually works http://codepen.io/Orion390/pen/RGGZOE , joust add a marker on the ng-init, does not solve the problem, markers added still don't get the click event, but may show an issue with the marker windows rendering behind something that does not let them get the click event (?)

Nix found a workaround here: http://stackoverflow.com/questions/39541164/link-in-angular-openlayers-directive-marker-message-not-working/
Still seems like a compatibility bug between angular-openlayers-directive and ionic, as in angular-googlemaps works perfect.

Hello, thanks for opening an issue with us! After reviewing this it seems like more of an issue with the angular-openlayers library and not an issue with Ionic. Because of this I am going to close this issue for now. Thanks for using Ionic!


Message handler receives METHOD_RETURN message despite match_rule for type=signal

This may be me misunderstanding the message handler but I'm still confused.
My code is as follows:
from dbus_next.aio import MessageBus

import asyncio

loop = asyncio.get_event_loop()

async def main():
    bus = await MessageBus().connect()

    def mess(message):
        for att in dir(message):
            if not att.startswith("_"):
                print("{}: {}".format(att, getattr(message, att)))

        print()

    bus._add_match_rule("type='signal',sender='org.mpris.MediaPlayer2.vlc',member='PropertiesChanged',interface='org.freedesktop.DBus.Properties',path='/org/mpris/MediaPlayer2'")
    bus.add_message_handler(mess)

    while True:
        await asyncio.sleep(1)

loop.run_until_complete(main())

While this runs correctly and does give me the messages I want. When I first run it, I also get this output:
body: []
destination: :1.113
error_name: None
flags: MessageFlag.NO_REPLY_EXPECTED
interface: None
member: None
message_type: MessageType.METHOD_RETURN
new_error: <function Message.new_error at 0x7fad51ed0160>
new_method_return: <function Message.new_method_return at 0x7fad51ed01f0>
new_signal: <function Message.new_signal at 0x7fad51ed0280>
path: None
reply_serial: 2
sender: org.freedesktop.DBus
serial: 3
signature:
signature_tree: <dbus_next.signature.SignatureTree object at 0x7fad5173ef40>
unix_fds: []

None of these properties match my rule so I'm not sure why I'm receiving it.
I can test for the message_type in the handler but I would have preferred the handler not to receive this message at all.
What have I missed?

Don't use _add_match_rule(). It's private and undocumented. In the future I might add this method to the public interface and it will work like you expect. Add the match rule manually like this:
    reply = await bus.call(
        Message(destination='org.freedesktop.DBus',
                path='/org/freedesktop/DBus',
                member='AddMatch',
                signature='s',
                body=[f"sender='':23'"]))


Fix: carbon components overrides

oh the "Fix" needs to be lower case "fix", otherwise release-please can't recognize it

What are the objectives of this PR? Are the added styles for everyone or just team alliance?
Ideally I would like to keep this file as it is so SPAR does not have to do a lot of work to refactor styling on every page.
Here's a few examples on how the current changes affect SPAR:

the second login button is bigger

the margin is huge for dashboard

spaced out icons

cc: @MCatherine1994


fix: #142 repository getToken should return an optional

Closes #142

Great contribution, thank you :)


Code analysis in progress but doesn't start

Environment data

Language Server version: <IP_ADDRESS>
OS and version: Ubuntu 19.10
Python version (& distribution if applicable, e.g. Anaconda): Poetry Python 3.6.9

Expected behaviour
Jump to definition of code when pressing F12.
Actual behaviour
Jump to code when that code is 1 step away from my own code, but no further.
Example:
I can jump to the Django settings on this line:
from django.conf import settings
Which jumps me to django/conf/init.py: ````settings = LazySettings()```
But I can't jump further to LazySettings
When I have the __init__.py open , then close VSCode and reopen VSCode,
then it works as expected. However I can only jump to all things referenced in
the __init__.py and not further.
It works as expected when I have "python.jediEnabled": true in my settings.json
Logs
Log output: https://gist.github.com/rvanlaar/c897c885d5d5a128fc0edefef4e189a8
Code Snippet / Additional lnformation

This is the repository and all settings used:
https://github.com/rvanlaar/bug-vscode

Duplicate of #840. This is currently by design; we don't store information for all features in library code.


VSFile for git

In scope there is fuzzy.GitFile() in addition to fuzzy.File(). It would be nice to have an equivalent in vimsuggest. VSGitFind or something like that.
At the moment, I'm doing this:
function! DoFZFind()
	if !empty(glob(".git"))
		let g:vimsuggest_fzfindprg = 'git ls-tree --full-tree -r --name-only HEAD'
		call feedkeys(":VSFind ")
	else
		let g:vimsuggest_fzfindprg = 'find $* \! \( -path "*/.*" -prune \) -type f -follow'"
		call feedkeys(":VSFind ")
	endif
endfunction
nnoremap <C-p> <ESC>:call DoFZFind()<CR>

Which is fine, but it seems a bit complicated to have in .vimrc file.
In fact something like a VSSmartFind would also be a nice addition. I'm imagining that this would behave similar to my DoFZFind() function I quoted above. ie. Fuzzy search for git files if the current directory contains a .git file and a normal file search otherwise.
Thanks for these plugins (vimcomplete, vimsuggest, etc.). They're great!
Steve

I think you have a small typo in your snippet :
- if !empty(glob(".git"))
+ if !empty(glob(".git/*"))

I think you have a small typo in your snippet :
- if !empty(glob(".git"))
+ if !empty(glob(".git/*"))

or maybe isdirectory(".git") is enough 99% of the time

Maybe isdirectory() is a better way of doing it. It makes the intention of the code more clear

Sorry for late reply. I added :VSGitFind. Would something like this work?