Enums improperly stemmed and conflicting

A bug I encountered while trying out a recent version of the code on some Google-internal protos. Consider the following enum:
enum FooBar {
  FOO_BAR_BAZ = 0;
  QUUX = 1;
  BAZ = 2;
}

Our current stemming logic produces the following Swift enum cases:
baz = 0
quux = 1
baz = 2

Obviously, this doesn't compile. (Why would someone design an enum like that to begin with? 🤷♂  But that ship has already sailed.)
So, our stemming logic needs to change. Some options:

Instead of stemming each case in isolation, stem in the context of all the cases and check for conflicts.
Always stem "all-or-nothing", the logic we had before.
Something else.

Ouch!  That's a really great find.
I've not dug deeply into how Swift handles this when translating Obj-C enums.  That might offer some ideas.

I'm going to go back to the C# generator to check out they do the stemming again.  That's what I based the last change on.
The landmines in all this are as enums evolve.  The different options can mean code breaks because the cases change name.  Or worse, if the BAZ case got added later, it would take over the short name and all existing code would suddenly use that instead of the FOO_BAR_BAZ value they were using when stemming was working for this enum.

Here's how C# deals with this -

When generating the enum, they track the names generated, and if they get repeats (because of trimming or camel case transforms (FooBar & foo_bar would both end up as FooBar)), they add underscores to the end until it becomes unique.
C# only generates for files with proto3 syntax.  This means the only default value for a field is zero, and it allows them to never have to generate the the enum value names expect when generating the enum (as they never need to generate the name, they can hard code the default to zero).

The second isn't a big deal, it just means we need collision detection outside of the enum generation so we always have the short names correct.
I'm not a big fan of the first (appending underscores), as it is order dependent.  If the proto file has:
enum BLAH {
  UNSET = 0;
  FOO = 1
  BLAH_FOO = 2;
}

and for whatever ever reason, they go and reorder it:
enum BLAH {
  UNSET = 0;
  BLAH_FOO = 2;
  FOO = 1
}

The next generation would swap what is .foo and .foo_.  Which seems rather risky due to the impact on code using things.
So, first, do we care about the camel case transform collisions at all?  FOO_BAR and FooBar?
Then for prefix handling, the options seem to be:

Only prefix strip if the result of the strip isn't another value.
Only do prefix stripping when all the values (including aliases?) have the prefix.

The footnote on both of the above is we might be able to special case things around aliases.  In the FOO_BAR_BAZ and BAZ case, if they both have the same value, we might be able to just expose baz, and only worry about the duplicate names in our text parsing support.  The second enum value isn't really needed in the Swift enum.  Hopefully that wouldn't confuse any developers.
There is one other potential in all of this as developer evolve proto files (and remember just because they are using SwiftProtobuf, they might not control the proto file, it might come for a service they want to talk too, and hence don't control the choices for the enum values) – Any form of stripping can result in the case we generate changing because of new addition.  i.e. - If the enum used to have FOO_BAR_BAZ and now gets BAZ, what is .baz will change; any code written using that will suddenly be using the new value and there is nothing we can do about it.

Looks like protoc is working to nail things down around this:
https://github.com/google/protobuf/blob/master/src/google/protobuf/descriptor.cc#L4862-L4884
So a proto3 syntax file, this can't happen, so the issue is only within proto2 syntax files.  Sync both syntaxes are valid and support, this doesn't mean the problem space will go away; the proto2 syntax support for it just means they didn't want to break existing files 😦 , but that the fact that it triggers a warning may mean we are more ok with some crappier choices for dealing with this.

I'm not a big fan of the first (appending underscores), as it is order dependent.

What if we just always pre-sort the cases in numerical order for the purposes of underscoring?

What if we just always pre-sort the cases in numerical order for the purposes of underscoring?

The catch is aliasing; the "first" one is real one, and the later ones are the "aliases".  So sorting might work if we also special case aliases.

Right, of course.
What about just appending the numeric value itself?
enum BLAH {
  UNSET = 0;
  FOO = 1
  BLAH_FOO = 2;
}

becomes
enum Blah {
  case unset = 0
  case foo_1 = 1
  case foo_2 = 2
}

Sure, it's ugly, but it'll survive reördering and doesn't seem worse than arbitrarily adding underscores.

What about just appending the numeric value itself?

That's the best idea so far.

And special case aliases to only provide one value when they would collide after stemming?

And special case aliases to only provide one value when they would collide after stemming?

That sounds like it would work, since they'd still end up with the same name + number.

If we want to distinguish "real" vs. "alias" values, then it seems we have to do this in phases:

First, consider only the "real" values.  If any of those collide with each other, suffix both colliding values with the numeric value.  (We know this will make them unique.)
Second, add the alias values.  Suffix any colliding aliases with a number.

Hmm...  the second step here isn't guaranteed to make them unique; what's the next step?

Ah.  Of course.  Any colliding aliases would have same name + number and can be simply dropped.

Right, if the alias and master map to the same thing, don't generate anything in Swift and just support it in the text formats.

Two wrinkles -
Enums are Int32 (not UInt32), what should we do if the value we need to append to the name in negative?  Extra underscore?  BLAH_FOO = 1; FOO = -1; –» .foo_1 and .foo__1 or something else?
When the alias would shorten to the same thing in Swift, we were saying we could drop it, what if that alias had comments in the proto file?  Do we just not generate anything (and lose those comments), or should we still generate something?  Comments and some canned comment about why there is no symbol for it?  Put this into the appended underscore case, and generate a name for it with the comments?

-1 -> _1 or n1 or neg1 all seem reasonable.
Re: comments, I'd recommend dropping them. If the comments were specifically tied to an alias that we're not generating, it seems potentially misleading to attach those comments somewhere else.


Protective shield for Player

I still need to remove the temporary way to activate the shield, but i will do that when you have tested it.

You need to put your new class Shield in the my_sprites.my. The Class you edit is also in my_sprites.my.


Concurrent requests without Send requirement for single threaded runtimes

In #284 there is some discussion about having #[tower_lsp::async_trait(?Send)] which I presume is a way to not have the Send requirement on futures. That said, the change seems to execute the requests sequentially and have mutable methods. How feasible would it be to have the option to not have the Send requirement and still execute requests concurrently for single threaded runtimes? Then the client can decide which requests should run sequentially or on a separate thread and also the code consuming this can use Rc and RefCells instead of needing to use Arc and Mutex.

Thanks for opening this ticket, @dsherret! Just to clarify: the prototype introduced in #284 does execute requests concurrently wherever possible, provided their handlers take &self. However, some methods that necessarily mutate state (especially the handlers for on opened/closed/saved/changed events etc.) have been changed to to take &mut self, ensuring they are always executed sequentially and in a coherent order. Is this not sufficient?

Maybe this is just an issue with how our implementation is designed and we're doing it wrong, but it wouldn't work for us because within requests like did_open we sometimes call into the client and we never want to call into the client while being in an &mut self state because the client could call back into the server and cause a deadlock.
https://github.com/denoland/deno/blob/3a46a89e34aab3bea9f555ef6c80af33a7bc2194/cli/lsp/language_server.rs#L2897-L2900
All this said, having it be Send is more a nice to have.

Would the client ever call back into the server while the server is held exclusively in a &mut self method, though? I haven't found any instances in the LSP specification where this is ever the case. Perhaps you could give an example?

FWIW, the necessary bar for marking a LanguageServer trait method as &mut self under the proposal described in #284 is very high. Specifically, it would have to be a request or notification which necessarily blocks user input and needs to be fully processed before server-side work can continue further. The did_* trait methods seemed to fit this bill IMO, though I could be wrong about this. Servers are still permitted to send requests or notifications back to the client in these method handlers, but I don't think we can reasonably expect the server to be able to respond to any concurrent requests until its internal text document state has been fully synchronized with the client.

(Sorry, I said we never want to call back into the client in an &mut self, but actually we don’t want to call into the client even in a &self in case the client calls into a &mut self)
Basically, the spec can say whatever it likes to prevent this, but what happens in practice with clients is not always according to the spec. We previously had deadlocks occurring because of this scenario, so we just never do it anymore and no longer have issues related to that for what I know (that said, the code previously used an async Mutex for every request instead of an async RwLock, so that was probably the main reason).

I see what you mean, but none of the proposed &mut self methods would ever make sense to be called again by the client in direct response to a server-sent request (&self or &mut self). Such cases cannot happen in practice unless requests are being sent to the server in a wholly nonsensical order from the client. Let's see how this might play out in practice, looking at the proposed changes described in #284 for reference...
Server lifecycle messages
Methods like initialize, initialized, and shutdown are pretty obvious candidates for &mut self access to server state; since they inherently require exclusive access to the server state and are only called once during the application lifecycle, it makes sense to process these sequentially and without any other &self methods running concurrently.
Considering that initialize is an inherently serial method and the server is allowed to reject all messages sent before or during its execution with error code -32002 (server not initialized) until the server has initialized, and shutdown is allowed to reject all methods sent before or during its execution with error code -32600 (invalid request), I think all three methods would benefit from taking exclusive access to self.
Text document & workspace state change notifications
Whether the did_.* methods should be marked &mut self here is less clear cut, but I think the case in favor of this is still strong. These notifications are emitted by the client in response to a text document or workspace state change that occurred on the client side (there is a separate set of requests for synchronizing state changes from the server side to the client).
The client is the one notifying the server of the state change, not the other way around. This means it should already have all the information it needs on hand already and should be able to respond immediately to any request the server sends, thereby avoiding the trap described in https://github.com/ebkalderon/tower-lsp/issues/386#issuecomment-1470454747. This means it is impossible for the following example flow to ever happen:

Client calls did_open(&mut self) on the server.
Server sends request "foo" to the client and expects a response before processing further incoming requests.
Client sends another request to the server to gather some information in order to respond to "foo".
Server deadlocks, because did_open(&mut self) is still processing and therefore can't respond to request "foo."

Let's imagine that the client sends multiple did.* notifications in a row, responding to any server-to-client requests in between. This should be fine, as the handlers for these notifications take &mut self and will be processed serially on the server side.
As a bonus, this serial processing guarantees that any and all &self methods ahead in the request queue will have resolved and responded to the client by now. Any spawned background tasks feeding data into these &self methods which may have temporarily acquired exclusive access to shared state should have let go of the Arc<RwLock<T>> or Rc<RefCell<T>> at this point. If they haven't, then that's a logic error in the server implementation itself... This would lead to a deadlock regardless of whether you're using building your server on top of tower-lsp, std::thread, or something else.

Aside: For the most part, any language server which permits concurrent processing of did.* document state change notifications is very likely to encounter deadlocks in some form and/or get out of sync with the client state over time. Generally speaking, language servers want to handle these incoming textDocument/did* notifications on the main loop as early as possible before processing other incoming requests to ensure the state changes have been fully applied and in the correct order.

All the above points considered, I'm fairly confident that these methods should be fine to mark &mut self and this change would not increase the risk of deadlocks for users. In fact, I suspect it might decrease it slightly (though is claim is entirely speculation on my part and not based on anything empirical; I'd like to see actual measurements confirming or denying this either way).
Execute command request
The final method marked &mut self in the proposal linked in #284 is the workspace/executeCommand request. This one I'm really not confident about, and I'm definitely open to leaving this one &self if there are any drawbacks to doing so.
The rationale behind this change stems from the presumption that command execution is expected to be synchronous: the command being executed might update state on the server side, or it might not. If the state is updated, then processing this request serially and exclusively relative to other pending requests is important (just like the did_.* methods described above), especially since the server will need to call the workspace/applyEdit command back on the client to synchronize these state changes back before workspace/executeCommand can respond.
Other candidates?
Looking back at this helpful suggestion on Reddit by @matklad, I suspect there may be other LanguageServer trait methods that would also benefit from taking mutable reference to self. However, I'm not entirely sure what these methods should be and whether these changes would suit all tower-lsp users uniformly, so I've avoided taking any stances on that for now.

@ebkalderon sorry for my delay responding here and thanks for the overview! I think you're right that having &mut self (especially the initialization methods) is probably ok. That said, I think it is nice for consumers to have control over this if they'd like to and not have the Send requirement.

In the meantime, I'd be happy to split out the work in https://github.com/ebkalderon/tower-lsp/issues/284 into two separate parts if that would help? That is, I could draft a release of tower-lsp which simply drops the Send bound on all futures while leaving all LanguageServer trait methods &self for now (addressing the direct concern of this ticket) and then we could revisit the issue of &mut self receivers separately.

That would be extremely helpful! It would be great for us to be able to drop the Send requirement because we will then be able to get rid of a lot of needless mutexes.


don't use default rg in test

which issue is this PR trying to resolve.
If the list command has two operation listbysubscription and listbyresourcegroup inside it. -g "" will only test the listbysubscription.
Is this what they wanted?

Hi @qiaozha ,
It's for #337.
Yes, this PR add -g ""  for those example don't provide any resourcegroup, so that we can explicitly tell that the test is for list-by-subscription.
If we need to test list-by-resource group, we can use the example in which a resourcegroup is provided.

okay, approved.


chore: Start upgrading CRA to latest.

adding PR for exploratory work on different build tool acrobatics

Looking at webpack's bundle and this doesn't seem right 😅
/***/ "../../packages/playback-core/dist/index.cjs":
/*!***************************************************!*\
  !*** ../../packages/playback-core/dist/index.cjs ***!
  \***************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

"use strict";
module.exports = __webpack_require__.p + "static/media/index.dceebc1c266d5806e2b4.cjs";

/***/ }),

It looks like static/media/index.dceebc1c266d5806e2b4.cjs contains the file as expected but it isn't loading it for some reason and instead just returning that playback-core exports a single default string that's /static/media/index.dceebc1c266d5806e2b4.cjs

It seems like it doesn't know about .cjs filetypes and is treating it as an external resource.

Also, running into an issue where media-chrome is imported in cjs-land but it's esm-only right now.

Yup, CRA doesn't like cjs files https://github.com/facebook/create-react-app/pull/12352

Made a PR against this branch which has some fixes that get things working: https://github.com/cjpillsbury/elements/pull/3
It brings in #204, renamed the commonjs build files to .cjs.js, adds esm builds to the react projects. This makes the web-component files work, but the react projects are still broken with the following error:
Uncaught Error: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.


Rule request: Warn when second dot on numeric literal causes member access expression

Summary of the new feature
See: #15756 Unquoted numbers with two or more dots should cast to a [version] rather than $Null
When an unquoted number contains two or more dots, the second dot is seen as a member separator (rather than an illegal addition decimal separator) which causes the syntax unexpectedly to return $Null without notice:
$Version = 2.0.9
$Null -eq $Version
True

What is the latest version of PSScriptAnalyzer at the point of writing
1.19.1

For reference:
> { $v = 2.0.9 }.Ast.EndBlock.Statements[0].Right.Expression.GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     False    MemberExpressionAst                      System.Management.Automation.Language.Exp…

For a (PowerShell) prototype rule, see the PossibleUnquotedNonnumerical rule at https://github.com/iRon7/PSRules


[AutoPR security/resource-manager] Add subscription scope to assessment metadata API

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/6445

(message created by the CI based on PR content)


ci: additional permission to push packages

:tada: This PR is included in version 1.8.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Introduce DNS options

implementing #453
Doc and Schema adjustments are still missing.

@hellt do you mind taking over the doc and schema part?!

@steiler thanks
I have done some renaming, and added docs/schema
I think what is needed is a test in the 01-smoke suite to check that it works

Alright @hellt, take a look at the tests.

Thanks @steiler
LGTM


Add filter to exclude specific location header in scan results

This update introduces a check within the scanDirect function that filters out scan results if the Location header in the HTTP response equals https://jio.com/BalanceExhaust.
Purpose: To prevent irrelevant or unnecessary results from being included in the final scan output.
Changes:Added logic to skip logging and storing results for hosts that redirect to https://jio.com/BalanceExhaust.
Impact: This change ensures that the scan results are more relevant by excluding specific unwanted redirects.
This should make the scans more efficient by focusing on meaningful results and excluding known unimportant redirects.

This is diffrece after this update. result screen for JIO india users look clean, and unwanted results will not show in results


Add a tags variable to tag created resources

Are there any dependencies (software or human) that need to be addressed before this PR is merged?
Nope!
What ticket(s) or other PRs does this relate to?
https://app.clubhouse.io/highwing/story/1892/vanta-inventory-items
What was the problem or feature?
Lambdas using this module didn't have a way to create tags
What was the solution?
Create a way to add them!

[x] Security Impact has been considered
[x] Network Impacts have been considered

Where does this work fall on the Good - Fast spectrum?
💨
Any additional work needed as a result of merging this PR (deploy steps, other PRs, etc.)?
We'll need to update users of this module and specify the relevant tags for them.

Going to merge this to cut a release for airflow-dags to use, but open to feedback for sure!


rc_genicam_driver: 0.3.1-1 in 'humble/distribution.yaml' [bloom]

Increasing version of package(s) in repository rc_genicam_driver to 0.3.1-1:

upstream repository: https://github.com/roboception/rc_genicam_driver_ros2.git
release repository: https://github.com/ros2-gbp/rc_genicam_driver_ros2-release.git
distro file: humble/distribution.yaml
bloom version: 0.12.0
previous version for package: 0.3.0-1

rc_genicam_driver
* Fix: parameter 'camera_wb_red' cannot be set
* Fixed limiting float parameters to avoid errors due to rounding
* Fix: don't treat unknown parameters as error in the parameter callback (e.g. for new enable_pub_plugins param injected by image_transport)
* Fix: Declaring parameters dynamic so that undeclaring works on cleanup

Holding for Humble sync


NUTCH-3093 Ant target test-plugins to depend on compile-core-test

@sebastian-nagel I took the liberty of merging this PR. It will unblock my work on #838 . Thank you


Nested input tables don't allow easy navigation back to results

Describe the bug
On develop, the view results graphic isn't always clickable after a simulation
To Reproduce
Steps to reproduce the behavior:

Open a hybrids simulation on develop
Run the simulation
Click back to a general input, clicking to results is possible
Click back to an input under a technology model (battery life or similar)
One has to run the simulation again in order to get results

Expected behavior
After running a simulation, the results icon should always be clickable
Screenshots
Behavior as of step 3. Dark blue means it's clickable:

Behavior as of step 4:

Operating System and Version

OS: Windows
Version: Develop

Pretty sure this is a duplicate of https://github.com/NREL/SAM/issues/1485

Sure is! Sorry that I missed that one,


Documentation issue...

On this page...
http://jqueryvalidation.org/reference/#link-validating-multiple-forms-on-one-page
The word "link" appears just in front of every sub-heading.  I believe this to be a mistake because the other pages in the documentation contain a hidden link that only appears upon hover.

Thanks for the report! Fixed it.

Thank-you but the issue still appears.
screenshot
It also popped up on the "Documentation" page...
jqueryvalidation.org/documentation

Right, I didn't actually deploy the change before, only tested locally. Fixed!

Sorry!  Thanks!


Add a localized Info.plist for testing

localizedInfoPlist should return non-nil even if there were no lproj directories in the project, so I'm a bit unclear on how this fixes anything.

Oh that's the expected behavior? I thought localizedInfoPlist should return nil if there were no lproj in the project as the test case is writtent that way.

I'll close this for now.


fetchData return two ajax calls

Hi. Love your package and the ability to fetch data both on server and client with fetchData inside statics.
https://github.com/rackt/react-router/blob/master/examples/async-data/app.js
When I want to get one feed inside fetchData, the solution is simple:
statics: {
    fetchData: function(params) {
        return WebAPIUtils.get('feed/' + params.id);
    }
},

But when I want to get two or more feeds I can't find a solution. Does anyone have a solution for that?

The function just needs to return a promise, so what you're actually asking is how to combine promises.
There are lots of ways. If you want them to execute in parallel, you can use Promise.all:
statics: {
    fetchData: function(params) {
        return Promise.all([WebAPIUtils.get('feed/1'), WebAPIUtils.get('feed/1')]);
    }
},

Thanks.


Purpose of this project

Hello there, I see that you parse whois response into objects composed of attribute-value pairs. Could you explain what this project is for?
For context, in our project, we parse RPSL to extract each AS's policies.

The purpose for the time being is to reliably and efficiently parse RPSL into attribute value pairs, without interpreting them as objects for now. In the future things like routing policy might be parsed as well, but I cannot give you a timeline for that. Could this be more clear in the docs?

I think this purpose is clear and your docs is fine.
What is the deeper reason you are doing this, though? Why do you need attribute value pairs?

It is currently used in automations that are not open source, feel free to email me(in my profile) to discuss this further, closing this for now.


[PIC] I propose a little change to the UI for consideration: move the browse extension tab to More and Manga to the home tab

Describe your suggested feature

as shown in the picture above, just move the tab around and I think this way it makes more sense and I dont imagine it would be too much work for the dev team
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] If this is an issue with an official extension, I should be opening an issue in the extensions repository.
[X] I have updated the app to version <IP_ADDRESS>.
[X] I will fill out all of the requested information in this form.

The feature already exists, check the "Navigation Style" setting in Settings -> Appearance

The feature already exists, check the "Navigation Style" setting in Settings -> Appearance

I think they want to move extensions to more tab which isn't available

Ah, sure adding it should be easy. I'll try to make a PR later.

The feature already exists, check the "Navigation Style" setting in Settings -> Appearance

I would like to move the "browse extension" to the more tab since I and I assume many other users dont use extension much after we have set up our addon and library. All other tabs are used much more frequently.
But the option to move the extension to more tab is not available

Brother..... I use browse extension feature wwar too frequently tgan everything else because of Jellyfin 😐
Don't change it if possible please or atleast make it as a toggle so that we can choose to move it more tab

Navigation bars in material 3 cannot have more than 5 items, so your suggestion cannot be granted.
This feature is not mandatory for everyone, you can change which tab to put in the more tab in Settings -> Appearance -> Navigation Style.

Okay if it's optional then I'm fine
thnx for the clarification


Sharable configuration support

I'm still using husky@4 because we share husky config in all of my projects:
// .huskyrc.js
modue.exports = require('@1stg/husky-confog')

It seems like if we add an ability to parse configuration from simple-git-hooks.js or simple-pre-commit.js then sharable config would work
I think we should start working on this feature after we release the #21

@toplenboren Are you working on this? Or I can raise a PR.

@JounQin no, currently I'm not working on it.
Please feel free to raise a PR

@toplenboren Please check #37


EventHub: Added Test and recordings

Codecov Report

Merging #1604 into master will increase coverage by 0.37%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1604      +/-   ##
==========================================
+ Coverage   54.69%   55.07%   +0.37%
==========================================
  Files        3680     3680
  Lines       90960    90960
==========================================
+ Hits        49750    50093     +343
+ Misses      41210    40867     -343

Impacted Files
Coverage Δ

...enthub/models/check_name_availability_parameter.py
100% <0%> (+16.66%)
:arrow_up:

...e/mgmt/eventhub/models/authorization_rule_paged.py
100% <0%> (+20%)
:arrow_up:

...nthub/azure/mgmt/eventhub/models/eventhub_paged.py
100% <0%> (+20%)
:arrow_up:

...b/azure/mgmt/eventhub/models/authorization_rule.py
100% <0%> (+28.57%)
:arrow_up:

...venthub/models/regenerate_access_key_parameters.py
100% <0%> (+28.57%)
:arrow_up:

...nthub/azure/mgmt/eventhub/models/error_response.py
100% <0%> (+30%)
:arrow_up:

.../eventhub/models/check_name_availability_result.py
100% <0%> (+37.5%)
:arrow_up:

...nthub/azure/mgmt/eventhub/models/consumer_group.py
100% <0%> (+44.44%)
:arrow_up:

...eventhub/azure/mgmt/eventhub/models/destination.py
100% <0%> (+50%)
:arrow_up:

.../azure/mgmt/eventhub/models/capture_description.py
100% <0%> (+50%)
:arrow_up:

... and 4 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bcc052b...eba988b. Read the comment docs.

Thanks @v-Ajnava That's super awesome!


DatePicker does not change selected year when using the left/right arrows with the Year and Month picker

Demo and steps to reproduce the issue
This issue affects the DatePicker component. When using the next/previous year navigation buttons - the year does not correctly update. This results in the value not reflecting the users intention.
The official component gallery at material.angular.io exhibits this bug
Demo URL (required)*:  https://material.angular.io/components/datepicker/overview#datepicker-views-selection
Detailed Reproduction Steps

Scroll down to the 'Datepicker emulating a Year and month picker' example.
Click on the Calendar icon to open the date picker.
Click on 2022 to go to the 2022 month view.
Click the Left hand arrow to change to 2021.
Click on January

Explain the expected behavior
Expected behaviour is that the selected value is January 2021, or 01/2021 - reflecting the year shown in the interface.
Explain the current behavior
The selected value has the incorrect year, and remains at the originally selected year. The correct month is selected regardless of which month you pick, but the year does not change.
Discuss the use-case or motivation for changing the existing behavior
The existing behaviour means that the value does not reflect the intended month selection of the user.
List the affected versions of AngularJS, Material, OS, and browsers

AngularJS: 13.1.2
AngularJS Material: 13.1.1
OS: Windows 10
Browsers: Google Chrome 97, Edge 96, Firefox 92
Screen Readers: NA

Add anything else we should know
I am in the en-GB locale, we use the MM-YYYY syntax for month/year only.
Stack Trace
NA

Screenshots
Reproduced on official component gallery, white circle denotes clicked item.

Related to https://github.com/angular/components/issues/23483.

I can reproduce this.


Packages including "scala-library" in its name cannot be imported by other projects.

steps
Trying to create a package with a name including the string scala-library in it, results in a failure when trying to use that package from another project.
Details

A "library" project defined as
// build.sbt
import sbt.file

lazy val root =
  Project(id = "my-scala-library", base = file("."))
    .settings(
      name := "my-scala-library-that-fails",
      scalaVersion := "2.13.12",
      organization := "com.myorg",
    )

with just one file
//  src/main/scala/com/myorg/Lib.scala
package com.myorg

object Lib {
  def MyFunc() = 1
}

and a project trying to use it
//  build.sbt
import sbt.file

lazy val foo =
  Project(id = "foo", base = file("."))
    .settings(
      name := "foo",
      organization := "com.myorg",
      scalaVersion := "2.13.12",
      libraryDependencies ++= Seq(
        "com.myorg" %% "my-scala-library-that-fails" % "0.1.0-SNAPSHOT",
      ),
      resolvers += Resolver.mavenLocal
    )

// src/main/scala/foo/Foo.scala
package foo

import com.myorg.Lib

object Foo {
  def main(args: Array[String]) = {
    println(Lib.MyFunc())
  }
}

And running
sbt publishM2

on the library, and
sbt compile

on the consumer results in a failure

repro.tar.gz
problem
❯ sbt compile
[info] welcome to sbt 1.9.9 (Homebrew Java 21.0.2)
[info] loading project definition from .../consumer/project
[info] loading settings for project foo from build.sbt ...
[info] set current project to foo (in build file:.../consumer/)
[info] Executing in batch mode. For better performance use sbt's shell
[info] compiling 1 Scala source to .../consumer/target/scala-2.13/classes ...
[error] .../consumer/src/main/scala/foo/Foo.scala:3:12: object myorg is not a member of package com
[error] import com.myorg.Lib
[error]            ^
[error] .../consumer/src/main/scala/foo/Foo.scala:7:13: not found: value Lib
[error]     println(Lib.MyFunc())
[error]             ^
[error] two errors found
[error] (Compile / compileIncremental) Compilation failed

expectation
I'm able to import symbols from the package
notes
I tried looking if this behavior is intended, and could not find anything.
If the package name for the library is something else like my-scala-lib-that-fails, then it works without a problem.

@ddl-sacuna Thanks for the report! I think this is a bug, but it might be tricky to fix if it's somewhere deeply rooted in layered classloader logic or something because at that point all we got would be JAR names.


Improve checkJS experience with React

Tracks investigation of checkJS experience for react

Investigate this a little. The current largest pain point is for writing jsdocs. A few issues on the TS side that could improve this:

https://github.com/Microsoft/TypeScript/issues/13371 - Report syntax errors in jsdocs
https://github.com/Microsoft/TypeScript/issues/15852 - Report semantic errors in jsdocs
https://github.com/Microsoft/TypeScript/issues/14056 - Fixing jsdocs handling of imports

Not too much we can do on the vscode side. I'll keep working with the TS team to see how we can make the current react checkjs workflow better


Handle multiple return values from function calls

I have removed the optimisation for returned arrays, I will add it back in a separate PR.
A function call returns a Value where each NodeId of the Value correspond to a result instruction.
We add dummy load and stores as long as the function call is not inlined, to take into account for by-value array arguments and by-value array results.

Why are the dummy loads and stores needed for by value arrays again? And why are they stored in a hashmap?

They are needed because the function call, when inlined, generates reads/writes to the arguments/returned arrays. Without the dummy ones, memory operations that happen before and after the function call will be optimised while they should not.
They are put in a hashmap so there is only one dummy per array and they can be used without mutating the context later on.


Feature request: send prompt when enter is hit

The line break feature can be triggered by shift + enter? This will give us a more fluent prompt writing experience

Thanks for feedback @LeeTeng2001 ! I have supported this by enter for line break and ctrl+enter to send, hoping it's helpful!


Does not work with AngularUI 2.x.x

Hi,
since the uib-datepicker directive seem to have changed in Angular UI Bootstrap 2.x.x, the gm.datepickerMultiSelect does not work with the newer version. At least I didn't get the example working. The picker just doesn't show up anymore.
Any chance to adapt the datepickerMultiSelect to the new version?
Thanks,
Jan

Of course it doesn't work with Angular 2. There needs to be a complete rewrite for this to work in Angular 2.

Oh nevermind I misread the issue. If you make a plunk using the newest UI bootstrap I'll take a look.

Hi, here is your example with updated versions of all libaries.
http://plnkr.co/edit/fgGQtz?p=preview
I also included the datepicker twice, once as tag and once as attribute. Neither seems to work.

It has to do with the custom template that makes the dates highlight properly- something must have changed and it doesn't work anymore. If you remove the custom template, the datepicker appears but only the last selected date is highlighted.

Yes you are right. the template needs to be changed to something like this:
`

`
changeing uib-... to an attribute instead of a tag will give me the solution :)

So were you able to get this to work?

Please see the following plunk on getting this working with UI Bootstrap 2.x.x.
It involves removing the custom templates and using customClass in datepicker-options instead:
http://plnkr.co/edit/7rKzFo?p=preview


NestedScrollView cannot scroll inner list view

I have a NestedScrollView with a SliverAppBar with an expandedHeight and a SliverFixedExtentList inside. Basically this example.
Now I want to jumpTo position 5000.0 in the list.
So I add a ScrollController to the NestedScrollView. But the range that I can jumpTo seems to be limited to the height of the header.
I am not able to programatically scroll the SliverFixedExtentList to any position.
I believe this is because the NestedScrollView doesn't allow access to the innerController, but that is just a guess.
Is there a way to achieve this any other way?
Why, because I try to have a TabBar and each tab scrolls the ListView underneath to a specific section - basically like in the UeberEats app's menu page.

cc @Hixie @Han

Yeah there's some weird stuff going on in that code.

We're also trying to figure this out right now, same situation (and actually using that ubereats screen as inspiration too!). I was assuming I was meant to do something to explicitly get the inner scroll view controller, but now it seems like the expected behaviour would be to just use the scrollcontroller from the nestedscrollview itself - it just doesn't work.

Whats the latest on this @Hixie / @han ? Same problem here too.

I've found a way to still get a hold of the innerController by looking up an ancester widget of the type  PrimaryScrollController, which is created when the body is being build.
NestedScrollView(
  body: Builder(
    builder: (BuildContext context) {
      final innerScrollController =
        (context.ancestorWidgetOfExactType(PrimaryScrollController)
          as PrimaryScrollController).controller;

// Use the innerScrollController to listen to the scrolling (and dispose again)

    }
  ),
);

The exact code rendering the PrimaryScrollController can be found here:
https://github.com/flutter/flutter/blob/1946fc4da0f80c522d7e3ae7d4f7309908ed86f2/packages/flutter/lib/src/widgets/nested_scroll_view.dart#L274-L284
Performance-wise it should be ok I think as the PrimaryController is a direct parent.
It's still a hack though and not a final solution.

Perhaps adding a bodySliverBuilder option to NestedScrollView would be sufficient?
It could receive the innerController and the bodyIsScrolled value.

Hey, I am facing the same issue, and I need this now. Is there any update @Hixie ? Thanks.

I've found a way to still get a hold of the innerController by looking up an ancester widget of the type  PrimaryScrollController, which is created when the body is being build.
NestedScrollView(
  body: Builder(
    builder: (BuildContext context) {
      final innerScrollController = PrimaryScrollController.of(context);

// Use the innerScrollController to listen to the scrolling (and dispose again)

    }
  ),
);

The exact code rendering the PrimaryScrollController can be found here:
https://github.com/flutter/flutter/blob/1946fc4da0f80c522d7e3ae7d4f7309908ed86f2/packages/flutter/lib/src/widgets/nested_scroll_view.dart#L274-L284
Performance-wise it should be ok I think as the PrimaryController is a direct parent.
It's still a hack though and not a final solution.
update: changed example to use the PrimaryScrollController.of method.

I faced the same problem, and I tried this but found another error, when I took the scroll position.

@IkhwanSI13 this issue is about getting access to the innerScrollController which the code above solves.
Perhaps you could provide an example of what's not working and then ask for help at: https://gitter.im/flutter/flutter
Unless you've found that the innerScrollController itself is somehow not usable.

Solved with SingleChildScrollView.
https://gist.github.com/IkhwanSI13/eb09a588096db4c88f96ad9f2faf91d1

@BerndWessels does the use of SingleChildScrollView as per @IkhwanSI13 solve your problem?

Solved with SingleChildScrollView.
https://gist.github.com/IkhwanSI13/eb09a588096db4c88f96ad9f2faf91d1

Does not solve the problem. It does not trigger NestedScrollView

I've found a way to still get a hold of the innerController by looking up an ancester widget of the type  PrimaryScrollController, which is created when the body is being build.
NestedScrollView(
  body: Builder(
    builder: (BuildContext context) {
      final innerScrollController = PrimaryScrollController.of(context);

// Use the innerScrollController to listen to the scrolling (and dispose again)

    }
  ),
);

The exact code rendering the PrimaryScrollController can be found here:
https://github.com/flutter/flutter/blob/1946fc4da0f80c522d7e3ae7d4f7309908ed86f2/packages/flutter/lib/src/widgets/nested_scroll_view.dart#L274-L284
Performance-wise it should be ok I think as the PrimaryController is a direct parent.
It's still a hack though and not a final solution.
update: changed example to use the PrimaryScrollController.of method.

This is really helpful. Saved my day

I've found a way to still get a hold of the innerController by looking up an ancester widget of the type  PrimaryScrollController, which is created when the body is being build.
NestedScrollView(
  body: Builder(
    builder: (BuildContext context) {
      final innerScrollController = PrimaryScrollController.of(context);

// Use the innerScrollController to listen to the scrolling (and dispose again)

    }
  ),
);

The exact code rendering the PrimaryScrollController can be found here:
https://github.com/flutter/flutter/blob/1946fc4da0f80c522d7e3ae7d4f7309908ed86f2/packages/flutter/lib/src/widgets/nested_scroll_view.dart#L274-L284
Performance-wise it should be ok I think as the PrimaryController is a direct parent.
It's still a hack though and not a final solution.
update: changed example to use the PrimaryScrollController.of method.

Work like a charm.


Git log message to be written to output file

We are sending slack notification after every apply and it would be useful to get git log message included. I could create the task just to get the message myself, but this small update will make the solution cleaner + someone else my find it useful as well.

I don't think the git message should be an output from this task, primarily because there is no guarantee that the terraform apply is done in a git repository (i.e., the terraform code could just as well be stored in s3).
Instead you should get the git message directly from the git resource in Concourse:
https://github.com/concourse/git-resource#in-clone-the-repository-at-the-given-ref
From that link, you can see that after you do a get: something you'll have access to something/.git/commit_message in the following tasks in Concourse. So the information is already available to you.


Vendor laszip code?

Given the licensing change of LASzip and the churn in the interface, maybe it would be best to vendor the version of the LASzip code this utilizes for building and wheel generation.

It can be a good idea, it would allow to have a source distribution that could used as fallback by pip if no compatible wheels are yet available


widget for playing audio files

Is there a widget that supports playing audio files?

Hello @AmrElGendyy , actually it is not implemented, but it is feasible. If you are an experienced developer you should be able to do it by yourself, just give it a look at actually available widgets code. Otherwise I can help you in this.


Templatize IWorker and its subclasses by message type

The code for IWorker and its subclasses is general enough at this point that it should be possible to generalize into a template. Update IWorker and its corresponding child classes to take different message formats and corresponding downstream variable types.

This worked out without templating at all. Just removed all reference to FlatBuffers and it generalized just fine.


[7.x] Match Symfony's Command::setHidden declaration

Source of declaration mismatch: Symfony\Component\Console\Command\Command::setHidden(bool $hidden) - vendor/symfony/console/Command/Command.php:456
https://github.com/symfony/console/commit/101b74fffdbf055a694b92d36916a96a8a972b9b
After installing Laravel v7.0.7 on PHP 7.3.12 via laravel new I got a few declaration mismatches with Symfony. Two in Carbon which appear to be documented and with a fix pending here: https://github.com/briannesbitt/Carbon/issues/2033 and this one in
Illuminate\Console\Command::setHidden($hidden) with a mismatch to Symfony\Component\Console\Command\Command::setHidden(bool $hidden)
Installed Symfony is v5.0.5. Errors were displayed in Tinkerwell.
This very well may be a PHP 7.3 issue. Cannot replicate using PHP 7.4

This is a fine fix as method parameter signatures should match if possible. But, my actual problem was that I am a Tinkerwell noob and didn't link my correct PHP version. 🤦♂
Meaning that the error was happening because of PHP 7.1....

I'm still experiencing this problem.
  Declaration of Illuminate\Console\Command::setHidden(bool $hidden) should be compatible with Symfony\Component\Console\Command\Command::setHidden($hidden)

Brand new install of Laravel v7.

This happens if you have the wrong version of Symfony in your vendor folder, possibly due to a global install.


API address

Is there a way I can set the address for my ollama endpoint to http://host.docker.internal:11434?

Came to check how to point it at my Ollama server as well!

I assume you're running with Docker? What if you set OLLAMA_API_BASE=http://host.docker.internal:11434/?

It looks like that got it past the first error, but now I get this with my docker run set to: docker run -d --gpus=all -it -p 8501:8501 --add-host=host.docker.internal:host-gateway -e LLM=ollama/Meta-Llama-3.1-8B-Instruct-Q8_0:latest -e OLLAMA_API_BASE=http://host.docker.internal:11434/ --name neuml-rag neuml/rag
ResponseNotRead: Attempted to access streaming response content, without having called read().
Traceback:
File "/usr/local/lib/python3.8/dist-packages/streamlit/runtime/scriptrunner/exec_code.py", line 85, in exec_func_with_error_handling
result = func()
File "/usr/local/lib/python3.8/dist-packages/streamlit/runtime/scriptrunner/script_runner.py", line 576, in code_to_exec
exec(code, module.dict)
File "/app/rag.py", line 612, in
app.run()
File "/app/rag.py", line 579, in run
response = st.write_stream(response)
File "/usr/local/lib/python3.8/dist-packages/streamlit/runtime/metrics_util.py", line 408, in wrapped_func
result = non_optional_func(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/streamlit/elements/write.py", line 167, in write_stream
for chunk in stream:  # type: ignore
File "/usr/local/lib/python3.8/dist-packages/txtai/pipeline/llm/litellm.py", line 69, in stream
yield from self.response(result if stream else [result])
File "/usr/local/lib/python3.8/dist-packages/txtai/pipeline/llm/generation.py", line 120, in response
for chunk in result:
File "/usr/local/lib/python3.8/dist-packages/litellm/llms/ollama.py", line 368, in ollama_completion_stream
raise e
File "/usr/local/lib/python3.8/dist-packages/litellm/llms/ollama.py", line 327, in ollama_completion_stream
status_code=response.status_code, message=response.text
File "/usr/local/lib/python3.8/dist-packages/httpx/_models.py", line 576, in text
content = self.content
File "/usr/local/lib/python3.8/dist-packages/httpx/_models.py", line 570, in content

Removing the slash after the ollama port number fixed this error. Seems to be working now. Thanks!
docker run -d --gpus=all -it -p 8501:8501 --add-host=host.docker.internal:host-gateway -e LLM=ollama/Meta-Llama-3.1-8B-Instruct-Q8_0:latest -e OLLAMA_API_BASE=http://host.docker.internal:11434 --name neuml-rag neuml/rag

Great, glad to hear it! I'll incorporate this info in the README.


Reloading the page refreshes the files in the cache

Library Affected:
workbox 6.4.1
Browser & Platform:
all browsers
Hi I noticed a strange thing, I have a notification for the user to install a new version of SW. I am on the page, at this moment I rebuild the files and make the Inject Manifest, then I reload the page and see the installation notification + in the console I see the old version + the new one pending and, most importantly, the files in which I made changes(js/css) are also old.
After that I do not confirm the installation of the new version and just reload the page and expect to receive all the same files. But the files are already updated and the notification about the installation + service worker is still the same - old and new. How is this possible, if not installing the worker to update the files in the cache?

Hi there,
Workbox is moving to a new engineering team within Google. As part of this move, we're declaring a partial bug bankruptcy to allow the new team to start fresh. We realize this isn't optimal, but realistically, this is the only way we see it working. For transparency, here're the criteria we applied:

For PRs, we closed everything that doesn't target the current v7 branch.
For Issues, we closed everything that was created before 2024.

Thanks, and we hope for your understanding!
The Workbox team


component/kubeapiserver: do not mount host volumes

How to categorize this PR?

/area os security
/kind cleanup enhancement
What this PR does / why we need it:
As of v1.19 the kube-apiserver images use a distroless layer in their containers images which provides root CA bundles. There is no longer the need to mount the hostPath volumes since this is covered by the container image. In addition the k8s documentation advises against using the hostPath volume type.
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.19.md#no-really-you-must-read-this-before-you-upgrade
dive registry.k8s.io/kube-apiserver:v1.19.0

This is also true for newer versions.
dive registry.k8s.io/kube-apiserver:v1.28.0

Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Some relevant issues and PRs:
https://github.com/gardener/gardener/pull/2508
https://github.com/gardener/gardener/pull/2791
https://github.com/gardener/gardener/pull/2842
Release note:

The `kube-apiserver` no longer mounts root CA bundles from the underlying host.

/retest-required

/retest


[MM-16097] Fixing: Attach to Jira Issue fails silently when user lacks permissions

Summary

When a user has access to browse a project but does not have access to add comments to the issue, Attach to Jira Issue fails silently
Also some clean-up:

some proptypes were marked as required but weren't actually required causing red in the console
forgot to remove the project props in the attach-to-issue search (we're not filtering by project anymore)

UX:

Links
MM-16097

@jasonblais Shoot... I read the ticket too quickly, missed that you wanted it in the modal. Let me look...

@jasonblais How about this?

@cpoile Sorry, in retrospect, I realize the placement and design of the error message should have been specified more clearly in the ticket. My mistake.
@asaadmahmood I would like your feedback on where and how this error message should be placed that follows our UX guidelines and is consistent with the placement of these messages elsewhere in the UI.

@jasonblais hah, yah, I had a suspicion that’s not really what we want. :) awaiting asaad’s design

Previously when the error was triggered by the select, I intended it to be placed below the select box. But now that it is triggered by the attach button, we can place it above like this.

I also thought about this, but this is not that prominent (so we will not use this).

@jasonblais @asaadmahmood I like the first one, but it's up to you guys which fits with our UI. Let me know and I'll make the change.

@cpoile Let's go with the first option

@jasonblais @asaadmahmood  Does this look good? I'm using help-text and error-text classes, but they're different from the input__help and error classes that the webapp uses. I tried to make those work for 20 minutes, but they just aren't picked up in this modal for some reason (css mystifies me sometimes). We use help-text and error-text in this modal already, so the spacing and colors match.

Looks good!


List conda packages installed for easier debugging

This change lists packages installed in Conda to assist in debugging an issue with Sphinx that is preventing html from being generated. See
http://ci.mxnet.io/blue/organizations/jenkins/mxnet-the-straight-dope/detail/mxnet-the-straight-dope/103/pipeline

LGTM


Syntax warnings in Python 3.8

In the Python 3.8 alpha, using is to compare integer literals produces a syntax warning:
/Users/aaronmeurer/Documents/python/sympy/mpmath/mpmath/ctx_mp_python.py:892: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if other is 0:
/Users/aaronmeurer/Documents/python/sympy/mpmath/mpmath/ctx_mp_python.py:892: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if other is 0:
/Users/aaronmeurer/Documents/python/sympy/mpmath/mpmath/ctx_mp_python.py:986: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if other is 0:
/Users/aaronmeurer/Documents/python/sympy/mpmath/mpmath/ctx_mp_python.py:986: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if other is 0:

Note this only happens once, when the files are compiled. If you want to see them again you have to run python -m compileall -f mpmath.

#454

@fredrik-johansson debian is effected by it, and i just noticed there are 66 new commit from when 1.1.0 was released: maybe it's time to cut a new release?

Or maybe it's time to review few pr first...


"Could not obtain a database connection" and other concurrency errors

I am having a lot of database timeout errors, which tend to occur in groups like this:
2014-04-14T00:42:40Z p-29936 t-owd74tqb4 ERROR: could not obtain a database connection within 5.000 seconds (waited 5.000 seconds)
2014-04-14T00:42:40Z p-29936 t-owd74tk38 ERROR: could not obtain a database connection within 5.000 seconds (waited 5.000 seconds)
2014-04-14T00:42:40Z p-29936 t-owd74tqms ERROR: could not obtain a database connection within 5.000 seconds (waited 5.000 seconds)
2014-04-14T00:42:40Z p-29936 t-owd74tk74 ERROR: could not obtain a database connection within 5.000 seconds (waited 5.000 seconds)
2014-04-14T00:42:40Z p-29936 t-owd74tqiw ERROR: could not obtain a database connection within 5.000 seconds (waited 5.000 seconds)
2014-04-14T00:42:40Z p-29936 t-owd74u3pc ERROR: could not obtain a database connection within 5.000 seconds (waited 5.000 seconds)
2014-04-14T00:42:40Z p-29967 t-owd74tk5g ERROR: could not obtain a database connection within 5.000 seconds (waited 5.000 seconds)
2014-04-14T00:42:40Z p-29967 t-owd74tra4 ERROR: could not obtain a database connection within 5.000 seconds (waited 5.000 seconds)
2014-04-14T00:42:40Z p-29967 t-owd74tqyg ERROR: could not obtain a database connection within 5.000 seconds (waited 5.000 seconds)

This is after setting pool: 15 in database.yml and setting both :prefetch => 15 and :threads => 15 in my sneakers initializer (config/initializers/sneakers.rb).  I have my Postgres database configured to accept 300 connections and the sneakers rake task is the only thing running against it.  This is running on an Intel i5 CPU which presents 4 cores to the OS, so between that and the default :workers value in lib/sneakers.rb I expect it's starting 4 processes.  When I change these thread variables to 25, the errors seem less frequent, but I still see them.  I read the Auto-scaling section in the wiki and I'm not sure why this should happen if the pool size == the sneakers thread size.
Here are some other errors I'm seeing that seem concurrency-related (sorry for the weird linebreaks, copied+pasted from my console):
2014-04-14T01:23:50Z p-21926 t-orivh32jo ERROR: deadlock; recursive locking
2014-04-14T01:23:50Z p-21926 t-orivh32jo ERROR: deadlock; recursive locking
2014-04-14T01:23:50Z p-21926 t-orivh32jo ERROR: deadlock; recursive locking
2014-04-14T01:23:50Z p-21926 t-orivh0fmg ERROR: Attempt to unlock a mutex which is locked by another thread
2014-04-14T01:23:50Z p-21926 t-orivh1b88 ERROR: Attempt to unlock a mutex which is locked by another thread
2014-04-14T01:23:50Z p-21926 t-orivh1bvk ERROR: Attempt to unlock a mutex which is locked by another thread
2014-04-14T01:23:50Z p-21926 t-orivh26sc ERROR: Attempt to unlock a mutex which is locked by another thread
2014-04-14T01:23:50Z p-21926 t-orivh0sh8 ERROR: Attempt to unlock a mutex which is locked by another thread
2014-04-14T01:23:50Z p-21926 t-orivh32jo ERROR: deadlock; recursive locking
2014-04-14T01:23:50Z p-21926 t-orivh26w8 ERROR: Attempt to unlock a mutex which is locked by another thread
2014-04-14T01:23:50Z p-21926 t-orivh0s1o ERROR: Attempt to unlock a mutex which is locked by another thread
2014-04-14T01:23:50Z p-21926 t-orivh1bg0 ERROR: Attempt to unlock a mutex which is locked by another thread
2014-04-14T01:23:50Z p-21926 t-orivh32vc ERROR: Attempt to unlock a mutex which is locked by another thread
2014-04-14T01:23:50Z p-21926 t-orivh0sl4 ERROR: Attempt to unlock a mutex which is locked by another thread
2014-04-14T01:23:50Z p-21926 t-orivh0lzw ERROR: Attempt to unlock a mutex which is locked by another thread
2014-04-14T01:23:50Z p-21926 t-orivh26kk ERROR: Attempt to unlock a mutex which is locked by another thread
2014-04-14T01:23:50Z p-21926 t-orivh0ssw ERROR: Attempt to unlock a mutex which is locked by another thread
2014-04-14T01:23:50Z p-21926 t-orivh32jo ERROR: deadlock; recursive locking
2014-04-14T01:23:50Z p-21926 t-orivh32jo ERROR: deadlock; recursive locking
2014-04-14T01:23:50Z p-21926 t-orivh32jo ERROR: deadlock; recursive locking

2014-04-14T01:23:36Z p-21967 t-oriv4a1l4 ERROR: PG::DuplicatePstatement: ERROR:  prepared statement "a9" already exists

2014-04-14T01:23:41Z p-21967 t-orivh3ybk ERROR: timeout
E, [2014-04-14T01:23:41.352062 #21957] ERROR -- #<Bunny::Session:69863549381840 foo@<IP_ADDRESS>:5672, vhost=/>: Exc
eption in the reader loop: IOError: closed stream
E, [2014-04-14T01:23:41.393205 #21957] ERROR -- #<Bunny::Session:69863549381840 foo@<IP_ADDRESS>:5672, vhost=/>: Bac
ktrace:
E, [2014-04-14T01:23:41.393251 #21957] ERROR -- #<Bunny::Session:69863549381840 foo@<IP_ADDRESS>:5672, vhost=/>:   /
home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/bunny-1.1.9/lib/bunny/cruby/socket.rb:48:in `select'
E, [2014-04-14T01:23:41.393272 #21957] ERROR -- #<Bunny::Session:69863549381840 foo@<IP_ADDRESS>:5672, vhost=/>:   /
home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/bunny-1.1.9/lib/bunny/cruby/socket.rb:48:in `rescue in
 read_fully'
E, [2014-04-14T01:23:41.393305 #21957] ERROR -- #<Bunny::Session:69863549381840 foo@<IP_ADDRESS>:5672, vhost=/>:   /
home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/bunny-1.1.9/lib/bunny/cruby/socket.rb:39:in `read_full
y'
E, [2014-04-14T01:23:41.393323 #21957] ERROR -- #<Bunny::Session:69863549381840 foo@<IP_ADDRESS>:5672, vhost=/>:   /
home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/bunny-1.1.9/lib/bunny/transport.rb:200:in `read_next_f
rame'
E, [2014-04-14T01:23:41.393340 #21957] ERROR -- #<Bunny::Session:69863549381840 foo@<IP_ADDRESS>:5672, vhost=/>:   /
home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/bunny-1.1.9/lib/bunny/reader_loop.rb:63:in `run_once'
E, [2014-04-14T01:23:41.393356 #21957] ERROR -- #<Bunny::Session:69863549381840 foo@<IP_ADDRESS>:5672, vhost=/>:   /
home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/bunny-1.1.9/lib/bunny/reader_loop.rb:33:in `block in r
un_loop'
E, [2014-04-14T01:23:41.393372 #21957] ERROR -- #<Bunny::Session:69863549381840 foo@<IP_ADDRESS>:5672, vhost=/>:   /
home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/bunny-1.1.9/lib/bunny/reader_loop.rb:30:in `loop'
E, [2014-04-14T01:23:41.393390 #21957] ERROR -- #<Bunny::Session:69863549381840 foo@<IP_ADDRESS>:5672, vhost=/>:   /
home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/bunny-1.1.9/lib/bunny/reader_loop.rb:30:in `run_loop'
2014-04-14T01:23:41Z p-21967 t-orivh1bvk ERROR: timeout
E, [2014-04-14T01:23:41.537716 #21957] ERROR -- #<Bunny::Session:69863550593340 foo@<IP_ADDRESS>:5672, vhost=/>: Exc
eption in the reader loop: IOError: stream closed
2014-04-14T01:23:41Z p-21967 t-orivh0s1o ERROR: timeout
2014-04-14T01:23:41Z p-21957 t-orivh0m3s ERROR: timeout
E, [2014-04-14T01:23:41.340814
 #21957] ERROR -- #<Bunny::Session:69863555601680 foo@<IP_ADDRESS>:5672, vhost=/>: Exception in the reader loop: Err
no::ECONNRESET: Connection reset by peer
E, [2014-04-14T01:23:42.028937 #21957] ERROR -- #<Bunny::Session:69863555601680 foo@<IP_ADDRESS>:5672, vhost=/>: Bac
ktrace:
E, [2014-04-14T01:23:42.028967 #21957] ERROR -- #<Bunny::Session:69863555601680 foo@<IP_ADDRESS>:5672, vhost=/>:   /
home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/bunny-1.1.9/lib/bunny/cruby/socket.rb:41:in `read_nonb
lock'
E, [2014-04-14T01:23:42.028991 #21957] ERROR -- #<Bunny::Session:69863555601680 foo@<IP_ADDRESS>:5672, vhost=/>:   /
home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/bunny-1.1.9/lib/bunny/cruby/socket.rb:41:in `block in
read_fully'
E, [2014-04-14T01:23:42.029014 #21957] ERROR -- #<Bunny::Session:69863555601680 foo@<IP_ADDRESS>:5672, vhost=/>:   /
home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/bunny-1.1.9/lib/bunny/cruby/socket.rb:40:in `loop'
E, [2014-04-14T01:23:42.029035 #21957] ERROR -- #<Bunny::Session:69863555601680 foo@<IP_ADDRESS>:5672, vhost=/>:   /
home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/bunny-1.1.9/lib/bunny/cruby/socket.rb:40:in `read_full
y'
E, [2014-04-14T01:23:42.029052 #21957] ERROR -- #<Bunny::Session:69863555601680 foo@<IP_ADDRESS>:5672, vhost=/>:   /
home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/bunny-1.1.9/lib/bunny/transport.rb:200:in `read_next_f
rame'
E, [2014-04-14T01:23:42.029077 #21957] ERROR -- #<Bunny::Session:69863555601680 foo@<IP_ADDRESS>:5672, vhost=/>:   /
home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/bunny-1.1.9/lib/bunny/reader_loop.rb:63:in `run_once'
E, [2014-04-14T01:23:42.029095 #21957] ERROR -- #<Bunny::Session:69863555601680 foo@<IP_ADDRESS>:5672, vhost=/>:   /
home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/bunny-1.1.9/lib/bunny/reader_loop.rb:33:in `block in r
un_loop'
E, [2014-04-14T01:23:42.029115 #21957] ERROR -- #<Bunny::Session:69863555601680 foo@<IP_ADDRESS>:5672, vhost=/>:   /
home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/bunny-1.1.9/lib/bunny/reader_loop.rb:30:in `loop'
E, [2014-04-14T01:23:42.029133 #21957] ERROR -- #<Bunny::Session:69863555601680 foo@<IP_ADDRESS>:5672, vhost=/>:   /
home/vagrant/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/bunny-1.1.9/lib/bunny/reader_loop.rb:30:in `run_loop'
2014-04-14T01:23:41Z p-21967 t-orivh26u0 ERROR: timeout

Unexpected error Connection-level error: CHANNEL_ERROR - expected 'channel.open'

My methodology for testing here is to queue up a thousand or more messages in RabbitMQ, then start up sneakers and see how it handles a cold start.
edit: Here's my full sneakers initializer if that's helpful:
require 'sneakers'
Sneakers.configure(:amqp      => ENV['AMQP_URL'],
                   :daemonize => false,
                   :prefetch  => 15,
                   :threads   => 15)

Did this get resolved? and if so can you share what changes you made?
I had a similar problem where Active Record didn't seem to be releasing connections after the work() method had completed. After a bunch of googling I found that you pass the block using Active Record to ActiveRecord::Base.connection_pool.with_connection and it released the connections perfectly.
Here's an example of how the call looks in a work method:
def work(msg)
  id = JSON.parse(msg)['id']
  ActiveRecord::Base.connection_pool.with_connection do
    user = User.find(id)
    user.name="Homer Simpson"
    user.save
  end
  ack!
end

Part of this could be an underlying Rails issue related to injected timeout exceptions on the handling thread: https://github.com/rails/rails/issues/1627
Could this be related to long-running jobs being aborted due to timeouts and the connections not properly closed? I think at this point you pretty much have to abandon a worker-thread and setup a fresh one once a random exception is raised on it.

I've run a number of tests which triggered Active Record exceptions thrown from within the ActiveRecord::Base.connection_pool.with_connection do ... end and the workers recovered fine and continued processing subsequent messages.

@drewnichols
ActiveRecord::Base.connection_pool.with_connection

Fixed the problem for me

You can set config in a Rails initializer as described here that established a new connection for each worker group similar to what heroku recommends for sidekiq:
Sidekiq.configure_server do |config|
  Sneakers.configure after_fork: Proc.new { ActiveRecord::Base.establish_connection }
end

In our setup, I've seen ActiveRecord::Base.connection_pool.with_connection throw an exception if the database connection pool is already exhausted.
Has anyone encountered this?

@marothstein how is that specific to Sneakers? Connection pools have limited capacity. Sometimes the right thing to do is to increase it, sometimes it's using more application instances.

is there a concern of reaching the max db connection limit if each worker group has its own connection pool?


Allow for Arbitrary Transforms on Options Dictionaries

With the goal of allowing elements in the options dictionary to be transformed into YAML, I've added a new function in the AgentUtils class called 'applyTransforms' which takes a dictionary of transformation functions and applies them to the options dictionary. The only function in this dictionary so far is 'toYaml' which recursively searches the dictionary passed to it replacing the value of any key beginning with 'YAML_' with it's YAML string equivalent, and removing the 'YAML_' from the key string.
Example:
data = {
  YAML_option1: {
    applications: {
      application: {
        functionId: "helloworld",
        functionType: "basic"
      }
    }
  }
}

applyTransforms(data) => {
  option1: "
    applications:
        application:
            functionId: helloworld
            functionType: basic"
}

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Utils] Revisit RealPath

This commit rewrites RealPath's equal commands.
ONE-vscode-DCO-1.0-Signed-off-by: dayo09<EMAIL_ADDRESS>
From #1011

@Samsung/one-vscode PTAL :-D


chore: load or create svgo.config.js

Note: This is a draft! It does work, and all tests are passing, but I'm not very familiar with the repository and wary that I haven't handled loading files and applying them to the webpack configuration correctly. (Or if you're even ok with that approach!)
This is mostly intended to be a starting point, any feedback or mentorship would be appreciated! Once we're happy with the implementation and interface, I can introduce new tests and documentation.
Pre-flight checklist

[x] I have read the Contributing Guidelines on pull requests.
[TODO] If this is a code change: I have written unit tests and/or added dogfooding pages to fully verify the new behavior.
[x] If this is a new API or substantial change: the PR has an accompanying issue (closes #0000) and the maintainers have approved on my working plan.

Motivation

There have been discussions about introducing an easier way for users to configure SVGO. This is an attempt to expose it similarly to how SVGO itself and SVGR does.

SVGO looks for a svgo.config.js (or .mjs/.cjs) file.
SVGR supports and recommends using a svgo.config.js file, though… based on the docs I don't know how. 😓

This PR makes it so if a svgo.config.js file is present in the site directory, it loads it instead of using what Docusaurus defines. If it is not present, Docusaurus uses a default config which is the same as before.
Changes

loadFreshModule is no longer async as it never called await internally anyway, this allowed me to use it in getFileLoaderUtils without much fuss.
when Docusaurus processes files, writes svgo.config.js to the generated files
when invoking getFileLoaderUtils, reads svgo.config.js from generated files and passes that config to SVGO.

Test Plan

Test links
Before
This is how the dogfooding page looked originally, and still looks when no svgo.config.js file is present. Docusaurus defines a default config if one isn't defined otherwise.

After
I now created a svgo.config.js file with the following content:
website/svgo.config.js
const path = require('path');

module.exports = {
  plugins: [
    {
      name: 'preset-default',
      params: {
        overrides: {
          removeTitle: false,
          removeViewBox: false,
        },
      },
    },
    {
      name: 'prefixIds',
      params: {
        delim: '',
        prefix: (_, info) => path.parse(info.path).name,
      },
    },
  ],
};

This is how the dogfooding page looks with the config applied. We load the config from the generated files, which is written to while building:

Deploy preview: https://deploy-preview-10211--docusaurus-2.netlify.app/tests/docs/tests/svgs/
Related issues/PRs

Closes https://github.com/facebook/docusaurus/issues/8297
Previous solution https://github.com/facebook/docusaurus/pull/10205
cspell errors added upstream in https://github.com/streetsidesoftware/cspell-dicts/pull/3280

Edit: I also just noticed https://github.com/facebook/docusaurus/issues/9192. No promises, but I'll give it a peek and see if this is something I can handle in the near future.

Thanks for your PR @SethFalco
I've decided to not merge it because the technical solution is not ideal.
There's a much cleaner solution: create a first-class SVGR plugin, implemented in https://github.com/facebook/docusaurus/pull/10677.
When SVGR is passed svgoConfig: undefined, it will look for a .svgo.config.js file on its own, so this gives us maximum flexibility. We keep retro-compatibility but let users opt-in for SVGR/SVGO config files if they want to, through preset options.
I've used your dogfood page/svg to ensure that it works and we are able to resolve the conflicts on our own site.

Yeah, no problem! I agree your solution is much better.
Happy to close this! 👍🏽

Thanks!
BTW I created a dedicated issue, if you want to help us improve our default SVGO config, let's discuss it here: https://github.com/facebook/docusaurus/issues/10679


MWPW-154026: Long CTAs fall in the second line in merch card footer

If the CTA text is long and there is a secure transaction label displayed, the CTA extends beyond the card because the secure transaction label has its height set to 100%. Removing this property does not break the footer elements' alignment in any card variation.
I added a block of four cards with long CTA text for testing.
Fixes MWPW-154026
Before:

After:

Test URLs:
Before:

https://main--mas--adobecom.hlx.live/
https://main--cc--adobecom.hlx.page/id_id/partnerpromo/zoomccsn
After:
https://MWPW-154026-cta-long-text--mas--mirafedas.hlx.live/
https://main--cc--adobecom.hlx.page/id_id/partnerpromo/zoomccsn?milolibs=MWPW-154026-cta-long-text--milo--mirafedas

@mirafedas  Validated in Milo, but don't have access to This repo to add label , asked @npeltier  to provide :)


Changes in UserStorageService not tracked

In order to resolve SpongePowered/SpongeAPI#1989 satisfactorily, the classes which hold onto UserStorageInstance variables will need to update them on service provider change.

MixinEntity
MixinEntity_Tracker
MixinChunk_Tracker

Are all the classes which contains a field reference to UserStorageService.

Feel free to open this if this gets added to API, right now this issue isn't really relevant unless I'm missing something?

I mean it is still, it's a bug for it not to know who is storaging users, whether not it's actually possible to create one yet.


run-community-server.sh fails to detect docker in newer linux kernels (cgroups-v2) and fails to start

This line in run-community-server.sh:
if cat /proc/1/cgroup | grep -qE "docker|lxc|kubepods|libpod"; then

Doesn't work any more. On linux 5.10 when I cat this inside docker containers I get:
# cat /proc/1/cgroup
0::/

This is expected behavior, according to the cgroups-v2 documentation:

If legacy cgroup is in use in the system, this file may contain multiple lines, one for each hierarchy.  The entry for cgroup v2 is always in the format "0::$PATH"

This results in the DOCKER_ENABLED variable set incorrectly and the server failing to start.
This stackoverflow question mentions the problem but no one has answered yet.

Hello @caldwell Sorry, but i can't reproduce your problem. Please describe how you run the docker container?

I'm running docker compose up. The relevant part of the log shows this:
+ cat /proc/1/cgroup
+ grep -qE 'docker|lxc|kubepods|libpod'
+ DOCKER_ENABLED=false

That corresponds to this part of the startup script:
if cat /proc/1/cgroup | grep -qE "docker|lxc|kubepods|libpod"; then
        DOCKER_ENABLED=true;
else
	DOCKER_ENABLED=false;
fi

To debug I ran the docker image by hand:
$ docker run -it --rm --entrypoint /bin/bash onlyoffice/communityserver:<IP_ADDRESS>8
root@6913a5edf206:/# uname -a
Linux 6913a5edf206 5.10.0-3-amd64 #1 SMP Debian 5.10.13-1 (2021-02-06) x86_64 x86_64 x86_64 GNU/Linux
root@6913a5edf206:/# cat /proc/1/cgroup
0::/
root@6913a5edf206:/#

Searching for that 0::/ let me to the cgroups-v2 documentation, which my Debian box appears to be using.

Sorry, but I still can't reproduce your problem. It seems to be in the host machine. What OS are you using? Have you tried updating to the latest version or using a different OS?

I'm running Debian "testing". It's probably working for you because you are on an OS with the old cgroups. On my Debian "testing" machine it only has the new stuff:
$ mount | grep cgroup
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime)

On an older Ubuntu Bionic machine it has both:
$ mount | grep cgroup
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma)

I tracked this down to the Debian version of systemd:
systemd (247.2-2) unstable; urgency=medium

  * Switch to "unified" cgroup hierarchy (i.e. cgroupv2) (Closes: #943981)

 -- Michael Biebl<EMAIL_ADDRESS>Mon, 21 Dec 2020 20:06:49 +0100

The bug referenced is this: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=943981
That version of systemd isn't in Ubuntu 20.04.2 LTS ("Focal"), since the change seems to have happened in Jan, 2020. It looks like Ubuntu 21.04 doesn't have it either—according to this they explicitly turned it off because their snap stuff wasn't working. Though you'll notice in the bug referenced in that email that they're attempting to get unified cgroups in 21.10.

Hi,
I just wanted to inform you, that I have the same issue with Debian Bullseye (stable).
I use OnlyOffice Workpsace Enterprise with docker, and with Debian Bullseye, community server keep restart in loop.
The docker logs says "System has not been booted with systemd as init system (PID 1). Can't operate.".
Some users complains that the service was not accessible anymore, so I reinstalled the server with Debian Buster (oldstable) and everything is working.
I think there is a problem with cgroup v2 and docker.
I hope someone can find a solution.

I think the easy solution would be to set the DOCKER_ENABLED environment variable in the Dockerfile and not try to autodetect docker in run-community-server.sh.


Simplified setup and docs

Some suggestions and notes I tried to document or simplify while working on Aleph.
There's a new installation guide I would like to get some feedback on.
I also tried to simplify the dockerfiles where possible and reduce the footprint of running Aleph containers.
Following the guide, getting started with a local development instance now should be much easier and clear.
/cc @pudo

@pudo this should be ready for a final review. I will update the #112 in the meantime.

Thanks, this is really useful.


OLD TOMCAT, a meme coin

Hi,
I humbly request adding my token to the explorer.

hey there, I assume you don't need that PR so i'll close it but feel free to reopen and tag me if you still need it.


Missing getelementptr operation in the LLVM dialect

Expected Behavior
The operation in question would be generated (alongside a pattern).
Actual Behavior
Only the documentation is present.
Steps to Reproduce the Problem

Check https://google.github.io/mlir-hs/mlir-hs-<IP_ADDRESS>/MLIR-AST-Dialect-LLVM.html#g:58

Comments
For a couple missing operations in mlir-hs, the solution was adding missing Attributes in the Haskell side, but in this case I'm not very sure why hs-generators.cc refuses to generate it.

Turns out you can pass -explain-mising to hs-generators.cc from Setup.hs. It's missing the I32ElementsAttr attribute!

You'll probably run into #36 post enabling it, it is easy to skip generating the test for these ops but I didn't check if this works past this then.

That's weird. While this might be a good fix for getelementptr, I don't think that it's a change we should make in general. It just seems that I32ElementsAttr doesn't carry enough information, meaning that we're unable to choose a universally good variant here. If we see 5 integers, are they a dense array of 5 ints, or are they a 1-sized array containing a 5-sized vector of ints? They're both, but we have to choose one! Seems like there might be another kind of attribute type that should be added on the MLIR side to disambiguate situations like this one.

I32ElementsAttr's type in MLIR is a Tensor of rank 0 with i32 (https://github.com/llvm/llvm-project/blob/45428412fd7c9900d3d6ac9803aa7dcf6adfa6fe/mlir/include/mlir/IR/OpBase.td#L1542), but that's only the ODS definition (that should apply locally here during op builder generation). There is the more general case of DenseElementsAttr where the type and values would be needed indeed.


Helm chart add support for toleration

Is your feature request related to a problem? Please describe.
Currently there are only fields for nodeSelector. We should have the same fields for tolerations
Describe the solution you'd like
Add the fields similar to nodeSelector
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Urgency
Explain why the feature is important
Additional context
Add any other context or screenshots about the feature request here.

This is solved by https://github.com/Alluxio/alluxio/pull/13214


Missing instructions for pushing images to private container registry

Rerference,https://docs.microsoft.com/en-us/azure/iot-edge/how-to-visual-studio-develop-module#build-and-push-images
Visual Studio developer has clean flow of pushing those images, but Visual Code setup is missing. We spent couple of hours to find this information, it is good to add this details in this page for clean flow.

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

ID: 5a3f2f86-40bf-19f2-4f56-9dc71ed47fa2
Version Independent ID: 20e8912c-4a10-68b9-c46a-e945a62421d6
Content: Develop and debug modules for Azure IoT Edge
Content Source: articles/iot-edge/how-to-vs-code-develop-module.md
Service: iot-edge
GitHub Login: @shizn
Microsoft Alias: xshi

@mohandatla Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

Hi @mohandatla,
I noticed this old document feedback issue. The feedback was addressed in an update earlier this year. We added CLI instructions for build and push. I'm going to close the issue.
Thanks,
Pat
#please-close


Replace mailhog with mailpit

Description
Since a long time we rely on mailhog in development without much of a hassle. Although mailhog isn't maintained anymore it seems to work fine for Django and this particular project
In another (non Django) project we experience some issues with the parsing of multipart headers.
The successor of mailhog, mailpit doesn't have this issue and is actively maintained.
Rationale
I would like to propose to replace mailhog with mailpit so even our mail container is actively maintained.

I didn't know mailhog was no longer maintained, I'm not using much myself... Looking at the repo activity, I think you're right: issues and PR are being opened but receive little attention, no many commits in past years.
I don't have any objections to move to something else, especially since you're bringing a good reason to do so. PR welcome. Should hopefully be an easy one?


CSV export missing always 1 value

Click on CSV to download the table in a CSV format. For some reason, every single time, there's always one item missing in the list.
Furthermore, if you have only one, then the CSV is just empty.

Anyone noticed as well that the UI table show me the latest item at top, but the CSV show me the latest added/updated item at the bottom of the list?


Implement coprime_pairs

The algorithm comes from the "Generating all coprime pairs" Section of this wiki page.
I don't know how to properly refer to it. Is it fine to use a url in the comment? What if the wiki page changes?

The algorithm comes from the "Generating all coprime pairs" Section of this wiki page. I don't know how to properly refer to it. Is it fine to use a url in the comment? What if the wiki page changes?

I think providing the url would be okay. If we are too concerned about the fact that the page can change, we might consider using a link from archive.org with a fixed date of the page.


how to load with gdb server with FDMKL28 with DAPLINK

Hi Sirs,
I try to use pyocd to download the FRDMKL28Z board. below is the command line
python gdb_server.py -b 02900203C3403E730000000000000000000000003EBCC31B -p 3333
and it starts fine with below log

Welcome to the PyOCD GDB Server Beta Version
INFO:root:DAP SWD MODE initialised
INFO:root:KW40Z4 not in secure state
INFO:root:ROM table #0 @ 0xf0002000 cidr=b105100d pidr=8e000
INFO:root:[0]<f0000000:MTB-M0+ cidr=b105900d, pidr=4001bb932, class=9, devtype=3
1, devid=0>
INFO:root:[1]<f0001000:MTBDWT cidr=b105900d, pidr=8e000, class=9, devtype=4, dev
id=0>
INFO:root:[2]<f0006000:CTI cidr=b105900d, pidr=4000bb9a6, class=9, devtype=14, d
evid=1040800>
INFO:root:[3]<e00ff000:ROM cidr=b105100d, pidr=4000bb4c0, class=1>
INFO:root:ROM table #1 @ 0xe00ff000 cidr=b105100d pidr=4000bb4c0
INFO:root:[0]<e000e000:SCS-M0+ cidr=b105e00d, pidr=4000bb008, class=14>
INFO:root:[1]<e0001000:DWT-M0+ cidr=b105e00d, pidr=4000bb00a, class=14>
INFO:root:[2]<e0002000:BPU cidr=b105e00d, pidr=4000bb00b, class=14>
INFO:root:CPU core is Cortex-M0+
INFO:root:2 hardware breakpoints, 0 literal comparators
INFO:root:2 hardware watchpoints
INFO:root:Telnet: server started on port 4444
INFO:root:GDB server started at port:3333

but when I try to load it with gdb

$ arm-none-eabi-gdb.exe qca_demo.out
GNU gdb (GNU Tools for ARM Embedded Processors) <IP_ADDRESS>50604-cvs
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=i686-w64-mingw32 --target=arm-none-eabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from qca_demo.out...done.
(gdb) target remote localhost:3333
Remote debugging using localhost:3333
0x1c000140 in ?? ()
(gdb) load
Loading section A0 rw, size 0x140 lma 0x0
Loading section P3 ro, size 0x10 lma 0x400
Loading section P4 ro, size 0x17da0 lma 0x410
Error finishing flash operation

and the gdbserver log is as below:

INFO:root:One client connected!
[                    ]   0%ERROR:root:programPage(0x0) error: 102
[                    ]   2%ERROR:root:programPage(0x400) error: 102
[                    ]   3%ERROR:root:programPage(0x800) error: 102
[                    ]   4%ERROR:root:programPage(0xc00) error: 102
[=                   ]   5%ERROR:root:programPage(0x1000) error: 102
[=                   ]   6%ERROR:root:programPage(0x1400) error: 102
[=                   ]   7%ERROR:root:programPage(0x1800) error: 102
[=                   ]   8%ERROR:root:programPage(0x1c00) error: 102
[=                   ]   9%ERROR:root:programPage(0x2000) error: 102
[==                  ]  10%ERROR:root:programPage(0x2400) error: 102
[==                  ]  11%ERROR:root:programPage(0x2800) error: 102
ERROR:root:Too many page programming errors, aborting program operation
[====================] 100%
ERROR:root:Unhandled exception in handleMsg:
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\pyOCD\gdbserver\gdbserver.py", line 459, i
n handleMsg
return self.vCommand(msg[2:]), 0
File "C:\Python27\lib\site-packages\pyOCD\gdbserver\gdbserver.py", line 622, i
n vCommand
return self.flashOp(data)
File "C:\Python27\lib\site-packages\pyOCD\gdbserver\gdbserver.py", line 748, i
n flashOp
self.flashBuilder.program(chip_erase=self.chip_erase, progress_cb=progress_c
b, fast_verify=self.fast_program)
File "C:\Python27\lib\site-packages\pyOCD\flash\flash_builder.py", line 254, i
n program
self.flash.target.resetStopOnReset()
File "C:\Python27\lib\site-packages\pyOCD\target\coresight_target.py", line 16
1, in resetStopOnReset
return self.selected_core.resetStopOnReset(software_reset)
File "C:\Python27\lib\site-packages\pyOCD\coresight\cortex_m.py", line 539, in
resetStopOnReset
while (self.isRunning()):
File "C:\Python27\lib\site-packages\pyOCD\coresight\cortex_m.py", line 572, in
isRunning
return self.getState() == Target.TARGET_RUNNING
File "C:\Python27\lib\site-packages\pyOCD\coresight\cortex_m.py", line 553, in
getState
dhcsr = self.readMemory(CortexM.DHCSR)
File "C:\Python27\lib\site-packages\pyOCD\coresight\cortex_m.py", line 401, in
readMemory
result = self.ap.readMemory(addr, transfer_size, now)
File "C:\Python27\lib\site-packages\pyOCD\coresight\ap.py", line 173, in readM
emory
result = readMemCb()
File "C:\Python27\lib\site-packages\pyOCD\coresight\ap.py", line 160, in readM
emCb
res = result_cb()
File "C:\Python27\lib\site-packages\pyOCD\coresight\dap.py", line 280, in read
APCb
result = result_cb()
File "C:\Python27\lib\site-packages\pyOCD\pyDAPAccess\dap_access_cmsis_dap.py"
, line 564, in read_reg_cb
res = transfer.get_result()
File "C:\Python27\lib\site-packages\pyOCD\pyDAPAccess\dap_access_cmsis_dap.py"
, line 116, in get_result
self.daplink.flush()
File "C:\Python27\lib\site-packages\pyOCD\pyDAPAccess\dap_access_cmsis_dap.py"
, line 497, in flush
self._read_packet()
File "C:\Python27\lib\site-packages\pyOCD\pyDAPAccess\dap_access_cmsis_dap.py"
, line 650, in _read_packet
decoded_data = cmd.decode_data(raw_data)
File "C:\Python27\lib\site-packages\pyOCD\pyDAPAccess\dap_access_cmsis_dap.py"
, line 333, in decode_data
data = self._decode_transfer_data(data)
File "C:\Python27\lib\site-packages\pyOCD\pyDAPAccess\dap_access_cmsis_dap.py"
, line 276, in _decode_transfer_data
raise DAPAccessIntf.TransferFaultError()
TransferFaultError

again it is OK, if I use the IAR CMSIS-DAP interface.

Hi @hakehuang, the log shows that pyOCD thinks this is a FRDM-KW40Z and not a FRDM-KL28Z. The version of DAPLink on your KL28 board is old (it is reporting ID 0290); we had to change its board ID to 0205 because 0290 was already taken by the FRDM-KW40Z.
Are you using a pre-production FRDM-KL28Z? I thought this was fixed for the final production run.
If you don't want to update the DAPLink firmware, you can use the -t frdmkl28z command line option to force the target to the correct board.

@flit , you are right, I update to the latest daplink then it works now. Thanks


Maintained?

Hi there
We are a HPE customer and found this work here. Are you still behind this project?

Thank you for checking in.  We are happy to assist here. Its been a while, not updated changes to repo. If there is a customer opportunity, we can work it out. Could you please share details at<EMAIL_ADDRESS>like customer name, oneview version, hardware  type ( Synergy or Rackmount ) and high level requirements. We can guide you the right way.

Done that, thanks! I prefer to move the technical discussion into the public again at some point.

@prakashmirji do you still maintain it?


Mosaic Dataset "OperationalImagery.gdb\SIRC" does not contain any records

The data server contains the following empty mosaic dataset:
data\FoundationOverlays\OperationalImagery\OperationalImagery.gdb\SIRC
The data server does contain related images:
data\FoundationOverlays\OperationalImagery\SIRC (but ArcMap can't read any of these images)
Are there any services using this data? Is this data being used for the ImageDiscovery app?
If this data and empty mosaic dataset are not being used for anything can it be deleted or removed to another server so it's not included in the TEM2015 release?

Deleted.


Deploy to Heroku throws 404

The Deploy to Heroku button throws a 404 page not found error. It links to https://github.com/DemocracyOS/app/blob/development/bit.ly/1Ov2eSL
But the "blob" folder does not exist. Somebody forgot to push it to the main branch?

Thanks @jnicolau for the heads-up. It's fixed now.

:sweat: