Custom permission logics documentation

I am really struggling to understand how I am meant to use custom permission logics, I am pretty sure I am 99% of the way there, and that they're what I want, but the documentation is so sparse it's really putting me off, but yours appears to be the only library that seems to cater for this requirement.
My current error is django.contrib.auth.models.DoesNotExist simply because the row doesn't exist in the auth_permission table.
Now, I have no desire to maintain database records to describe my permissions – but I'd be happy to create these if necessary, but what I don't understand is what or where should be doing that, or more importantly, what binds permissions to logics, how does it know which logic class to run based on the permission being checked, and if it's multiple or all of them, what happens if one logic says yes and another says no? Unanimous voting? ¯\_(ツ)_/¯

Is it to do with app prefixes, if the permission has an app prefix yourapp.something_or_other should it run through the permission logic classes on that app rather than hit the db? Again, still don't get how it correlates which logic to use... but still, just thinking out loud / trying to describe the conclusions I am drawing based on docs zero.

So, permissions are bound to models, and a model can only have one permission logic? I think that may have been the salient piece I was missing.

Or do permissions bound to a user or their group(s) via db override class-based logics?

No, it appears, if a custom logic is set for a model then it is always ran and the db described permissions joint to the user/group are ignored?

Ok. I'm not really sure that I understand your question correctly so let me know I'm in out of your question.

Now, I have no desire to maintain database records to describe my permissions – but I'd be happy to create these if necessary

A database is required while django's default permission system use database and django-permission use an instance of django.contrib.auth.model.Permission, mean that you have to make it possible to create an instance of that.
django-permission is non database based permission system but it is built on a django's default permission system thus minimum database for that permission system is required (django.contrib.auth).

what binds permissions to logics, how does it know which logic class to run based on the permission being checked

A django permission (django.contrib.auth.models.Permission) instance is connected to a model instance. It is a default behavior of django and it is not related to django-permission.
Based on this default mechanism, django-permission use this connection to find permissions which are connected to a specified model (https://github.com/lambdalisue/django-permission/blob/master/src/permission/utils/permissions.py#L113). Thus if you specify a permission, django-permission automatically iterate permission logics bound to a particular model (internally, a model is connected a handler and a handler call all permission logics: https://github.com/lambdalisue/django-permission/blob/master/src/permission/handlers.py#L217).

and if it's multiple or all of them, what happens if one logic says yes and another says no? Unanimous voting? ¯_(ツ)_/¯

In general, any django permission system, include django-permission, prefer True, mean that if one of a permission logic (or backends of other permission system like django.contrib.auth.backends.ModelBackend) return True, django treat the user have the permission.

So, a permission is bound to a single model, like normal, and a model can only have one permission logic? I think that may have been the salient piece I was missing.

No. Multiple permission logics can be specified to a single model, even mutliple models.

Or do permissions bound to a user or their group(s) via db override class-based logics?

No. permissin logic bound to a model.

No, it appears, if a custom logic is set for a model then it is always ran and the db described permissions joint to the user/group are ignored?

I don't really get what you ment in this sentence.

If you show me your source code, I think I can help you to solve your problem more correctly. Or if you need any real example, take a look the followings (several comments are written in Japanese but I'm sure that you can understand what they do from the source code).

A role based permission logic (A custom user model have role field)
https://github.com/kawazrepos/Kawaz3rd/blob/develop/src/kawaz/core/personas/perms.py
Complex permission logic for an event model which have a deadline or attendee restrictions
https://github.com/kawazrepos/Kawaz3rd/blob/develop/src/kawaz/apps/events/perms.py
Complex permission logic for a project which have publish status (like draft, internal, public)
https://github.com/kawazrepos/Kawaz3rd/blob/develop/src/kawaz/apps/projects/perms.py

I appreciate the time you've taken here thanks.
I am pretty sure I've wrapped my head around it, I was just leaving the nonsensical comments as a way of seeing the thought process I went through to get to this point.
Affirmative approach
I think it's worth outlining how your library takes the affirmative approach, even if other Django permissions tend to do it the same way, just to make it clear – personally, I am mapping your approach to my Symfony2 understanding described at http://symfony.com/doc/current/components/security/authorization.html#access-decision-manager

affirmative (default)
grant access as soon as any voter returns an affirmative response;

One for the docs?
--
So, based on:

Multiple permission logics can be specified to a single model, even multiple models.

All custom logics I attach to a model will be ran, and as long as at least one returns True, the user is allowed the permission, otherwise they are not, and the order in which they're ran should be irrelevant. Yes?
Custom logic vs db values

No, it appears, if a custom logic is set for a model then it is always ran and the db described permissions joint to the user/group are ignored?

What I was asking here is whether the custom logic negates any values in the user_permissions table – but based on what you've described "prefer True", that as long as either a custom logic returns True, or a user is bound to a permission via user_group_permissions or user_permissions, that as long as one of them is True, they'll be granted that permission?

I think it's worth outlining how your library takes the affirmative approach, even if other Django permissions tend to do it the same way, just to make it clear

Agree. But it was(is) difficult to explain the behavior in ENGLISH for me.... I even didn't know the word affirmative. If you don't mind, could you add the document about it into README.md?

All custom logics I attach to a model will be ran, and as long as at least one returns True, the user is allowed the permission, otherwise they are not, and the order in which they're ran should be irrelevant. Yes?

Yes. As soon as one of permission logic return True, a permission logic handler (which exists mainly for really really complicated permission handling and user usually don't need to know the presence) return True (https://github.com/lambdalisue/django-permission/blob/master/src/permission/handlers.py#L256) and a permission backend return True (https://github.com/lambdalisue/django-permission/blob/master/src/permission/backends.py#L71) and finally django.contrib.auth.model._user_has_perm' return True` (https://github.com/django/django/blob/master/django/contrib/auth/models.py#L281).

What I was asking here is whether the custom logic negates any values in the user_permissions table – but based on what you've described "prefer True", that as long as either a custom logic returns True, or a user is bound to a permission via user_group_permissions or user_permissions, that as long as one of them is True, they'll be granted that permission?

Yes. Absolutely.

And based on what I've seen in my experiments, even if a user is bound to a permission for a model via the db, the custom logics will still run, even if they're already granted by a db relation?

Hum.. It should be NO for non object permission. Based on django's permission system, one of a permission backend return True, other permission backend should not be called (https://github.com/django/django/blob/master/django/contrib/auth/models.py#L281).
If you are talking about object permission, the django's permission backend always return False (https://github.com/django/django/blob/master/django/contrib/auth/backends.py#L68) thus permission logics will be called always (if you don't use other permission plugins).

Yeah sure, I've still got to actually try and build my thing – but assuming I succeed I'll come back and update the docs once I've wrapped my head around it, no problem, nudge me if I forget.
A voter style system might also be a worthwhile venture if it's something you think could be implemented, my preference for permissions systems is "unanimous" voting – and /all/ that would require is making sure all applicable logics ran all of the time (i.e. didn't stop once one returns True) and for there to be the ability to return an "abstain" vote – which could be described by a constant or maybe just None – just food for thought, I'll create an issue to describe it further if you think it's something you'd ever be interested in merging.

@lambdalisue last question for now, what is meant to create the permission records my custom logics expect, do I just create them in migrations, or is there some meaningful way to describe what permissions a logic supports?

A voter style implementation/mode might also be a worthwhile venture if it's something you think could be implemented/are interested in, my preference for permissions systems is "unanimous" voting – and /all/ that would require is making sure all applicable logics run all of the time (i.e. didn't stop once one returns True) and for there to be the ability to return an "abstain" vote – which could be described by a constant or maybe just None – just food for thought, I'll create an issue to describe it further if you think it's something you'd ever be interested in merging.

Hum... Sounds nice. Permission Logics can also be used in that way with simple code modification. However, I'm afraid that it may confuse users while django's permission system is affirmative and I cannot change the behaviour of that, mean that even all Permission Logic return False (not None), django will give a permission to a user if one of the other permission backends return True.
Anyway, feel free to ask questions related to django-permission if you struggle again :-)

Sounds like a good reason to not bother to me, fair enough!

@lambdalisue a little offtopic but do you have any recommendations for naming conventions/structure with regards to object permissions – a lot of my requirements are still basic CRUD permissions, but against other objects e.g. "user can create a comment against this article but not all articles"
Now I am using Django 1.6, so I can't trash the default permissions easily – which means I already have a bunch like add_comment against the Comment mode. Would you recommend setting up an additional add_comment permission for the Article model, and then using that as an object permission, or does this generally cause pain? Just wondering what the recommended approach is.

We usually use <app_label>.<verb>_<model> while django follow this rule and that's why project newbies can guess the role of the permission from its name. And if you add any extra add_comment for other models (like blogs.add_comment), it is quite difficult to find which application use the permission (blogs app does not add a comment, comments app add a comment to a blog), thus I recommend you to follow the django's rule.
While django-permission provide if template tag, it is quite natural naming for me (for non native lol).
{% if user has 'comments.add_comment' of obj %}
You can add a comment to the object
{% endif %}

@lambdalisue is the app label actually used for anything? I had assumed it had to correlate to the application to which the model belongs – am I right in thinking it's just semantic?
Are you saying that it makes more sense to put a custom permission logic governing whether a comment can be created against an article in the comments application's perms.py, rather than in the blogs application? e.g.
# /comments/perms.py
...
PERMISSION_LOGICS = (
    ('blogs.Article', ArticleCommentPermissionLogic()), # <--
    ('comments.Comment', CommentPermissionLogic()),
)

Hm, surely the above wouldn't work because it wouldn't find a django_content_type of Article that has an app_label of comments ?

If you want to control permissions of comments.Comment, you should bind a permission logic to a comment model not to an article model even if you want to control a behavior for adding comment on the article model.
For example, if you want to allow guest users to add comments on blogs.Article but other models, the following two permission logics can handle the situation.
# /comments/perms.py
class CommentPermissionLogic(PermissionLogic):
    def has_perm(self, user_obj, perm, obj=None):
        if perm not in ('comments.add_comment',):
            # Unknown permission is specified, just ignore
            return False
        # Login users can add a comment
        return user_obj.is_authenticated()

PERMISSION_LOGICS = (
    ('comments.Comment', CommentPermissionLogic()),
)

# /blogs/perms.py
# It is quite blogs.Article specified permission logic thus I would put the code under 'blogs'
class ArticleCommentPermissionLogic(PermissionLogic):
    def has_perm(self, user_obj, perm, obj=None):
        if perm not in ('comments.add_comment',):
            # Unknown permission is specified, just ignore
            return False
        if perm == 'comments.add_comment' and obj is not None:
            # Note:
            #   This is a special case. Usually 'add' permission does not have 'obj' while
            #   'add' permission is non object permission.
            #   To figure out which object is going to be commented, I defined this special case
            #
            #       If a object is specified to 'comments.add_comment' permission, treat that
            #       object as an object which going to be commented.
            #
            #   To establish this, you have to specify an object going to be commented below.
            #   Note that <obj> in the following represent an object going to be commented.
            #
            #       {% If user has 'comments.add_comment' of obj %}
            #
            if isinstance(obj, Article)
                # Everybody can add a comment to blogs.Article
                return True
        return False
PERMISSION_LOGICS = (
    ('comments.Comment', ArticleCommentPermissionLogic()),
)

I split the logic into two permission logic but If you want, you can join them together. I just prefer to make systems independent as much as possible (If you split the logic into two logics, at least comments.Comment is independent).

Note that this is a bit hackish way. add permission should be a non object permission in general thsu the above strategy won't work without django-permission. You'll never be able to do such things in other permission system so make sure your collaborators understand the definition of that special case (django-permission is too flexible. this is an advantage and disadvantage of django-permission)


Column shows only empty fields after setting Table Column Options

[X ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here

Current behavior
If I set a table column option to 'name', the whole column will be empty.
Expected behavior
I want to set the table column option to 'name' to be able to sort the entries.
Reproduction of the problem
I followed the guide of ngx-datatable and I came to the example table. So I tried to test it with the given entries:
export class AppComponent { rows = [ { name: 'Austin', gender: 'Male', company: 'Swimlane' }, { name: 'Dany', gender: 'Male', company: 'KFC' }, { name: 'Molly', gender: 'Female', company: 'Burger King' }, ]; columns = [ { prop: 'name' }, { name: 'Gender' }, { name: 'Company' } ]; }
This was working like charm. Sorting was running etc. Afterwards I gave it a try by using own data.
For example:
[   {     "TAG": "DimProduct",     "NAME": "Produkt",     "COMM": "Produktdimension"   },   {     "TAG": "DimTime",     "NAME": "Zeit",     "COMM": "Zeitdimension"   },   {     "TAG": "DimChannel",     "NAME": "Verkaufskanal",     "COMM": "Verkaufskanaldimension"   } ]
So as you can see that the struct is nearly the same.
Then I edited the columns to fact my entries:
`
[
{ prop: 'TAG' },
{ prop: 'NAME' },
{ prop: 'COMM' }
]
`
This is also working fine. But what if I try to sort something? Then I need to switch one field property to 'name' instead of 'prop'. If I do this, the table shows the whole Column with empty fields. All other columns are working.
What is the motivation / use case for changing the behavior?
My motivation is to find a solution for this :)
Please tell us about your environment:
Windows 10, PHPStorm, ng, npm, Apache/XAMPP(no matter in this case), Angular2CLI

Table version: 0.7.x
always latest

Angular version: 2.0.x
always latest, AngularCLI

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

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

Really, really thank you for your time!!!

Use prop, name is only for display name.
If no prop is defined it will automatically camel case name.

Hi, i have a data like this
[ {Name:'Carl', Gender:'Male'}, {Name:'Dany', Gender: 'Male'}]
and i provided prop, name and both but still the table is blank.
Please help


Customized stylings related to @material-ui are not working in production mode

As per our project requirement, we customized the few stylings in ‘devexpress/dx-react-grid’ which internally using material-ui and those are working as expected in the development environment.
But when build our project in production mode then the customization which we wrote are not working.
When we observed the issue, in developing the class names for ‘material-ui’ are different than production mode.
Development mode screenshot shows proper class names

Production mode screenshot shows shortened class names

We tried to override the font for Table header like
[class*='TableCell-cell'],
[class*='TableHeaderCell-cell'],
[class*='MuiTableCell-body'] {
  font-family: $qtm-font-face__font-family--default;
}

This is one example I given which we done customize in our project related to material-ui.
Webpack production mode configuration
mode: 'production',
 optimization: {
   runtimeChunk: false,
   noEmitOnErrors: true,
   minimizer: [
     new UglifyJSPlugin({
       // sourceMap: true,
       parallel: true,
       uglifyOptions: {
         compress: {
           inline: false,
           drop_console: true
         },
         output: {
           comments: false
         },
         mangle: true
       }
     })
   ],
   splitChunks: {
     cacheGroups: {
       commons: {
         test: /[\\/]node_modules[\\/]/,
         name: 'vendors',
         chunks: 'all'
       }
     }
   }
 },
 plugins: [
   new webpack.optimize.OccurrenceOrderPlugin(true),
   new OptimizeCSSAssetsPlugin(),
   new MiniCssExtractPlugin({
     filename: 'css/[name].[contenthash:8].css',
     chunkFilename: 'css/[name].[contenthash:8].css'
   }),
   new webpack.optimize.AggressiveMergingPlugin(),
   new CopyWebpackPlugin([
     { from: 'client/assets/help', to: 'help' }
   ])
 ]

Current behavior:
In production mode, our customized font is not affecting.
Expected behavior:
As we are using the same class names, in production mode it should override with the customized font.
Your Environment 🌎

Tech
Version

Material-UI
v1.5.1

React
v16.8.2

@devexpress/dx-react-grid
v1.10.1

@devexpress/dx-react-grid-material-ui
v1.10.1

Webpack
v4.29.6

Question
I can see 'material-ui.development.js' and 'material-ui.production.min.js' under node_modules/@material-ui/umd folder.
I am feeling in our project production mode, it is considering 'material-ui.development.js' file and doing minification on that file, that's the reason class names are converting into shortened.
Do we need to do anything in the webpack side to consider 'material-ui.production.min.js' file in production mode or let me know how to fix this issue? It is a blocker for our project.

@prepaka We have handled the problem in v4. The class names are now, by default, global:

Can't I do anything in V1.5.1 either from web pack or any other way without upgrading to v4?

@prepaka Yes, you can use the dangerouslyUseGlobalCSS option: https://v3-9-0.material-ui.com/customization/css-in-js/#creategenerateclassname-options-class-name-generator.


Log messages rate limit

Issue Summary:
On the 27th of September, 2023, a bug was reported to multiple core team members involving an excessive logging issue that resulted in a server outage. The detailed log message is as follows: ( message have WARN level, however is FATAL )
{"timestamp":"2023-09-27T00:13:01.143965Z","level":"WARN","fields":{"message":"consensus is active, not shutting down","fatal_ann":"fatal error [node/src/reactor/main_reactor/control.rs:199]: attempt to deactivate inactive era era 10894"},"target":"casper_node::reactor::main_reactor"}
This issue led to a rapid accumulation of log files, consuming all available disk space and subsequently causing the server to crash. Recently, I was informed by a team member, Joe, that this issue was addressed in release 1.5.6. While this is commendable, it appears that the broader implications of the problem were not fully addressed.
Further details of the issue can be checked at the below link:
https://github.com/casper-network/casper-node/issues/4536

Duplicate of #4536


Interact with real time environment

Hi, may I ask how to use this library for real time environment instead of gym environments ?

Hey, for real-time environments, you should still wrap them with the standard gym interface, and you can then use the AsyncActor class instead of the default actor class which will interact with your environment continuously, and not stall the environment during training.
If you have many environment instances and/or want to run them remotely you can also look at the option of running them in a Ray acting pool.


iOS issues

on iOS,
1 . autoplay isn't working.
2. Seekbar shows NAN on total time.

1 . autoplay isn't working.
IOS 9 + , audio autoplay is disabled, must be user trigger . like clicked a button to play song.
I've optimized it in a number of ways. so autoplay isn't working

Seekbar shows NAN on total time.
please tell me more detail. like audio duration ? audio size? did the audio load fail? what error message does the console print?  use onAudioLoadError

Unfortunately the error is only on iPhone have a look

Can you please roll out some update for this?

I have tested iphone6s and iphone x and found no problem. Please give me an online url, otherwise I don't know how to solve it, like codesandbox

peanutplayer.com

Conversion failed to play the song

Its works with YouTube only, please use YouTube video

please give me a valid video url

https://youtu.be/Pkh8UtuejGw

http://<IP_ADDRESS>:3478/watch?v=Pkh8UtuejGw
Because the browser cannot get this song  duration

open the resource

your audio response type

My audio format is mp3 so it parses normally

so. cannot get duration It has to do with the format of your audio
It has nothing to do with the player

And I have some Suggestions
This is just a project of my hobby, because I like music
But if you have a problem like this, you can try to solve it
After all, I don't have much time
because this is just to play some music
There is no way to meet all the business needs
Finally, thank you for using this player


Using DMX Input

Hello!
I am looking for a way to use a DMX as an input to home assistant, so that I can use the physical sliders on my DMX board to control the lights in my home! I wasn't sure if this projects supports that, or if this is just for DMX output.

Currently, not yet. But I've got an experimental branch that should get this feature if I get it to work. Will try to get that out in the coming weeks.

@Breina Oh great, that is exciting! I have a lighting board I can play with and just bought a Enttec DMX USB Pro.

Added in v0.1.2: https://github.com/Breina/ha-artnet-led/releases/tag/v0.1.2
Please test and report any issues you may find. :)

@Breina oh so cool!

Closing due to inactivity, and it's been tested thoroughly regardless.


Fixed Navbar close on link click

Closes #2464
Added the onClick event on the NavLink to fix the issue.

Check List (Check all the applicable boxes)

[ ] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.
[ ] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

Screenshots

Note to reviewers

Hey @Somidh , I tried running the code on gitpod but it doesn't seem to close the navbar. I have left some comments in the code review I think that might be the case.


Rename the class from "BscProcTest" to "BscProcTestDlg"

Rename the class from "BscProcTest" to "BscProcTestDlg"

Fixed it


[Stepper] Support reverse vertical stepper

Current Behavior 😯
My issue is basically the same as the one below.
https://github.com/mui-org/material-ui/issues/15784
it is marked as solved but in the code sandbox the connector lines are messed up
Node 1 has a line going down while Node 2-> 3 does not have a complete connector line.
https://codesandbox.io/s/material-demo-75ehz
Expected Behavior 🤔
Node 3 content now has the ".MuiStepContent-last" class which removes the border-left (connector line).
The class should be removed and be applied to Node 1, so there is no extra line below node 1
Steps to Reproduce 🕹
https://codesandbox.io/s/material-demo-75ehz
Your Environment 🌎

Tech
Version

Material-UI
v4.5.0

React

Browser
Chrome

Context
I know what needs to be done to solve the issue (removing the MuiStepContent-last class etc) but i don't know how to go about accomplishing it

I have added the waiting for users upvotes tag. I'm closing the issue as we are not sure people are looking for such abstraction. So please upvote this issue if you are. We will prioritize our effort based on the number of upvotes.

I don't understand why this issue was closed.
It is the same issue as
https://github.com/mui-org/material-ui/issues/15784
but that issue was marked as closed before all the bugs were worked out.
I think wanting to reverse the starting point on a vertical stepper is a pretty common issue.

You have shown how the related issue wasn't solved properly. It has transformed the request into a new feature proposal. Could you expand on your use case for a reverse slider? :)

Well the project I am working on is designed with a vertical stepper that starts from the Bottom and activates nodes based on the user's point total

Do you have a visual example, I think that it could help better evaluate the potential value of the feature. Also, if you could have a look at how this can be properly implemented in the component, it would also help get it closer to the finish line.

In the screenshot, I have reversed the stepper so it starts from the bottom.
as you can see the content at the very top node has no connector line, this is because it has the class MuiStepContent-last has the property "border-left: none"
and the very bottom node, should have MuiStepContent-last, to remove the extra connector line
I believe this is the problem:
the non reversed stepper classes look like this
MuiStepContent
MuiStepContent
MuiStepContent
MuiStepContent-last
when it is reversed it looked like
MuiStepContent-last
MuiStepContent
MuiStepContent
MuiStepContent
When it should still look like the non reversed stepper.  Because we don't want the extra connector line.
MuiStepContent-last class should be applied to the bottom node content regardless of where the stepper starts
I'm relatively new to development, and this is just what I think would solve it.  I don't know how to implement it though.


[DO NOT MERGE] Auto PR to update dependencies of istio

This PR will be merged automatically once checks are successful.

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/new-e2e-rbac_no_auth.sh
8d02674704d663daaa3077ad9fbf60370533992f
link
/test new-e2e-rbac_no_auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/new-e2e-rbac_no_auth.sh
8d02674704d663daaa3077ad9fbf60370533992f
link
/test new-e2e-rbac_no_auth

prow/e2e-suite-rbac-auth.sh
8d02674704d663daaa3077ad9fbf60370533992f
link
/test e2e-suite-rbac-auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/new-e2e-rbac_no_auth.sh
8d02674704d663daaa3077ad9fbf60370533992f
link
/test new-e2e-rbac_no_auth

prow/e2e-suite-rbac-auth.sh
8d02674704d663daaa3077ad9fbf60370533992f
link
/test e2e-suite-rbac-auth

prow/e2e-suite-rbac-no_auth.sh
8d02674704d663daaa3077ad9fbf60370533992f
link
/test e2e-suite-rbac-no_auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


fix(exception): add capture stack trace

Closes: #2402

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

v7.34.5
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 7.35.0-beta.5 :tada:
The release is available on:

v7.35.0-beta.5
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 7.35.0-rc.1 :tada:
The release is available on:

v7.35.0-rc.1
GitHub release

Your semantic-release bot :package::rocket:

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

v7.36.0
GitHub release

Your semantic-release bot :package::rocket:


Automated backport of #2138: Add submariner-gateway role permissions for leases

Backport of #2138 on release-0.13.
#2138: Add submariner-gateway role permissions for leases
For details on the backport process, see the backport requests page.

There is one failure which is not marked as Required. Can we ignore that?
End to End Full / E2E (1.17) (pull_request)

There is one failure which is not marked as Required. Can we ignore that? End to End Full / E2E (1.17) (pull_request)

Yes, 1.17 is now broken (and we didn’t detect that earlier because of https://github.com/submariner-io/submariner-operator/issues/2364).
We can’t ignore the Lighthouse failures however (even though they’re not marked as required).

Related Slack thread: https://kubernetes.slack.com/archives/C010RJV694M/p1669306107504749?thread_ts=1669215767.440359&cid=C010RJV694M


Feature request: Posts have their own pages

I have started porting over a jekyll blog to coleslaw. The first main issue I came up against was that my entire post was being shown on the index page, when ideally only a preview should be there. Clearly this is a preference of mine and it's fine if it is not the norm. But having this functionality may be useful to others as well.
Can you point me in the right direction so that I can implement this feature myself, eg. is this a feature of the theme or the generator itself.

Just to be clear, posts have their own page/url. What you seem to be looking is for is the excerpt functionality implemented in https://github.com/kingcons/coleslaw/pull/129

Thanks I'll follow there.


Share plug-in not displaying all data on Facebook

Hello,
When I try to share a text with a link just as in the example code,
Share.share('check out my website https://example.com');
The text at the beginning does not display on Facebook, only the link is displayed

Rakesh, are you using Android or iOS? Can you share the results of flutter doctor -v?

Hello Tim,
I'm using Android.
PS C:\GIT\ESM\mobile> flutter doctor -v
[√] Flutter (Channel beta, v1.5.4, on Microsoft Windows [Version 10.0.15063], locale en-GB)
• Flutter version 1.5.4 at C:\perso\flutter
• Framework revision b593f5167b (3 months ago), 2019-04-22 07:51:33 -0700
• Engine revision ca31a7c57b
• Dart version 2.3.0 (build 2.3.0-dev.0.1 cf4444b803)
[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at C:\Users\myusername\AppData\Local\Android\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 28.0.3
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
• All Android licenses accepted.
[√] Android Studio (version 3.3)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 33.3.1
• Dart plugin version 182.5215
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
[!] IntelliJ IDEA Community Edition (version 2019.1)
• IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.1.2
X Flutter plugin not installed; this adds Flutter specific functionality.
X Dart plugin not installed; this adds Dart specific functionality.
• For information about installing plugins, see
https://flutter.dev/intellij-setup/#installing-the-plugins
[√] VS Code, 64-bit edition (version 1.36.0)
• VS Code at C:\Program Files\Microsoft VS Code
• Flutter extension version 3.2.0
[!] Connected device
! No devices available
! Doctor found issues in 2 categories.

Hello Tim,
Any update on this behavior?
Regards,
Rakesh

Hi there, I've updated the labels to tag it for review by the appropriate sub-team. I can't give an ETA on their response, I'm afraid -- apologies.

Hi @rakeshkhoodeeram
Are you still experiencing this issue with latest stable?
Thank you

https://stackoverflow.com/Questions/7545254/android-and-facebook-share-intent

Hi there, yes I am also having issues with the 'share' plugin on the iOS Platform where I insert text and photos together, but there is no text description when inserting photo to be share in Facebook via Platform Dialog.
Can anyone resolve and tell me what's the problem behind this?

The issue is reproducible on the latest share: ^0.6.5+4

code sample
// Copyright 2019 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// ignore_for_file: public_member_api_docs

import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
import 'package:share/share.dart';

import 'image_previews.dart';

void main() {
  runApp(DemoApp());
}

class DemoApp extends StatefulWidget {
  @override
  DemoAppState createState() => DemoAppState();
}

class DemoAppState extends State<DemoApp> {
  String text = '';
  String subject = '';
  List<String> imagePaths = [];

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Share Plugin Demo',
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Share Plugin Demo'),
        ),
        body: SingleChildScrollView(
          child: Padding(
            padding: const EdgeInsets.all(24.0),
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              children: <Widget>[
                TextField(
                  decoration: const InputDecoration(
                    labelText: 'Share text:',
                    hintText: 'Enter some text and/or link to share',
                  ),
                  maxLines: 2,
                  onChanged: (String value) => setState(() {
                    text = value;
                  }),
                ),
                TextField(
                  decoration: const InputDecoration(
                    labelText: 'Share subject:',
                    hintText: 'Enter subject to share (optional)',
                  ),
                  maxLines: 2,
                  onChanged: (String value) => setState(() {
                    subject = value;
                  }),
                ),
                const Padding(padding: EdgeInsets.only(top: 12.0)),
                ImagePreviews(imagePaths, onDelete: _onDeleteImage),
                ListTile(
                  leading: Icon(Icons.add),
                  title: Text("Add image"),
                  onTap: () async {
                    final imagePicker = ImagePicker();
                    final pickedFile = await imagePicker.getImage(
                      source: ImageSource.gallery,
                    );
                    if (pickedFile != null) {
                      setState(() {
                        imagePaths.add(pickedFile.path);
                      });
                    }
                  },
                ),
                const Padding(padding: EdgeInsets.only(top: 12.0)),
                Builder(
                  builder: (BuildContext context) {
                    return RaisedButton(
                      child: const Text('Share'),
                      onPressed: text.isEmpty && imagePaths.isEmpty
                          ? null
                          : () => _onShare(context),
                    );
                  },
                ),
                const Padding(padding: EdgeInsets.only(top: 12.0)),
                Builder(
                  builder: (BuildContext context) {
                    return RaisedButton(
                      child: const Text('Share With Empty Origin'),
                      onPressed: () => _onShareWithEmptyOrigin(context),
                    );
                  },
                ),
              ],
            ),
          ),
        ),
        floatingActionButton: FloatingActionButton.extended(
          label: Text("Text+Link"),
          onPressed: () {
            Share.share('check out my website https://example.com');
          },
        ),
      ),
    );
  }

  _onDeleteImage(int position) {
    setState(() {
      imagePaths.removeAt(position);
    });
  }

  _onShare(BuildContext context) async {
    // A builder is used to retrieve the context immediately
    // surrounding the RaisedButton.
    //
    // The context's `findRenderObject` returns the first
    // RenderObject in its descendent tree when it's not
    // a RenderObjectWidget. The RaisedButton's RenderObject
    // has its position and size after it's built.
    final RenderBox box = context.findRenderObject();

    if (imagePaths.isNotEmpty) {
      await Share.shareFiles(imagePaths,
          text: text,
          subject: subject,
          sharePositionOrigin: box.localToGlobal(Offset.zero) & box.size);
    } else {
      await Share.share(text,
          subject: subject,
          sharePositionOrigin: box.localToGlobal(Offset.zero) & box.size);
    }
  }

  _onShareWithEmptyOrigin(BuildContext context) async {
    await Share.share("text");
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 1.22.6, on macOS 11.2.1 20D74 darwin-x64, locale en-GB)
    • Flutter version 1.22.6 at /Users/tahatesser/Code/flutter_stable
    • Framework revision 9b2d32b605 (4 weeks ago), 2021-01-22 14:36:39 -0800
    • Engine revision 2f0af37152
    • Dart version 2.10.5
[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, set ANDROID_SDK_ROOT to that location.
      You may also want to add it to your PATH environment variable.
[!] Xcode - develop for iOS and macOS (Xcode 12.4)
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    ✗ CocoaPods not installed.
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To install:
        sudo gem install cocoapods
[!] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
[✓] VS Code (version 1.53.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.19.0
[✓] Connected device (1 available)
    • Taha’s iPhone (mobile) • 00008020-001059882212002E • ios • iOS 14.4
! Doctor found issues in 3 categories.

Thank you

Good Morning!
The same problem occurs with me, I use share: ^ 0.6.5 + 4
flutter doctor -v
`[√] Flutter (Channel stable, 1.22.6, on Microsoft Windows [versÃ£o 10.0.18363.1379], locale pt-BR)
• Flutter version 1.22.6 at C:\src\flutter
• Framework revision 9b2d32b605 (5 weeks ago), 2021-01-22 14:36:39 -0800
• Engine revision 2f0af37152
• Dart version 2.10.5
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at C:\Users\Carlos Roberto\AppData\Local\Android\sdk
• Platform android-30, build-tools 29.0.3
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[√] Android Studio (version 4.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 48.1.2
• Dart plugin version 193.7361
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[!] VS Code (version 1.53.2)
• VS Code at C:\Users\Carlos Roberto\AppData\Local\Programs\Microsoft VS Code
X Flutter extension not installed; install from
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[√] Connected device (1 available)
• ASUS X00LD (mobile) • HAAXB601V709N63 • android-arm64 • Android 8.1.0 (API 27)
! Doctor found issues in 1 category.`

Good Morning!
The same problem occurs with me, I use share: ^ 0.6.5 + 4
flutter doctor -v
[√] Flutter (Channel stable, 1.22.6, on Microsoft Windows [versÃ£o 10.0.18363.1379], locale pt-BR)
• Flutter version 1.22.6 at C:\src\flutter
• Framework revision 9b2d32b (5 weeks ago), 2021-01-22 14:36:39 -0800
• Engine revision 2f0af37152
• Dart version 2.10.5

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at C:\Users\Carlos Roberto\AppData\Local\Android\sdk
• Platform android-30, build-tools 29.0.3
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.

[√] Android Studio (version 4.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 48.1.2
• Dart plugin version 193.7361
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[!] VS Code (version 1.53.2)
• VS Code at C:\Users\Carlos Roberto\AppData\Local\Programs\Microsoft VS Code
X Flutter extension not installed; install from
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected device (1 available)
• ASUS X00LD (mobile) • HAAXB601V709N63 • android-arm64 • Android 8.1.0 (API 27)

! Doctor found issues in 1 category.

Closing, as share is now deprecated in favor of share_plus.


Switching to std::lazylock in v0.16.1 breaks min-rust and therefore semver

Hello,
Dioxus is running into CI failures since the patch release of 0.16.1 switches to a rust feature that was once unstable.
It is invalid to bump min-rust requirements in a patch release.
https://doc.rust-lang.org/cargo/reference/semver.html#env-new-rust
v0.16.1 should be yanked and re-published under v0.17.0

v0.17.0 is released. Sorry for the breaking.


Be consistent in method name for creating a Builder for an immutable object.

e.g. -> RetryParams.newBuilder() vs ConnectionSettings.builder()
My preference would be to use builder().

The generated proto classes use newBuilder(). It might be most consistent to go with that, because we expose those generated proto classes as return types of the user of the generated client libraries.

This issue has been resolved.

Resolved:
https://github.com/googleapis/gax-java/commit/c49a2aaf759ebf61e874d3e2ec121d0fbc5109d2


How to build and Run without docker?

I've tried to build using mvn and tried to run. config runs perfect but  when i run any other microservice it ```
shows  Error:
"org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://config:8888/auth-service/default": config; nested exception is java.net.UnknownHostException: config

How to fix it?

config is an alias in a docker network
Without docker, you should provide an IP address, where your service runs.
localhost will work, if you run locally

changed all alias in host and url. What about the config export passwords? how to set it on windows? because microservice could not locate propertySource and Unauthorized http connect.

You can get all the information from README and docker-compose files.

should i add the service name when i connect the config server？


buildVarC fails to run

I run rcjk2ufo and then fontmake and then try to run buildVarC and get this
Traceback (most recent call last):
  File "/venvs/rcjk/bin/buildvarc", line 33, in <module>
    sys.exit(load_entry_point('rcjktools==0.2.dev213+g36fb741', 'console_scripts', 'buildvarc')())
  File "/venvs/rcjk/lib/python3.10/site-packages/rcjktools/buildVarC.py", line 225, in main
    buildVarC(
  File "/venvs/rcjk/lib/python3.10/site-packages/rcjktools/buildVarC.py", line 178, in buildVarC
    vcFont = VarCoFont(designspacePath)
  File "/venvs/rcjk/lib/python3.10/site-packages/rcjktools/varco.py", line 89, in __init__
    self.axes, self.ufos, self.locations = unpackDesignSpace(doc)
  File "/venvs/rcjk/lib/python3.10/site-packages/rcjktools/varco.py", line 228, in unpackDesignSpace
    ufo = UFont(src.path)
TypeError: Font.__init__() takes 1 positional argument but 2 were given

If I change that line to
ufo = UFont()
ufo.open(src.path)

then I get
Traceback (most recent call last):
  File "/venvs/rcjk/bin/buildvarc", line 33, in <module>
    sys.exit(load_entry_point('rcjktools==0.2.dev213+g36fb741', 'console_scripts', 'buildvarc')())
  File "/venvs/rcjk/lib/python3.10/site-packages/rcjktools/buildVarC.py", line 225, in main
    buildVarC(
  File "/venvs/rcjk/lib/python3.10/site-packages/rcjktools/buildVarC.py", line 178, in buildVarC
    vcFont = VarCoFont(designspacePath)
  File "/venvs/rcjk/lib/python3.10/site-packages/rcjktools/varco.py", line 89, in __init__
    self.axes, self.ufos, self.locations = unpackDesignSpace(doc)
  File "/venvs/rcjk/lib/python3.10/site-packages/rcjktools/varco.py", line 234, in unpackDesignSpace
    ufo = ufo.layers[src.layerName]
  File "/venvs/rcjk/lib/python3.10/site-packages/ufoLib2/objects/layerSet.py", line 227, in __getitem__
    layer_object = self._layers[name]
KeyError: 'wght=1'

As you've noticed, this code is currently quite stale. There are no immediate plans to revive this, as it will be superseded by whatever https://github.com/harfbuzz/boring-expansion-spec/blob/glyf1/glyf1.md is evolving into.

No problem. I just wanted to try it out this way. One reason being to see the file size difference of a VarC vs regular flattened file.


Proposal: make CONFIG_DIR a pipeline.yml parameter

In order to set pipeline’s config directory more dynamically, I propose we make values in pipeline.yml referencing CONFIG_DIR: a parameter, and then including a vars.yml within each foundation config directory include foundation-specific configuration.
This is going to be verbose, though it’s not as dramatic of a change as it seems. I’m more than willing to provide a PR to demonstrate.
At the moment, the “config/” folder is a “flat” structure. It holds data for all foundations inside it:
.
├── README.md
├── ci
│   └── tasks
├── config
│   ├── dev
│   │   ├── asgs
│   │   ├── careware-core
│   │   ├── cdwi
│   │   ├── cf-mgmt.yml
│   │   ├── groundworks
│   │   ├── ldap.yml
│   │   ├── org_quotas
│   │   ├── orgs.yml
│   │   ├── service-management
│   │   ├── spaceDefaults.yml
│   │   └── voyager
│   ├── dev-kc8…
│   ├── prod…
│   └── sandbox…
├── params.yml
├── pipeline.yml
└── set-pipelines.sh

As you can see, under “config/“ we store multiple foundations inside it, for “sandbox”, “dev”, and “prod”. These are foundations for AWS/us-west-2. We recently started adding more foundations for vSphere, called “dev-kc8”. We’ll also be adding foundations for Azure and such.
In reality, our foundation folder structure should be oriented around IaaS, region, and environment. For example, things should look like this:
config/
├── aws
│   └── us-west-2
│       ├── dev
│       ├── prod
│       └── sandbox
│           ├── groundworks/
│           ├── tenzing/
│           └── voyager/
└── vsphere
    └── kc8
        └── dev
            ├── groundworks
            ├── tenzing
            └── voyager

In the pipeline.yml, the CONFIG_DIR is hard-coded to ./config. What would be better is if we made CONFIG_DIR a parameter, and then in each foundation folder we had a params.yml (or vars.yml, whatever works) that has the CONFIG_DIR configurable as a parameter. That allows us to set the folder much easier when we fly it up in set-pipelines.sh.
Basically what I’m proposing is that each folder holding config for a foundation should have a vars.yml that can hold specific configuration for the foundation. So things would look like this:
config/
├── aws
│   └── us-west-2
│       ├── dev
│       ├── prod
│       └── sandbox

│           ├── cf-mgmt.yml

│           ├── orgs.yml

│           ├── vars.yml
│           ├── groundworks/
│           ├── tenzing/
│           └── voyager/

├── params.yml
├── pipeline.yml
…

then when setting a pipeline, it’d be…

fly -t target set-pipeline -p cf-mgmt -c pipeline.yml -l params.yml -l config/{iaas}/{region}/{env}/vars.yml

the content of vars.yml would be…
config_dir: “config/aws/us-west-2/sandbox”

and the value of CONFIG_DIR in pipeline.yml would simply be CONFIG_DIR: ((config_dir))
Does this make sense? Thoughts?

Added with 1.0.25 (https://github.com/pivotalservices/cf-mgmt/releases/tag/v1.0.25)
Pipeline/Vars file allows for externalizing CONFIG_DIR environment variable


Docs: UserGuide Add Command Summary Table, Glossary

This PR resolves #92.
However, since the help section is shifted to bottom in alphabetical order, it doesn't reflect duplicate content, hence resolves #88.

Coverage decreased (-0.03%) to 92.698% when pulling a2a029b551f6b02de65f2545c5775b54ab1c2e36 on hanselblack:UserGuide into cedf4899be62471c73afdf50428a1d3b823a9239 on CS2103AUG2017-W11-B4:master.

Coverage remained the same at 92.806% when pulling f73eb5d2d23e0551736cdbab3c530b9547844725 on hanselblack:UserGuide into ca4f483c0d7a0e567e5f5847d03436bc4045b4e2 on CS2103AUG2017-W11-B4:master.

Coverage decreased (-0.2%) to 92.626% when pulling 07afb082a891968add0d4429c8782b92700c6d07 on hanselblack:UserGuide into ca4f483c0d7a0e567e5f5847d03436bc4045b4e2 on CS2103AUG2017-W11-B4:master.

Coverage decreased (-0.3%) to 92.554% when pulling 3b1d9a053471c1b9502de57238a4b143b2d2e8f9 on hanselblack:UserGuide into ca4f483c0d7a0e567e5f5847d03436bc4045b4e2 on CS2103AUG2017-W11-B4:master.

Coverage decreased (-0.1%) to 92.698% when pulling 9411c8ecdec85e6db38489bbb04bb47b29c2a4d6 on hanselblack:UserGuide into ca4f483c0d7a0e567e5f5847d03436bc4045b4e2 on CS2103AUG2017-W11-B4:master.

Coverage remained the same at 92.806% when pulling 9411c8ecdec85e6db38489bbb04bb47b29c2a4d6 on hanselblack:UserGuide into ca4f483c0d7a0e567e5f5847d03436bc4045b4e2 on CS2103AUG2017-W11-B4:master.

Coverage increased (+0.04%) to 92.842% when pulling 9411c8ecdec85e6db38489bbb04bb47b29c2a4d6 on hanselblack:UserGuide into ca4f483c0d7a0e567e5f5847d03436bc4045b4e2 on CS2103AUG2017-W11-B4:master.

Coverage decreased (-0.2%) to 92.626% when pulling 9411c8ecdec85e6db38489bbb04bb47b29c2a4d6 on hanselblack:UserGuide into ca4f483c0d7a0e567e5f5847d03436bc4045b4e2 on CS2103AUG2017-W11-B4:master.


Single main Crypto.WebAuthn module, and module cleanups

TODO: Module header docs for the new main module

I pushed a single big commit which does many things. I don't have enough motivation to make it multiple commits as that would just take a really long time. See the commit message for the changes.


[UnitHeaderInspectable] can't be found

Great work! I came across a problem about UnitHeaderInspectable Scriptable Object. It cannot be found in uvs-finder. Is there a way to look for UnitHeaderInspectable value? And hope the fuction can be added to next version.

To understand, are you expecting that the node is found when you type "one" or "two" in the following example?
    [UnitHeaderInspectable("one")]
    public int minCount = 1;
    [UnitHeaderInspectable("two")]
    public int maxCount = 1;


Read frame format from a file

The frame format should be read from an external config file.
The format of this file is to define.
This is an idea to discuss:
{
	"message": {
		"length": 12,
		"format": [{
			"start": 0,
			"end": 3,
			"type": "int",
			"name": "temperature"
		}, {
			"start": 4,
			"end": 10,
			"type": "string",
			"name": "name"
		}]
	},
	  "config":
		"length": 8,
		"format": [{
			"start": 0,
			"end": 3,
			"type": "string",
			"name": "firmware"
		}, {
			"start": 4,
			"end": 7,
			"type": "string",
			"name": "version"
		}]
	}
}

I propose JSON to take advantage of the existing tooling (parser, linter, etc.)

I tried to adapt the code to parse from JSON file. See the new Pull Request.

@OudinB I think you forgot to create the Pull Request (I don't see any new PR)


Masks for zero-width fields of mems should be width zero.

Closes #666.

Either merge it when you are ready, or if you don't have write access, ping me and I'll do it.


.Net core SDK not found

Description

After upgrading to the latest dotnet-sdk-6.0, no sdks are found
Version: 6.0.302-1
Priority: standard
Section: devel
Maintainer: Microsoft<EMAIL_ADDRESS>Installed-Size: 339 MB
Depends: dotnet-targeting-pack-6.0 (>= 6.0.7), netstandard-targeting-pack-2.1 (>= 2.1.0), aspnetcore-runtime-6.0 (>= 6.0.7), dotnet-apphost-pack-6.0 (>= 6.0.7), dotnet-runtime-6.0 (>= 6.0.7), aspnetcore-targeting-pack-6.0 (>= 6.0.7)
Homepage: https://github.com/dotnet/core
Download-Size: 84.9 MB
APT-Manual-Installed: yes
APT-Sources: https://packages.microsoft.com/ubuntu/22.04/prod jammy/main amd64 Packages
Description: Microsoft .NET SDK 6.0.302
 .NET is a development platform that you can use to build command-line applications, microservices and modern websites. It is open source, cross-platform and is supported by Microsoft. We hope you enjoy using it! If you do, please consider joining the active community of developers that are contributing to the project on GitHub (https://github.com/dotnet/core). We happily accept issues and PRs.

packages were removed and re-isntalled to the same result.
$dotnet --info

global.json file:
  Not found

Host:
  Version:      6.0.7
  Architecture: x64
  Commit:       0ec02c8c96

.NET SDKs installed:
  No SDKs were found.

.NET runtimes installed:
  Microsoft.AspNetCore.App 6.0.7 [/usr/lib/dotnet/dotnet6-6.0.107/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 6.0.7 [/usr/lib/dotnet/dotnet6-6.0.107/shared/Microsoft.NETCore.App]

Download .NET:
  https://aka.ms/dotnet-download

Learn about .NET Runtimes and SDKs:
  https://aka.ms/dotnet/runtimes-sdk-info

Installed packages:
$apt search dotnet | ack installed

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

aspnetcore-runtime-6.0/jammy-proposed,now 6.0.107-0ubuntu2~22.04.1 amd64 [installed,automatic]
dotnet-apphost-pack-6.0/jammy-proposed,now 6.0.107-0ubuntu2~22.04.1 amd64 [installed,automatic]
dotnet-host/jammy-proposed,now 6.0.107-0ubuntu2~22.04.1 amd64 [installed,automatic]
dotnet-hostfxr-6.0/jammy-proposed,now 6.0.107-0ubuntu2~22.04.1 amd64 [installed,automatic]
dotnet-runtime-6.0/jammy-proposed,now 6.0.107-0ubuntu2~22.04.1 amd64 [installed,automatic]
dotnet-sdk-6.0/jammy,now 6.0.302-1 amd64 [installed]
dotnet-targeting-pack-6.0/jammy-proposed,now 6.0.107-0ubuntu2~22.04.1 amd64 [installed,automatic]
libgtk2.0-cil/jammy,now 2.12.40-3ubuntu1 amd64 [installed,automatic]

Configuration

Regression?

Before upgrading to 6.0.302-1, the 6.0 sdk was available. After upgrade, I have no sdks and can no longer build applications.
Other information

Current work around is to download the binary tar.gz for SDK 6.0.302 instead of using the package manager version https://dotnet.microsoft.com/en-us/download/dotnet/6.0
Installing via package manager results in no sdks. Installing the binary, the 6.0 sdk is available.

CC @wli3 @dsplaisted

@MichaelSimons Any idea why this would happen?  I tried updating to the latest packages on Ubuntu 18 and it didn't give me any issues.  The package version numbers look different though:
dsplaisted@DEEPMINI:~$ apt search dotnet | ack installed

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

aspnetcore-runtime-6.0/jammy,now 6.0.7-1 amd64 [installed,automatic]
aspnetcore-targeting-pack-6.0/jammy,now 6.0.7-1 amd64 [installed,automatic]
dotnet-apphost-pack-6.0/jammy,now 6.0.7-1 amd64 [installed,automatic]
dotnet-host/jammy,now 6.0.7-1 amd64 [installed,automatic]
dotnet-hostfxr-6.0/jammy,now 6.0.7-1 amd64 [installed,automatic]
dotnet-runtime-6.0/jammy,now 6.0.7-1 amd64 [installed,automatic]
dotnet-runtime-deps-6.0/jammy,now 6.0.7-1 amd64 [installed,automatic]
dotnet-sdk-6.0/jammy,now 6.0.302-1 amd64 [installed]
dotnet-targeting-pack-6.0/jammy,now 6.0.7-1 amd64 [installed,automatic]
netstandard-targeting-pack-2.1/jammy,now 2.1.0-1 amd64 [installed,automatic]

Please see https://github.com/dotnet/core/issues/7699 for guidance on how to resolve this situation.

Resolved by #7699 confirmed

So I'll close the bug. Thanks for letting us know.


Add unit tests for org.apache.druid.extendedset.intset.ConciseSetUtils

Description
Hi,
I've analysed your code base and noticed that org.apache.druid.extendedset.intset.ConciseSetUtils in the extendedset module is not fully tested.
I've written some tests that cover this class with the help of Diffblue Cover.
Hopefully, these tests should help you detect any regressions caused by future code changes. If you would find it useful to have additional tests written for this repository, I would be more than happy to look at other particular classes that you consider important.

This PR has:

[x] been self-reviewed.
[x] added unit tests or modified existing tests to cover new code paths.

Hi, just following up and wondering if you would like me to make any changes to the PR?


Feature Request - No Vision in Dim Light

Right now we have settings for how Bright Vision and Dim Vision interact with Bright Light and Dim Light. I'd like to see an additional option added to this matrix. I would like to see an option to control how characters with neither Dim Vision nor Bright Vision see in areas with Dim Light - specifically, a setting that prevents them from seeing at all. In effect, I'd like an option to make Dim Light only useful to people with some degree of improved vision.

I have to reject this request, because it would be a very big change, barely anyone would use it, and then there's the problem that a lot of light animations, like the torch or pulse animation, change their bright radius over time; those lights would be cut off in an unpleasant/undesirable way.


Remove branch feature/mempools_refactor and  crazyflie_demo

Are we ok with removing the following branch:

[x]  https://github.com/micro-ROS/micro-ros-build/tree/feature/mempools_refactor
[ ]  https://github.com/micro-ROS/micro-ros-build/tree/crazyflie_demo

The last one is related to https://micro-ros.github.io/docs/tutorials/demos/crazyflie_demo/. Are you going to replace this tutorial with the new approach based on https://github.com/micro-ROS/micro-ROS_crazyflie_demo @jfm92 ?

@Acuadros95 check if we can close this when you are done with the demo.

Yes, https://github.com/micro-ROS/micro-ros-build/tree/crazyflie_demo can be safely removed.


Correct spell error in the message shown when app crashes

Summary:
The error message shown when the app crashed had a few spelling errors.
Steps to reproduce:
I gave location access to the app then it crashed and I saw the message.
Device and Android version:
What make and model device (e.g., Samsung J7) did you encounter this on?
Redmi Note 5
What Android version (e.g., Android 4.0 Ice Cream Sandwich or Android 6.0 Marshmallow) are you running?Android 4.0 Ice Cream Sandwich
Is it the stock version from the manufacturer or a custom ROM ?
Commons app version:
Latest Master
Would you like to work on the issue?
Yes
Please let us know whether you want to fix the issue by yourself. If not, anyone can get the issue assigned to them.

Thanks for noticing! :-)
This file is generated by TranslateWiki, so we should not modify it manually.
I actually noticed the spelling errors too and fixed them on TranslateWiki 2 days ago.
TranslateWiki automatically overwrites these localization files every 3 days: https://github.com/commons-app/apps-android-commons/commits/master?author=translatewiki
More info about localization: https://github.com/commons-app/commons-app-documentation/blob/master/android/Translating-the-app.md
Cheers!

I will close this for now, sorry about that!
Please do not be discouraged, your PR was perfect otherwise :-)
There are plenty of other bugs to fix, so looking forward to your next pull requests!


AttributeError: 'UnixDomainSocketConnection' object has no attribute '_buffer_cutoff'

Since version 3.0, redis client seems broken. I cannot even get, set or keys() anything when connecting to unix socket.
I tried running it in a docker container running centos 7.5.1804 core using python3.6.
Steps to reproduce:
install redis 3.0
import redis
red = redis.Redis(unix_socket_path = "/path/to/socket")
red.keys()

Throws this:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.6/site-packages/redis/client.py", line 1262, in keys
    return self.execute_command('KEYS', pattern)
  File "/usr/lib/python3.6/site-packages/redis/client.py", line 754, in execute_command
    connection.send_command(*args)
  File "/usr/lib/python3.6/site-packages/redis/connection.py", line 619, in send_command
    self.send_packed_command(self.pack_command(*args))
  File "/usr/lib/python3.6/site-packages/redis/connection.py", line 658, in pack_command
    buffer_cutoff = self._buffer_cutoff
AttributeError: 'UnixDomainSocketConnection' object has no attribute '_buffer_cutoff'

Same problem for me, on both macOS Mojave 10.14.1 and Ubuntu 16.04.


Pie chart Legend text doesn't break line

Apparently the legend of the pie chart was made to be short, because the text doesn't continue down when it fills the line, it simply cuts the text.  Is there any way to use long legends?

any solution for this defect?
This issue has been going on for more than 1 year
Any idea how to fix?

in pie chart
<PieChart
data={data}
width={screenWidth}
height={300}
chartConfig={chartConfig}
accessor="population"
backgroundColor="transparent"
paddingLeft='100'
absolute
                    />

ADD ABSOLUTE as props

@kncerbero any workaround for this

it's seem the owned does not want to do it


Fix #7115 - DB query is executed with the parameters of the previous …

Fixes an issue in ExpressionEqualityComparer where we would incorrectly determine equality for constant EnumerableQuery nodes.

@smitpatel


Add server stand up test as part of MLX CI

Hi @ckadner sorry I didn't have time to recompile the server for every PR. Right now our CI is only catching build errors but we don't have any test to catch runtime errors. Maybe we can add a simple test just to start the server to make sure nothing is crashing the server startup? This way we don't accidentally merged critical bugs that crashes our server startup.
Originally posted by @Tomcli in https://github.com/machine-learning-exchange/mlx/issues/205#issuecomment-920338732

@Tomcli -- so our PR builder could do this for API code changes:

build a new API docker image, push it
pull the new image image
start the new image
upload the catalog via curl, check response code
get the catalog, check response code, check number of assets is greater 0

Besides that, I still need to create unit tests from the examples I usually run as a manual test
Related: #116

@Tomcli -- so our PR builder could do this for API code changes:

[x]  build a new API docker image, push it
[ ]  pull the new image image and start it -- OR -- run the Python code directly
[ ]  with Docker Compose: upload the catalog via curl, check response code (Rework bootstrapper #23)
[ ]  with Docker Compose: get the catalog, check response code, check number of assets is greater 0

Besides that, I still need to create unit tests from the examples I usually run as a manual test

[ ]  Related: Create API unittests with Docker Compose #116

I was more thinking of a simple test just start the server in a Github Action, so we don't get a crashing image in our latest build. The docker compose test is nice to have, but I'm not sure can github action able to handle that many workloads.

starting the image after building it should be a good start -- that does not need Minio or MySQL


writing_data_to_eth: remove 'let's

https://github.com/kinode-dao/kinode-book/blob/main/src/cookbook/writing_data_to_eth.md

The we and let's style is quite natural, so perhaps it is worth revisiting the global recommendation. I must say, it does hurt the academic in me to not be able to say "we", "let's".

I prefer we/let's too..

https://github.com/kinode-dao/kinode-book/issues/195


UI improvement - E-Learning Testimonial Card

Describe the bug

Expected behaviour

Screenshots
No response
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

kindly assign me this task @SahityaRoy


BeamDyn initialization with non-zero initial azimuth produces strange results

See attached file for description of the problem.
BeamDyn_InitializationBug.pdf

@michaelasprague - Has there been any progress on this issue?

@bjonkman , sorry, no.  @rafaelmudafort is taking lead on this now; plan is to address this by exposing the problem in the testing harness and to then pursue the fix.

In the CalcIC routine, the calculation of the translational velocity is incorrectly referenced.  The root node position needs to be subtracted otherwise the distance used in the cross product is relative to the original root position, not the rotated root position.  We (Envision) have a fix for this that we will give you.

@andrew-platt, it would be great if this could be submitted as a pull request -- please let us know if there's another mechanism you'd prefer. Thanks!

This issue was fixed in pull request #114


update paper for teval

Thank you for managing this valuable repo!
We want to add our recent work T-Eval to this repo~

Thanks for the contribution!!


[azservicebus] Throttled HTTP requests don't include a body when retried

Bug Report
SDK version:
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.7.0
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.0
github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus v1.4.0
output of go version:
go version go1.20.4 windows/amd64
What happened?
Hey there! 😺
We're using the azservicebus SDK in a terraform provider to manage Queues and Subscriptions for our Service Bus instances. After deploying it, we noticed very odd, hard to reproduce issues when creating Service Bus resources. Create and update operations fail, seemingly at random, in our production environment, while the same issues never occur during local development.
The errors logged from the SDK client are also not very helpful, because the failure reason provided by the Azure Management API does not fit with what we were doing. Most errors come from either of these responses:

400 Bad Request "The specified resource description is invalid"
401 Unauthorized "Azure Active Directory RBAC is not supported for entity type 'Unknown'"

We also encountered some 409 Conflict "Another conflicting operation my be in progress" errors, though I'm not sure if those should be handled by the SDK

The latter of which made no sense, as other requests using the same instance of the admin client, on the same resource, worked fine.
We eventually managed to reproduce the issue locally by reading and creating a bunch of resources, much like in production and managed capture the http requests leading to one of the errors mentioned above:
Request
PUT https://some-service-bus.servicebus.windows.net/some-servicebus-queue?api-version=2021-05 HTTP/1.1
Host: some-service-bus.servicebus.windows.net
User-Agent: azsdk-go-azsbadmin/v1.4.0 (go1.19.12; Windows_NT)
Transfer-Encoding: chunked
Authorization: eyxxx
Content-Type: application/atom+xml;type=entry;charset=utf-8
Accept-Encoding: gzip

1d8
<entry xmlns="http://www.w3.org/2005/Atom"><content type="application/xml"><QueueDescription xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect"><LockDuration>PT5M</LockDuration><MaxSizeInMegabytes>5120</MaxSizeInMegabytes><MaxDeliveryCount>2147483647</MaxDeliveryCount><EnableBatchedOperations>true</EnableBatchedOperations><AuthorizationRules></AuthorizationRules><EnablePartitioning>true</EnablePartitioning></QueueDescription></content></entry>
0

Response
HTTP/1.1 503 Service Unavailable
Transfer-Encoding: chunked
Content-Type: application/xml; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000
Date: Thu, 31 Aug 2023 13:09:31 GMT

1DE
<Error>503<Detail>SubCode=50004. The request was terminated because the namespace some-service-bus is being throttled. Error code : 50009. Please wait 2 seconds and try again. To know more visit https://aka.ms/sbResourceMgrExceptions and https://aka.ms/ServiceBusThrottling TrackingId:a57a3354-92fa-4d01-8480-59358b873c88_G67_B5, SystemTracker:some-service-bus:Queue:some-servicebus-queue~111, Timestamp:2023-08-31T13:09:31</Detail></Error>
0

Retry
PUT https://some-service-bus.servicebus.windows.net/some-servicebus-queue?api-version=2021-05 HTTP/1.1
Host: some-service-bus.servicebus.windows.net
User-Agent: azsdk-go-azsbadmin/v1.4.0 (go1.19.12; Windows_NT)
Transfer-Encoding: chunked
Authorization: eyxxx
Content-Type: application/atom+xml;type=entry;charset=utf-8
Accept-Encoding: gzip

0

Retry response
HTTP/1.1 401 Unauthorized
Transfer-Encoding: chunked
Content-Type: application/xml; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000
Date: Thu, 31 Aug 2023 13:09:33 GMT

F2
<Error>401<Detail>Generic: Azure Active Directory RBAC is not supported for entity type 'Unknown'. TrackingId:3bc5400b-561e-4e68-b6df-6084882a558b_G29, SystemTracker:NoSystemTracker, Timestamp:2023-08-31T13:09:33</Detail></Error>
0

As you can see, the initial request was rejected because the Service Bus is being throttled. This should be fine, as the azservicebus client retries the request in those cases. The subsequent retry request however, does not seem to contain any body. The resulting error also seems rather strange, though that is not an issue with the SDK. This behavior would also explain why arbitrary requests result in a 400 Bad Request, because an empty body is of course "an invalid resource description". ^^"
How can we reproduce it?
The issue seems to occur, when the Azure Service Bus runs out of MUs for its quota and therefore throttles requests. If, during this time, the azservicebus admin client sends a request containing a body, this body seems to not be included in the retry request. This issue was very hard to reproduce on our end and we ended up wrapping the admin client requests with custom retry logic, which has fixed the issue.
I'm happy to provide any additional information :)

@StrawbrryFlurry, thank you for all the detail. It looks like the bug is retries were using an already-read Body stream, resulting in the behavior you've got above, where the body is not repopulated. I've got a PR out.


Junos rfc-compliant mode not working

Hello,
On Junos equipment when you configure netconf as follows:
regress@rtme-mx-25> show configuration system services netconf
ssh {
port 830;
}
rfc-compliant;   <<<< Option
}
Junos replies with  all NETCONF tags including the nc prefix. Sample reply when this option is set: £`
<nc:rpc-reply
	xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
	xmlns:junos="http://xml.juniper.net/junos/22.2I0/junos">
	<interface-information
		xmlns="http://xml.juniper.net/junos/22.2I0/junos-interface" junos:style="description">
		<physical-interface>
			<name>et-0/1/5</name>
			<admin-status>up</admin-status>
			<oper-status>up</oper-status>
			<description>TEST_Description</description>
		</physical-interface>
	</interface-information></nc:rpc-reply>
]]>]]>

It seems your module doesn't accept rpc-reply prefixed with "nc". I faced this issue: " timeout while executing request".
Without the option your module works pretty well with our Juniper devices. My tool relies on your lib and I would like to support both configs with and without the rfc-compliant option. Do you know if a fix may be considered?
Thank you so much.
Best Regards
David
More info:  https://www.juniper.net/documentation/us/en/software/junos/netconf/topics/concept/netconf-session-rfc-compliant.html

Hello, Any news ?

@door7302 just submitted a patch in the main branch. Can you check with the latest code if things work as expected?
Thanks

Hello,
I've just tested... It works... thank you so much.
David

I've released a new version, v1.0.6, containing the fix.


Request for your paper

hello,can you share the paper?

Hi Steven,
thank you for interest!
Basically there is a newer version of this repo -> https://github.com/Webbah/Safe-Reinforcement-Learning-Based-Control-in-Power-Electronic-Systems
Since only the new version is updated anymore I would refer to that.
The paper belonging to the code is curretly in the review process and the link in the other git refering to the paper will be updated in the next weeks depending on how long the review process takes.
I hope that is ok for you.

Hi Steven,
meanwhile the paper is online: https://ieeexplore.ieee.org/document/10182718


Research how to draw lines on webpage

How does explainshell.com draw the nice lines between parts of the command line and the explanation?
like this:

The bulk of logic for this can be found in the file explainshell/web/static/js/es.js
It works with a canvas and draws two paths per explanation: a path to 'underline' and a path to link to the explanation. Also it draws a little circle as the ending dot.
explanation results are divided in two halves left and right, based on their underlining start position in the command line:
Get-Command -Name somecommand | Select-Object -Property *
\____lines go left___________/ \____lines go right______/

Lines are grouped as svg with id's and css makes them light up when hovered over its explanation.
Needs some further research in a PoC

The bulk of logic for this can be found in the file explainshell/web/static/js/es.js
It works with a canvas and draws two paths per explanation: a path to 'underline' and a path to link to the explanation. Also it draws a little circle as the ending dot.
explanation results are divided in two halves left and right, based on their underlining start position in the command line:
Get-Command -Name somecommand | Select-Object -Property *
\____lines go left___________/ \____lines go right______/

Lines are grouped as svg with id's and css makes them light up when hovered over its explanation.
Needs some further research in a PoC

no longer necessary


Generic code run on job failure

Allow users to specify code to run if a job errs. This would be a good generic way to support notifications on job failure.

Discussed this a bit w @jdoliner and @msteffen
We want to draw a distinction between control flow (and perhaps notifications) versus monitoring.
The latter should be done by a system that is independent of the system being monitored.

I think error handlers are a good solution to this, since they let you run on the actual data that failed and potentially trap the error. It doesn't give you a way to run code generically on job failures, but I don't know how compelling of a feature that is, I think for notifications you're better off having an external monitoring system, because one of the reasons a job can fail is if the cluster is degraded, in which case the failure code won't run either.


Adding @scrawfor99 to the maintainers

Description
Stephen Crawford (@scrawfor99) has been an avid contributor to Security plugin & Security Dashboard plugin since October '22, clocking in with 137 contributions in the OpenSearch project.  He has earned his place as a maintainer with the following valuable contributions.

Created 41 pull requests.
Involved in 55 & 31 issues and pull requests respectively.
Mentioned in 52 issues and pull requests.
Pioneered security's open triage #2164

Check List

[ ] ~New functionality includes testing~
[X] New functionality has been documented
[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Thank you everyone!


Extend removefiles activity to work with patterns

Allows to configure the removefiles activity with a string of comma delimited regular expressions alongside full names. Delete files and directories based on both configuration fields and fail if there is an invalid regexp in the config.
Refs #12.

I don't know what you mean by "following that approach for all the activities in this repository" - doing validation of the configs?

I don'tr know why I can't reply to that comment directly. I mean making the return of an error a pattern in all NewActivity functions to prevent backwards incompatible changes in the future.

I don'tr know why I can't reply to that comment directly. I mean making the return of an error a pattern in all NewActivity functions to prevent backwards incompatible changes in the future.

Hmm, I'm hesitant to return an error from all activity constructors - it will mean updating all the worker activity registrations from:
w.RegisterActivityWithOptions(
	activities.NewDownloadActivity(logger, tp.Tracer(activities.DownloadActivityName), wsvc).Execute,
	temporalsdk_activity.RegisterOptions{Name: activities.DownloadActivityName},
)

to:
downloadActivity, err := activities.NewDownloadActivity(logger, tp.Tracer(activities.DownloadActivityName), wsvc)
if err != nil {
    // Handle error
}
w.RegisterActivityWithOptions(
    downloadActivity.Execute,
    temporalsdk_activity.RegisterOptions{Name: activities.DownloadActivityName},
)

We're also then handling errors when the worker starts, rather than when the workflow runs.
I guess that does raise the question of whether we want the worker to just fail to start if there's a bad regex pattern in the config?  Maybe it's better to log a warning and just ignore the bad pattern?

@jraddaoui do you have a use case for the regex matching? It would be nice to know what the intended use is, to get some idea what kind of patterns to expect.

Already using this implementation in artefactual-sdps/preprocessing-sfa#5.

Hmm, we could use https://pkg.go.dev/path/filepath#Match instead of regex for that use case - it's probably a bit less expensive, but obviously not as flexible as regex matching.  It's also less likely for users to shoot themselves in the foot with simple glob matching patterns rather than regex. ;)

I don'tr know why I can't reply to that comment directly. I mean making the return of an error a pattern in all NewActivity functions to prevent backwards incompatible changes in the future.

Hmm, I'm hesitant to return an error from all activity constructors - it will mean updating all the worker activity registrations from:
w.RegisterActivityWithOptions(
	activities.NewDownloadActivity(logger, tp.Tracer(activities.DownloadActivityName), wsvc).Execute,
	temporalsdk_activity.RegisterOptions{Name: activities.DownloadActivityName},
)

to:
downloadActivity, err := activities.NewDownloadActivity(logger, tp.Tracer(activities.DownloadActivityName), wsvc)
if err != nil {
    // Handle error
}
w.RegisterActivityWithOptions(
    downloadActivity.Execute,
    temporalsdk_activity.RegisterOptions{Name: activities.DownloadActivityName},
)

We're also then handling errors when the worker starts, rather than when the workflow runs.
I guess that does raise the question of whether we want the worker to just fail to start if there's a bad regex pattern in the config? Maybe it's better to log a warning and just ignore the bad pattern?

Yes, that's the idea. I'm talking about the activities from this repository only, as they are the ones that are shared. In some cases it may be better to fail on registration than in workflow, and following that pattern may prevent backward incompatible changes.

@jraddaoui what about adding a config Validate() method and validating the Regex patterns there?  Another option would be to add a string->regex decoder for viper.Unmarshal().
I'm reluctant to add a error to the constructor return signatures because:

It requires changing a bunch of code in multiple workers.
If we only change the activity constructors in this library, then we have to keep track of that difference when calling the constructors in the enduro workers.
It's unusual to return an error from a constructor in Go.  Go constructors do return an error when necessary (e.g. https://pkg.go.dev/net/http#NewRequest) but it's uncommon.
The temporal docs don't recommend returning an error from an activity constructor, like they do from a workflow execution of the activity.  Maybe this is because a worker restart is always necessary when you change the code so you don't have the problem of changing signatures of a workflow in flight?

I'm not planning to make this user configurable, the implementation I linked has a fixed regex, just to remove the PREMIS files.

I think is actually a design problem. If we wanted to use the removefiles.Activity to remove a different set of files in the same worker now we're stuck - we've registered the activity with a set "RemovePattern" (which will replace anything set in the config file), and we can't re-register it with a different "RemovePattern" or "RemoveNames" config.
I think maybe we are better to move the file removal pattern/lists to the execute method parameters, so we can register the activity once and call it multiple times if we need to remove different kinds of files.  This would also allow us to remove different types of files at different points in the workflow as necessary.
Making RemovePattern a call parameter would move responsibility for validating the regex to the caller, rather than having to do it in the activity constructor.  For example, in your current implementation we don't need to validate the regex - you've hard-coded the expression and we know it's valid.

I agree, that's why I didn't like the solution from https://github.com/artefactual-sdps/temporal-activities/pull/7. I remember talking about it, but I can't find where. I'll do that and change its usage in preprocessing-moma ;)


[MINOR][SQL][FOLLOWUP] Broadcast nested loop join to use executeTake instead of execute

What changes were proposed in this pull request?

This is a followup minor change from https://github.com/apache/spark/pull/31821#discussion_r594110622 , where we change from using execute() to executeTake(). Performance-wise there's no difference. We are just using a different API to be aligned with code path of Dataset.
Why are the changes needed?

To align with other code paths in SQL/Dataset.
Does this PR introduce any user-facing change?

No.
How was this patch tested?

Existing unit tests same as https://github.com/apache/spark/pull/31821 .

cc @cloud-fan and @maropu could you help take a look when you have time, thanks.

Hi, @c21 . [MINOR] is used when we have no corresponding JIRA id.

@dongjoon-hyun - thanks for correction. I was wrongly assuming followup PRs should not use original JIRA id. Will follow the convention next time, thanks.

BTW, GitHub Action is currently broken.

https://www.githubstatus.com

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/136082/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/40665/

retest this please

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/136084/

Closed & reopened PR to trigger unit test in github action.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/40667/

Merged to master.

Thank you @dongjoon-hyun and @maropu for review!


[ feature request ] Add an ability to specify particular list of packages for which there is no need for safety prompt

Safety prompt is a great feature, but it gets too pesky when you are (for some reason, say, for development) constantly rebuilding couple of packages with build hooks. Or, say, when you add some package or application to the must-have list, you get several questions for build hooks not at build command, but at switch one.
I think, listing kind of a white-list of packages which I don't want to receive a safety prompt when still having this "on" by default could be great.

That's a great idea. I'll see what I can do.

I opened a PR adding this capability. Could you please have a look if this is what you had in mind @buzden? PR #186.


fetchAndInstantiate instead of wasm2es6js?

Why do we need wasm2es6js here?
Couldn't we just as well use the fetch function and instantiate a WebAssembly with the response?

A good question! The general idea is that a wasm file is just an ES6 module, but as it turns out there's not actually many tools that work like that! AFAIK bundlers don't yet have support for this where the wasm file can both import/export, so the wasm2es6js tool is basically just a hack for now.
It's worth pointing out though that wasm2es6js isn't required at all, so long as the wasm file is interpreted as an ES6 module everything should work out!

Why does the WASM have to be encoded as string? We could just fetch the .wasms. Are you aiming for a single js file?

Oh using fetch is fine but I wasn't sure how to integrate that with bundlers, there's also certainly no need to use base64! It was just worked for the time being.

I'm gonna close this for now as currently the tool is working as intended, but I'm hoping it'll be obviated by the work of bundlers soon!


Add CI workflow

:tada: This issue has been resolved in version 0.7.0 :tada:
The release is available on GitHub release


feat grpc proxy doc && test case

Summary
pure grpc proxy
Full changelog

grpc proxy doc
grpc proxy test case

@nic-chen any update?

This PR and https://github.com/apache/incubator-apisix/pull/683, they modified the Travis installation scripts, they are better to be merged as soon as possible.
Then we can continue to work.

I think we can merge this PR first. Some small points, we will fix them later. @moonming

please add issues for that.

@nic-chen need to add ASF header for new files, otherwise, the Travis will fail


Release 0.15.5 (0.16?)

I think with the recent sphinx 8 fixes it woudl be good to make a new release potentially dropping older shinx. Here are the list of things to do for a new release.
Double check for quality-control

[ ] There are no open issues with a impact: block-release label

Prepare the codebase for a new version

[ ] Bump __version__ in __init__.py
[ ] Update our version switcher .json file with the new version
[ ] Make a release commit: git commit -m 'bump: 0.1.9 → 0.2.0'
[ ] Push the RLS commit git push upstream main
[ ] If a release candidate is needed, tick this box when we're now ready for a full release.

Make the release

[ ] Start a new GitHub release

Call the release the current version, e.g. v0.2.0
In the Choose a Tag: dropdown, type in the release name (e.g., v0.2.0) and click "Create new tag"
In the Target: dropdown, pin it to the release commit that you've just pushed.
Generate the automatic release notes, eventually manually specify the previous version (useful when several release candidate have been made)

[ ] Confirm that the release completed

The publish github action job has completed successfully in the actions tab.
The PyPI version is updated

[ ] Hide the previous patch version build in the RDT interface if needed.
[ ] Celebrate, you're done!

[^release-refs]: Taken from the release checklist. See the release documentation for an overview of release processes.

Just to say I'd really like a version compatible with Sphinx 8 too!

I don't think it's incompatible, did you encounter any specific errors ?

Yes:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. myst-parser 0.17.0 requires docutils<0.18,>=0.15, but you have docutils 0.21.2 which is incompatible. myst-parser 0.17.0 requires sphinx<5,>=3.1, but you have sphinx 8.0.2 which is incompatible.

Please try updating myst parser. Current stable release is 4.0.0 and you seem to have 0.17.0

Indeed, that helped. Now I got other issues probably coming from the fact I am already using a different theme (sphinx-material).
pickling environment... WARNING: cannot cache unpickable configuration value: 'html_context' (because it contains a function, class, or module object) [config.cache]
done
checking consistency... done
preparing documents... done
copying assets...
copying static files... done
copying extra files... done
copying assets: done
writing output... [  1%]
Extension error (pydata_sphinx_theme):
Handler <function update_and_remove_templates at 0x1131fce50> for event 'html-page-context' threw an exception (exception: 'logo-text.html' not found in ['/Users/elodie/Documents/github/Doc/source/_templates', '/Users/elodie/Library/Python/3.10/lib/python/site-packages/pydata_sphinx_theme/theme/pydata_sphinx_theme/components', '/Users/elodie/Library/Python/3.10/lib/python/site-packages/pydata_sphinx_theme/theme/pydata_sphinx_theme', '/Users/elodie/Library/Python/3.10/lib/python/site-packages/sphinx/themes/basic'])

Related: https://github.com/pydata/pydata-sphinx-theme/issues/1938

MetPy's docs are building fine with sphinx 8.0.2 and pydata-sphinx-theme 0.15.4 (myst-parser 4.0.0).

MetPy's docs are building fine with sphinx 8.0.2 and pydata-sphinx-theme 0.15.4 (myst-parser 4.0.0).

The same applies to the French LaTeX FAQ :blush:

@trallard @Carreau seems like we're close to being ready for another release? Only listed blockers are #1982 (which looks to be basically done?) and #1938 (which I think can be closed as completed given the comments above). #1992 made me realize some nice improvements still aren't in the hands of stable users.

We should be able to make a release whenever (https://github.com/pydata/pydata-sphinx-theme/pull/1982 is now merged), and we have been testing against Sphinx 8, and I have not spotted anything amiss. Neither of our CIs has so it is up to you @drammock, shall we cut a pre-release?

shall we cut a pre-release?

Yes I think so. I probably can't do it until next Wednesday so if one of you has time sooner then go for it

I shall be able to do this on Monday.

The pre-release is now out https://pypi.org/project/pydata-sphinx-theme/0.16.0rc0/
This can be installed with pip install pydata-sphinx-theme==0.16.0rc0 --pre
There is also a discussion opened https://github.com/pydata/pydata-sphinx-theme/discussions/1997

There do not seem to be any major issues identified through the release candidate, and the few bugs raised have been addressed.
So will target to make a full release early this week 🚀

@12rambau and @Carreau There's still time to adjust the French translation (#2010), isn't it?

When building the NumPy docs I noticed an issue with the search navbar-item:

I am not sure if that comes from the theme or one of our customizations but will check.
SciPy looks good as far as I can tell 👍🏻

@trallard what about #2007 ? It's minor enough that I didn't label as a release blocker, but by the same token it's minor enough that I'd be comfortable rolling it in as a bugfix between RC and release (if you or @gabalafou look and don't notice anything amiss, that is)

@melissawm

When building the NumPy docs I noticed an issue with the search navbar-item:

Already reported and fixed :wink:

@drammock, I think it is okay to include #2007. It is a bug (I just checked the Figma file, and the hover colour change went missing somehow), but it is small enough that I do not expect it to cause any issues. I did leave a comment on the tests, though.
@dbitouze I can definitely get the translations in.

Sorry if I was not clear enough @dbitouze. I meant that if the French translations are updated I should be able to include them in the proper release.

🎉 🚀 I just cut a new release so will go ahead and close this issue 👉🏽 https://pypi.org/project/pydata-sphinx-theme/0.16.0/


Made UI-files conformant to what QtDesigner expects

Opening one of our Qt-UI-files lead often to unrelated changes triggered
by QtDesigner's UI-parser. Since we want to be able to edit them in QtDesigner,
this commit tries to fix them once and for all.
Ideally this should not lead to any behavioural change in the
application. Most changes are reorderings even though they might look
weird depending on the diffing-algorithm.
Additionally two header-include changes in non-auto-generated-files were
necessary due to now missing transitive includes.

Addendum: I'm planning on merging that after the next release branch was created tomorrow. Since this change is rather a cleanup than a user-facing issue I prefer to merge it at the beginning of a release cycle instead of at the end. Furthermore these change might lead to subtle differences in behaviour which we can only test for manually.
@ronaldfw Let me know what you think.


Add Github Actions for all components

GitHub actions that check each PR should be added to all components.
Components:

[x] metal3
[ ] akri
[ ] kubevirt
[ ] kubevirt-dashboard-extension
[ ] metallb

/assign @Kristian-ZH for metallb


Included Expeditor utility to perform automated update of changelog, version etc...

Description
In the current scenario, whenever there is a merge to this repository, we manually update the changelog and versions. So we have introduced the Expeditor utility to automate this tasks.
Here, the script (.expeditor/update_version.sh) updates the package.json file
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] I have run the pre-merge tests locally and they pass.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[ ] All commits have been signed-off for the Developer Certificate of Origin.

Thanks @SmishaM

Thanks @SmishaM


Implement GenericByteViewArray::gc for compacting StringViewArray and ByteViewArray

Which issue does this PR close?

Closes #5513.
Rationale for this change

What changes are included in this PR?

Adding a new gc method for StringViewArray and ByteViewArray.
Are there any user-facing changes?
None.

The naming of gc might persuade people that it should modify itself. So should I:

make gc in place and edit itself
rename from gc to compact

Thank you -- looking forward to this one.

Thanks for your review @alamb, and I'd left this PR to a draft and reopen two PRs for this.


Write a Python program to find area of a right angled triangle

Description
Write a Python program to find area of a right angled triangle
Area of right angled triangle = 0.5 × Base × Height
Base   : 2
Height : 3

Area : 3

How to contribute

Save the solution in find-area-of-a-right-angled-triangle.py file
Add find-area-of-a-right-angled-triangle.py file in find-area-of-a-right-angled-triangle folder

!assign


TiDB Dashboard does not reload the certs automatically after certs renewal

Bug Report
Please answer these questions before submitting your issue. Thanks!
What did you do?
Deploy the TiDB Cluster in Kubernetes, and user cert-manager to manage the certs, before the certs expire, cert-manager will renew the certs automatically.

What did you expect to see?
TiDB Dashboard can reload the certs automatically to connect to the TiDB service.

What did you see instead?
TiDB Dashboard can not connect to the TiDB service after certs renewal.
tidb-cluster-pd-0 pd [2020/09/14 08:39:47.843 +00:00] [WARN] [conn.go:76] ["unknown error occurred while OpenTiDB"] [error="x509: certificate has expired or is not yet valid"]

What version of TiDB Dashboard are you using (./tidb-dashboard --version)?
v4.0.5

Hi, we believe that cert renewal is fine, except for the CA certs. Does this fit your case?

It's OK, thanks!