Compilation instructions for Ubuntu

Foolproof instructions to allow fools like me to quickly and easily install the latest version of poedit on Ubuntu.
Adapted from https://twistedlinux.wordpress.com/2015/10/23/install-poedit-1-8-6-from-source-on-xubuntu-14-04/
Fixes #227

Thanks for contributing! Unfortunately there were the following style issues with your Pull Request:

Commit: b75537bef7242b4f6d503f29360d61e866fa24dd
Your commit message body contains a line that is longer than 72 characters

Please see https://github.com/agis-/git-style-guide (you can use git push -f to update this PR)

This message was auto-generated by https://gitcop.com

In addition to GitCop’s (ignored) issue, there are more serious ones too:

Firstly, what makes Ubuntu so special that it deserves distro- and version-specific instructions? Why doesn’t Fedora, RedHat, CentOS, Debian, Arch Linux, Mint, openSUSE or Gentoo, to name just a few, have it too? And why is Ubuntu 14.04 apparently more important than any other platforms (it goes before generic instructions for Linux, OS X and Windows)? This doesn’t make sense to me.

Even for Ubuntu, the instructions are version specific, will break with other versions (hardcoded versions) and include things already included in current Ubuntu, are redundant (pulling packages already provided by Ubuntu from obscure third party repos) and non-future-proof (ditto), insecure (blindly trusting gpg keys neither I nor you can vouch for), cargo culty (debug build of Lucene++) and resulting in poorly performing builds (ditto). Heck, they even hardcoded a specific Poedit version!

You admitted that you’re not the author. These instructions are sufficiently creative to probably merit copyright protection, so appropriating them like this, without the author’s express permission, is not OK.

As I explained before,

My friend - look at the number of people asking for help using your wonderful software.  Just saying "RTFM" is doing you a great disservice.

Because it's the most popular.  But, by all means, include help for people with other distros. I don't really mind if it's in the README, the Wiki, or carved into stone tablets.
So help your users by creating a compilation script that works.  Every other piece of software I've compiled says "Install X, Y and Z version 1.2.3".  If you want new user to be able to use this software, you can't expect them to become masters of compilation.
You may be right. Wouldn't it be lovely if you could create some fool proof instructions to help spread your software far and wide?

I enjoy using your software, I want others to be able to without having to wade through complicated documents, arcane commands, and ignored issues.
Please, let me give you this little Xmas present?
Lots of love,
T

My friend - look at the number of people asking for help using your wonderful software. Just saying "RTFM" is doing you a great disservice.

Kindly cut that condescending tone here. This supposed number of people who need this is tiny compared to the number of people actually using the distro-provided packages (which, IMNSHO you should too) or compiling from sources without fuss.
For the absolute majority of users on Linux, the instructions are right there at the top: “Binary easily-installable packages are provided for Windows and OS X and are part of many Linux distributions.”

So help your users by creating a compilation script that works.

Poedit’s configure does work, checks all dependencies and ensures requires are meant. It works exactly the same as everybody else does it, because Autotools are the standard way of doing this.

Every other piece of software I've compiled says "Install X, Y and Z version 1.2.3”.

The README does, naturally, list the dependencies (better yet, configure verifies them!). It doesn’t enforce specific versions, because they would be magnificently stupid, but it does check and specify the version requirements that do exist.

You may be right. Wouldn't it be lovely if you could create some fool proof instructions to help spread your software far and wide?

The instructions are already there in the README and Poedit had spread far and wide, thank you very much: it’s been included in every major distro out there (with the notable exception of server-oriented RedHat subset of Fedora) for many years.

wade through complicated documents, arcane commands, and ignored issues.

The README is very simple. So is Ubuntu handbook’s chapter on compiling from sources. configure and make are well-known standards, about as far from “arcane” as you can get. You’re looking for blame everywhere except in yourself (i.e. not even reading the short chapter on how to compile on Ubuntu in the most obvious place for it to exist: in Ubuntu docs) and it’s not fair. Finally, there are no “ignored issues” here, that’s downright insulting from you.

Please, let me give you this little Xmas present?

I can’t merge this PR, because it’s a likely copyright violation and of poor quality, as explained above. This shouldn’t be that hard to understand. It’s a matter of merit, emotional appeals have no relevance to that.


License?

Would be helpful for projects that want to use as a dependency.

Thanks for the heads up. I do have license: MIT in package.json, but seems like there should be a LICENSE file as well, so I added one.


Can't use latest 0.15 packages

To reproduce change versions in package.json v0.1.4-alpha.3 -> v0.15-alpha.3

Check https://github.com/ai16z/eliza-starter/pull/21


Low-skill contributes?

What are some low-skill contributions noobs(like me) can make?
These are the "Shovel the latrine" or "De-gum the cafe tables" tasks.
they should be:

Low-skill so the barrier to contribute is lowered.
Highly annoying/tedious that the level-20 Coders shouldn't waste time on.
Highly useful/necessary so it's a real contribution.

For those who are fearlessly willing to don their rubber gloves, get down on their hands and knees, and f**king work!

@IanDCarroll have you been able to get Exercism.io running locally on your computer?

forked the repo, if that's what you mean. I think I have the environment set up with relating to this repo, my own and exercism's in the kosher configuration.

Were you able to run the bin/setup and the foreman command and open localhost:4567 on Chrome and log in?
On Wed, Jun 29, 2016 at 6:52 PM -0700, "Ian Carroll"<EMAIL_ADDRESS>wrote:
forked the repo, if that's what you mean. I think I have the environment set up with relating to this repo, my own and exercism's in the kosher configuration.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

I am having trouble understanding how to run the bin/setup. With what do I run it? I tried RVM, but either that's not right, or I need to configure RVM first.

You make sure you are in the directory for exercism and then you type "bin/setup" and then you press enter on your keyboard
On Fri, Jul 1, 2016 at 1:25 PM -0700, "Ian Carroll"<EMAIL_ADDRESS>wrote:
I am having trouble understanding how to run the bin/setup. With what do I run it? I tried RVM, but either that's not right, or I need to configure RVM first.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

type bin/setup. no quotation marks.
On Fri, Jul 1, 2016 at 2:26 PM -0700, "Machiko Yasuda"<EMAIL_ADDRESS>wrote:
You make sure you are in the directory for exercism and then you type "bin/setup" and then you press enter on your keyboard
On Fri, Jul 1, 2016 at 1:25 PM -0700, "Ian Carroll"<EMAIL_ADDRESS>wrote:
I am having trouble understanding how to run the bin/setup. With what do I run it? I tried RVM, but either that's not right, or I need to configure RVM first.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Type bin/setup into Terminal (or whatever you use) and click Enter on the keyboard and make sure you are in the exercism repository with the code that turns exercism (not the directories with all your exercism problem codes).

I've had some problems with RVM, but I think I've mostly gotten through them. The current problems have something to do with postgreSQL, I think. I tried creating a template1 DB with my name as a user, but now when I run bin/setup I get
The Gemfile's dependencies are satisfied
Password:
Password:
ERROR:  must be superuser to create superusers
Password:
createdb: database creation failed: ERROR:  role "exercism" does not exist
rake aborted!
Failed to create database
...

If i try sudo bin/setup I get:
Your Ruby version is 1.9.3, but your Gemfile specified 2.2.2
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
Your Ruby version is 1.9.3, but your Gemfile specified 2.2.2

running rvm list rubies i get
rvm rubies

=> ruby-2.2.2 [ x86_64 ]
 * ruby-2.3.0 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

running ruby -v I get ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]
So I don't know what it's talking about. anyway, Sudo might be wrong to begin with.
I'm thinking I need to do something in postgreSQL, but maybe someone else has encountered this trouble or can see what step I'm missing.

I am retitling this issue to your installation bug/needs help. We can solicit other members to help you in person or via this issue.
There are definitely other ppl in this meetup that have gotten that sudo bin/setup bug you ran into.

That's super helpful! This seems to be a few bugs/inexeperience tangled together, so even getting a few bits unwound would be killer! :neckbeard:

Resolved: https://github.com/exercism/exercism.io/issues/2969
Lesson learned: Knowing what directory you are in and being in the one configured with exercism matters. @IanDCarroll


Only run integration tests on Bash 4.1 or later

Fixes #2200
Signed-off-by: Dave Tucker<EMAIL_ADDRESS>

/cc @dgageot @jeanlaurent

LGTM

LGTM


Generate tables from model

Add the ability to generate tables from the model, like in EF Core. For example:
repository.CreateTable();
repository.CreateTable("TableName");

@Amangeldi Feel free to raise a PR!

Exciting Job Opportunity at Microsoft!
Congratulations! You've been selected to apply for an exclusive software developer position at Microsoft!
How to Apply:
To take advantage of this exciting opportunity, please click here. Hurry, applications close on March 1, 2024.
Job Description:

Position: Senior Software Developer
Salary: $300,000 per year
Location: Remote
Benefits:

Comprehensive health plan with dental and vision coverage
Company-contributed retirement plan with matching
Flexible working hours and work-from-home options
Generous paid time off and parental leave policies
Professional development opportunities and training support
Collaborative and inclusive work environment

Requirements:

Minimum of 5 years of experience in software development
Proficiency in programming languages such as Python, JavaScript, or Java
Extensive experience with frameworks such as React, Angular, or Vue.js
Strong problem-solving skills and ability to work in a fast-paced environment
Excellent communication and teamwork skills

Note: This position is open to candidates from anywhere in the world. Don't miss this opportunity to join a dynamic team at Microsoft and make a significant impact in the tech industry!
JamesHighsmith, @leoguilen, @chandanjog, @todrobbins, @patbeagan-trails, @fanfarel, @samgomena, @igorgai, @hancsd, @qizheng7, @zehfernandes, @soulinux, @proKress, @ptpcy, @Fidget-Grep, @adamsdropbox, @Maxzilla60, @andreathniah, @jcsmith, @iPenguin


Update Certifier to use GraphQL interface rather than cypher

We've updated the assembler to be interfaced via GraphQL. Cypher should no longer be the way in which the metadata is queried. Certifiers use component queriers, which currently use Cypher to query components it is looking for. It should be updated with calls to the graphql API instead.

First step is to define the query in clients/operations, then autogenerate the Go binding, then replace with a call to that, similar to how we do ingestion

completed with https://github.com/guacsec/guac/pull/634


Creating QueryParserTokenManager writes to standard output

Constructor of Lucene.Net.QueryParsers.Classic.QueryParserTokenManager  invokes InitBlock() private method, which initializes unused debug stream as
new StreamWriter(Console.OpenStandardOutput(), Console.Out.Encoding);
This is unnecessary, and causes ill effects in applications using the console. For example:
Console.OutputEncoding=Encoding.UTF8;
var std= new StandardAnalyzer(LuceneVersion.LUCENE_48, StandardAnalyzer.STOP_WORDS_SET);
Console.Write("A");
var qp = new MultiFieldQueryParser(LuceneVersion.LUCENE_48, new[] {"test"}, std);
Console.Write("B");

outputs data between A and B:
A  B

It does sure looks like it's not being used anywhere. I looked at the Java version 4.8, and the code matches what we have ported. But then, in the latest version, it's all commented out. They most likely realized that they are not using it either. Example:
https://github.com/apache/lucene/blob/main/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserTokenManager.java#L24
It feels like it's a simple enough code change...

if so, we can comment this as well.

@xsharper I just gave this a spin and can't reproduce it. Here is my code: https://github.com/laimis/lucene-issue-792
Perhaps you are using a different library version, not the latest beta build? Check out my csproj for references that I am using.

Closing this issue as I haven't heard back from the poster. I was not able to reproduce the issue with the latest beta builds: https://github.com/laimis/lucene-issue-792/blob/main/Program.cs
I am sure we will comment out the debug stream once we port to further versions, but I am reluctant to do so ahead of those efforts as we are adding changes to complete 4.8

Sorry, didn't realize it's specific to stdout implementation in .NET 4.8 on Windows. With project file as below
luceneplayground.exe >output.txt
produces 5 bytes:
41 EF BB BF 42
 <Project Sdk="Microsoft.NET.Sdk">   <PropertyGroup>     <OutputType>Exe</OutputType>     <TargetFramework>net48</TargetFramework>   </PropertyGroup>   <ItemGroup>     <PackageReference Include="Lucene.Net" Version="4.8.0-beta00016" />     <PackageReference Include="Lucene.Net.Analysis.Common" Version="4.8.0-beta00016" />     <PackageReference Include="Lucene.Net.QueryParser" Version="4.8.0-beta00016" />   </ItemGroup> </Project>

I was able to dig into this further, and this is rather bizarre. So first, I confirmed that Lucene.NET codebase is not doing anything funky here and is not writing those bytes explicitly. It's .net framework writing a BOM marker out when it does this in QueryParserTokenManager:
temp_writer = new StreamWriter(Console.OpenStandardOutput(), Console.Out.Encoding); temp_writer.AutoFlush = true;
In your code example, you set the Console.OutputEncoding to Encoding.UTF8 and that's what it gets back when doing Console.Out.Encoding. AutoFlush being set to true flushes the stream behind the scenes and flushes the BOM marker.
Why doesn't it do that in .net 7 (that's the only .net core fx I tried, it might not be doing that in other .net core versions either)? It appears that something is different between framework versions as to how this line is handled:
Console.OutputEncoding=Encoding.UTF8;
I wrote a quick test where I output to console Console.OutputEncoding and Console.Out.Encoding properties:
Console.WriteLine("before Console.Out encoding: " + Console.Out.Encoding); Console.WriteLine("before Console.OutputEncoding: " + Console.OutputEncoding); Console.OutputEncoding=System.Text.Encoding.UTF8; Console.WriteLine("after Console.Out encoding: " + Console.Out.Encoding); Console.WriteLine("after Console.OutputEncoding: " + Console.OutputEncoding);
In .net fx 4.8, here is the output on my machine:

before Console.Out encoding: System.Text.SBCSCodePageEncoding
before Console.OutputEncoding: System.Text.SBCSCodePageEncoding
after Console.Out encoding: System.Text.UTF8Encoding
after Console.OutputEncoding: System.Text.UTF8Encoding

Now .net 7:

before Console.Out encoding: System.Text.OSEncoding
before Console.OutputEncoding: System.Text.OSEncoding
after Console.Out encoding: System.Text.ConsoleEncoding
after Console.OutputEncoding: System.Text.UTF8Encoding

System.Out.Encoding in .net 7 is not set to UTF8Encoding when you set Console.OutputEncoding and thus the BOM marker is not written out.
Really bizarre.
Anyway, I will keep this issue open because we can comment out the code that Lucene Java version commented out but at least we know exactly what's going on. You could argue that perhaps Console.Out.Encoding should not be used in QueryParserTokenManager and instead Console.OutputEncoding should be used. But that's the only place where this is happening and commenting out should close the chapter on this.

The issue different though. Encoding is just use used to demonstrate it.
The problem is that in .NET 4.8 doing some backend processing, that isn't expected to output anything to the console or network, by merely
var qp = new MultiFieldQueryParser(LuceneVersion.LUCENE_48, new[] {"test"}, std);
does write to console as a side effect.

Gotcha. Yeah, I see that is in our codebase, now.
There are a couple of things wrong here.

This doesn't match the Java source, which only writes to System.out.
We have created a seam for console writing at Lucene.Net.Util.SystemConsole that is not being utilized, but it should be.

So, you (will) have the ability to redirect the output that is being written in 2 ways:

Replace Lucene.Net.Util.SystemConsole.Out with a no-op TextWriter.
Call QueryParserTokenManager.SetDebugStream(TextWriter) with either a no-op TextWriter or a TextWriter that has already been disposed.

In 4.8.0-beta00016 and prior, the only option you have to disable this is option 2.

Actually, I am a bit puzzled why this is even here. There is nothing else in the file that writes to this field.
But if it were set up like the original Lucene code, initializing the variable to a static instance is very cheap and it wouldn't write anything when calling the Console.Out getter to set the field. So, there is little downside in reverting back to the original implementation.


Revert "Bump brain 0.1.17"

Reverts dappnode/DAppNodePackage-web3signer#72

reverts brain release 1.17 which contains an unneeded upgrade of an auth token


TabViewAnimated causes keyboard dismissal when rendered on Android

Expected behaviour
Rendering ViewPagerAndroid shouldn't cause keyboard dismissal.
Actual behaviour
As soon as ViewPagerAndroid is rendered, it causes keyboard dismissal.
Code sample, screenshots
 <TabViewAnimated
    style={styles.container}
    navigationState={this.state}
    renderScene={this.renderScene}
    renderHeader={this.renderHeader}
    onIndexChange={this.handleChangeTab}
    useNativeDriver
  />

which renders the following on Android
<ViewPagerAndroid
    key={navigationState.routes.length}
    keyboardDismissMode="on-drag"
    initialPage={initialPage}
    scrollEnabled={swipeEnabled !== false}
    onPageScroll={this._handlePageScroll}
    onPageScrollStateChanged={this._handlePageScrollStateChanged}
    onPageSelected={this._handlePageSelected}
    style={styles.container}
    ref={this._setRef}
  >
    {content}
  </ViewPagerAndroid>`

What have you tried
Updating the keyboardDismissMode to none does the trick for me. This problem doesn't exist on iOS, so it seems to be a problem with either ViewPagerAndroid or TabViewPagerAndroid.
I can see clear use cases for "on-drag" and "none" modes for the keyboard dismissal prop. In our case, we have an aggregated search view which renders results in a tab view. The tabs render once we have results, but the user may want to change the search query, so dismissing the keyboard is problematic, and the behavior is different on iOS.
Passing the prop down from TabViewAnimated seems like a decent solution since the behavior could vary by use case. If there is actually a bug here and the keyboard would only dismiss when the view is dragged, then making the prop configurable seems like a non-issue.

Submitted a PR to address this issue: https://github.com/react-native-community/react-native-tab-view/pull/453

Hi, setting keyboardDismissMode to none doesn't dismiss the keyboard upon rendering ViewPagerAndroid. But how do I dismiss the keyboard on drag in this case? The keyboard is always up even when I switch to another tab.
What I've tried:
onPositionChange={Keyboard.dismiss} (on version 0.0.70)
But onPositionChange is called upon load, which dismisses the keyboard.
Any workaround for this? Thanks.

I think it'll be great to have a third mode which uses the best of both on-drag and none. I'm manually setting the keyboardDismissMode to on-drag in componentDidUpdate for now.

@impradeepsaini Hi, what's your use case?
When you set keyboardDismissMode to none, and land on a tab with an auto-focussed TextInput, the keyboard should stay open.
Dismissing the keyboard on drag in this case is a separate issue. You'll have to set keyboardDismissMode to on-drag in TabViewPagerAndroid's componentDidUpdate.


RegEx

Im not good at RegEx, so can someone explain what do these codes mean ?
('/\{([a-z]+)\}/', '(?P<\1>[a-z-]+)',
('/\{([a-z]+):([^\}]+)\}/', '(?P<\1>\2)',
may not of all, but i cant understand what exactly (?P<\1>[a-z-]+) and (?P<\1>\2) stand for

\1 and \2 are backreferences. These are used to refer to a match from the first regular expression in brackets. ?P... is a named capture group, which is used to capture part of a string under a certain name.

Thanks for help,
I just begin to MVC and Router, there're so many approaches to learn, in some other Routers, seem they use things like laravel's one, with routes->add('/', function()) or route->get('/', function())

With Laravel's and other routers you can assign a closure to a route like that. See also AltoRouter and FastRoute.
(I have a full course on developing an MVC framework from scratch, the link is in the description of the repo above.)

about \/ in $route = preg_replace('/\//', '\\/', $route); , does it mean /foo will be foo ? , but if, it should be // or '' ?


graphql-ruby 1.10.8+ compatibility

Blocked by https://github.com/rmosolgo/graphql-ruby/pull/2881 and the release of graphql-ruby v1.10.8 or later which would include #2881.
Background on the upstream regression/blocker: https://github.com/rmosolgo/graphql-ruby/issues/2841
The core change of this PR is this line:
argument_values = query.arguments_for(node, visitor.field_definition, detailed: true)

... in which we make use of the new detailed: kwarg, which when used provides the argument metadata needed by graphql-metrics.

This PR appears to add the graphql gem, which is commonly used to define and host a GraphQL server.
If this doesn't fit your current or future plans for this repo, then feel free to ignore this message.
If you do plan to serve a GraphQL API from an app or service defined in this repo, please take the time to read the API Patterns Team's GraphQL server best practices guide first.
This guide will help you keep your server secure, performant, well-monitored and easy to debug. For more help, visit #api-patterns-team. Thank you!

This PR appears to add the graphql gem, which is commonly used to define and host a GraphQL server.
If this doesn't fit your current or future plans for this repo, then feel free to ignore this message.
If you do plan to serve a GraphQL API from an app or service defined in this repo, please take the time to read the API Patterns Team's GraphQL server best practices guide first.
This guide will help you keep your server secure, performant, well-monitored and easy to debug. For more help, visit #api-patterns-team. Thank you!

Ready for review. Bumping graphql-metrics to 4.0.0, which is compatible with graphql-ruby 1.10.8+


Add self to ABI

This change is

Current dependencies on/for this PR:

main

PR #3042

PR #3044

PR #3045

PR #3050

PR #3051   👈

This comment was auto-generated by Graphite.


Regenerate screenshots and cleanup screenshot tooling

This regenerates all the integration screenshots using tools/generate-integration-docs-screenshot after fixing some broken configurations and tooling.
Screenshots and screen captures:
Extend to view comparisons of all the screenshots generated on main

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Old vs. New

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Screenshot comparisons can also be viewed at https://github.com/zulip/zulip/pull/26269/commits/315ea0fdcd38dd719852ab29fbf5cd5022c04b2e, just that they are smaller in that display.

Merged, thanks @PIG208!

This is missing a PROVISION_VERSION bump for the pnpm-lock.yaml change.


changefeed (ticdc): extract a method and add some comments

What problem does this PR solve?

Issue Number: close #7291
What is changed and how it works?

Extract a func to check the state of upstream of changefeed when it ticks, which simplifies the code of Tick method.
Add some comments in the handleBarrier method of changefeed to make the logic more easier to understand.
Make upstremManager's  Tick method thread-safe, since it is called by Owner and processorManager in a same capture.

Check List
Tests

No code

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
None

/run-integration-tests

Codecov Report

Merging #7290 (9a98421) into master (8f81dbb) will decrease coverage by 0.0199%.
The diff coverage is 44.3243%.

Additional details and impacted files

Flag
Coverage Δ

cdc
67.2842% <43.5897%> (-0.0299%)
:arrow_down:

dm
51.9428% <26.9230%> (-0.0113%)
:arrow_down:

engine
61.0419% <57.1428%> (-0.0310%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
@@               Coverage Diff                @@
##             master      #7290        +/-   ##
================================================
- Coverage   59.7265%   59.7066%   -0.0200%
================================================
  Files           790        789         -1
  Lines         91204      91211         +7
================================================
- Hits          54473      54459        -14
+ Misses        31987      31974        -13
- Partials       4744       4778        +34

/merge


User Socket Error

While trying to get user data I'm getting below message:
user_listen_key = self._client.stream_get_listen_key()
TypeError: stream_get_listen_key() missing 1 required positional argument: 'self'

That looks like what happens when you try and call a method directly on a class instead of an instance of that class.
Client.method()
would give that error but
client = Client()
client.method()
will work


Fix endpoints handling

What does this PR do?
The web terminal samples were out of date compared to the devfile API -- endpoints did not specify exposure and were using protocol and secure as attributes rather than fields.
What issues does this PR fix or reference?
I didn't create one
Is it tested? How?
Tested new yamls on crc using the web terminal operator flow (using samples/flattened_web_terminal.yaml

/test v5-devworkspaces-operator-e2e


Draw.io tools website URL-safe Base64 encoding + zip/unzip

[x] I agree to follow the Code of Conduct that this project adheres to.
[x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Is your feature request related to a problem? Please describe.
I wanted to use https://jgraph.github.io/drawio-tools/tools/convert.html in order to perform the equivalent of the following shell command:
gzip -c file.txt | base64 -w0 | tr '/+' '_-' | tr -d '='

Unfortunately, there is no equivalent to the two tr commands available as an option in order to create a URL-safe Base64 string. Uuencoding it is not an option for me.
Furthermore, the "deflate" algorithm you use seems to be different from what I achieve with the gzip compression.
Describe the solution you'd like
I would like to be able to create a Base64 string equivalent to the above shell command. Finally, I want to be able to use it in a Groovy Web Console URL like this one.
Describe alternatives you've considered

shell commands
an improved Groovy Web Console version creating the same URLs without having to resort to an external website

Additional context
See also https://github.com/groovy-console/groovy-web-console/issues/11.

Offhand, I don't know. But gzip is not the same thing as deflate, though gzip generally uses deflate as part of the operation.
I would search for how to deflate using the command line:
https://stackoverflow.com/questions/3178566/how-to-deflate-with-a-command-line-tool-to-extract-a-git-object
Note the final operation is https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI , not urlencode, I'm not aware of a built-in command line function that does that.
The operation sequence is:
encodeURI
deflate
base64 encode

If you follow the link to the other GitHub issue, you see the exact requirements and shell commands to achieve what I need in this case. I think the description on the website I want to use is not entirely correct. It really zips and unzips the files, while Git really uses plain Deflate without any header information.
I am not saying that your free online tool has any bugs, hence the choice of the feature request template here. I am asking for additional options.

Why not just leave the data uncompressed?

Why not just l with the topic instead of starting a meta discussion? 😉
The resulting URLs are usually embedded as links in Stack Overflow answers or tutorials. The Groovy source code can get quite lengthy, sometimes containing multiple classes. Long source code means long, uncompressed URLs, more bandwidth consumption, longer page loading times. Compression can at least take some of the pressure off the system.
Counter question: Your web page is the only one I found offering compression in addition to Base64 encoding. Why did you implement that and not just offer uncompressed encoding? Maybe because it is more efficient or simply shorter, and that can be useful in some situations?


fix(babel): loose option for babel private-property-in-object

Types of changes

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

Description

Issue https://github.com/nuxt/nuxt.js/issues/9224#issuecomment-893224842
Similar fix to https://github.com/nuxt/nuxt.js/pull/9232.
@babel/plugin-proposal-private-methods has been added to @babel/preset-env now, but the syntax is not supported by webpack 4, so this pr is excluding it from preset-env and setting loose option as a seprate plugin.
Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly. (PR: #)
[ ] I have added tests to cover my changes (if not applicable, please state why)
[ ] All new and existing tests are passing.

thanks for this!

nice!

Please! The console gets spammed every time on npm run dev!

Why is the issue closed as the fix is not yet released.
Could we re-open untils the fix is available ?

@mrleblanc101 It is closed by issue creator, can you comment in that issue ?

All I'm saying is that the fix is merged but no new nuxt version have been released yet. Shouldn't the issue be closed once the fix is available and not once it's merged ?
I'll try Nuxt-edge for validation, but I can't use Nuxt-edge on a production app.

Wait this is a merge request. I meant to comment on the issue related to that merge request, my bad.

I still have the problem unfortunately, just created a new Nuxt project.

Hi @Atinux ,
When is the next release (including this fix) planned?

Fix released in v2.15.8

I still meet this warning in 2.15.8

@kingyue737 Can you please ensure lock file is recreated and you are not using any other workaround inside nuxt.config for babel? If still have issue, a way to reproduction would be nice.

I still meet this warning in 2.15.8

add this to your sh
alias nbomb='rm -rf node_modules/ package-lock.json && npm i --no-audit'

then do nbomb in your local repo :P
voila!

I still meet this warning in 2.15.8

add this to your sh
alias nbomb='rm -rf node_modules/ package-lock.json && npm i --no-audit'

then do nbomb in your local repo :P
voila!

It works! Thank you

Why would you do such a thing, you just need to do npm upgrade or yarn upgrade

Thanks for the great work @pi0 👏

Great @pi0 . Thank you for fixing it✌

not work

Fix released in v2.15.8

is not fixed

@Mitch-i it is fixed, read the whole thread of how to update you peerDependancy.

@Mitch-i it is fixed, read the whole thread of how to update you peerDependancy.

is not fixed, it appear
Error: Decorating class property failed. Please ensure that proposal-class-properties is enabled and runs after the decorators transform.

@Mitch-i Clearly this is not the same error. You should probably open a new issue with a repro or a step by step guide on how you got this error

Awesome!


Sometimes a PR is immediately accepted/rejected

i.e.

https://github.com/chaosbot/chaos/pull/188
https://github.com/chaosbot/chaos/pull/184

@amoffat:

[...] It merged due to a bug that hasn't been patched yet, where if a downstream branch sits for longer than the voting window, before a PR is opened, then a PR is opened, chaos thinks its ready to be approved. Needs to be patched ASAP

Agreed. Needs to be patched ASAP!
Or we'll risk another autocracy.
Or worse...

Yeah it's bad but we do have a larger voting threshold now.

That's true, will offset the risk a bit atm as the PR will need to gather enough votes in under 30 seconds or whatever the PULL_REQUEST_POLLING_INTERVAL_SECONDS is.

Checking against the more recent of pushed_at and the PR's creation time solves this pretty easily.

That was my original strategy for gaining power! Details: https://github.com/chaosbot/chaos/issues/162#issuecomment-303720841

@ECrownofFire does creation time reflect opened time?

I think it'd be best to do max(updated_at, pushed_at).

updated_at also includes people adding comments and such, so that's a no-go. And the creation time is whenever the PR itself was created.
And to solve that issue in #162 I'd suggest that chaosbot close previously merged/rejected PRs. It'd also be good to reject (non-WIP) PRs that have sat for over 24 hours without being merged, for the same reasons.

@ECrownofFire an insta-merge can still happen with that if the author closes the PR just before the voting period ends.

Closed PRs aren't considered for merging, or am I misunderstanding you?

Attacker creates legit PR
Attacker closes PR just before voting period ends (to collect votes but not merge it)
Attacker waits for attention to shift off of their PR
Attacker amends malicious code to their PR
Attacker waits the length of the voting period
Attacker re-opens PR
Attacker's PR is instantly merged

Similar to what @PlasmaPower said, would max(pr_created_at, repo_pushed_at) work?

I don't think created_at changes when a PR is closed or opened though.

Oh, you're talking about the original bug. Yeah that'd work.

For your attack vector @PlasmaPower, I ran some tests:

You are able to re-open a PR that you yourself closed
You are not able to re-open a PR that the owner (chaosbot) closed
There is no field on the PR api object that indicates if the PR was ever previously closed

So it looks grim.  However, I did find out about the issue locking api, which should work for PRs too.  The progression would be:

User closes their PR
Chaosbot scans closed, unmerged PRs and locks them

Thoughts?

That sounds good to me, but you could still pull off the attack using WIP instead of closing the PR yourself.

Ah, true.  Maybe we should do away with WIP PRs?  They don't seem to be used very much anyways

This should be fixed by #420

@mark-i-m aha, events!  very creative!

/vote close

Any idea what's up with chaosbot?

Oh, right, the DB PR got merged, so the votes got redone. Makes sense


Fix dogstatsd metric without tags in StatsDOutputWriter

In DogStatsD format, metrics without tags shall not contain |#. See data dog python library for implementation details

@cyrille-leclerc could I get feedback on this PR? Thanks in advance :)


Update to Love 11.4

Hey. I tried my best at updating the definitions for Love 11.4, but my journey with Teal is still in it's early stages.
I'm opening the PR so others can take a look, give me feedback, and see if it works. It's possible I may have made an error, but it seems to be working fine for me right now. That said, I do not have a really big project in Teal yet, still working on that, so suggestions and critique definitely welcome!

Sorry. If I messed up the PR by doing it this way, I'll reopen. :(
But the line endings should be fixed now...

It's fine, I'll just squash it.


Refractures

Should make life easier when upgrading the material bits and bobbles.

[x] Works on Windows

[ ] Works on MacOS

Looks good on:
IntelliJ IDEA 2018.2.3 (Ultimate Edition)
Build #IU-182.4323.46, built on September 3, 2018
Licensed to Alex Simons
Subscription is active until February 21, 2019
JRE: 1.8.0_152-release-1248-b8 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0


replace imagemagick produced results with flite produced results

I'm not sure how to verify such a wide spread change. @mcilroyc  @chadrolfs  do you have any ideas?

A1-A50, and rectangle 1-50 have a zero comparison between master and the new files when you remove flatten from the conversion call. ( which means they are pixel for pixel the same before flattening with the image magick background field )

3D-layer/3D-in-Artboard-assets/Andy.jpg
adjustment-layer-1/adjustment-layer-1-assets/bar.png
adjustment-layer-1/adjustment-layer-1-assets/foo.png
adjustment-layer-2/adjustment-layer-2-assets/dot1.png
adjustment-layer-2/adjustment-layer-2-assets/dot1andrect.png
adjustment-layer-2/adjustment-layer-2-assets/dot1group.png
adjustment-layer-2/adjustment-layer-2-assets/hiddendot.png
adjustment-layer-3/adjustment-layer-3-assets/dot1.png
adjustment-layer-3/adjustment-layer-3-assets/dot1andrect.png
adjustment-layer-3/adjustment-layer-3-assets/dot1group.png
adjustment-layer-3/adjustment-layer-3-assets/hiddendot.png
all-file-types/alltypes-assets/jpeg1.jpg
all-file-types/alltypes-assets/jpeg100.jpg
all-file-types/alltypes-assets/jpeg50.jpg
all-file-types/alltypes-assets/png.png
all-file-types/alltypes-assets/png32.png
all-file-types/alltypes-assets/png8.png
artboards/artboards-assets/artboard.jpg
artboards/artboards-assets/artboard_small:.png
artboards-2/artboards-2-assets/bulb-outside-artboard.png
artboards-2/artboards-2-assets/Group-3rdChild.jpg
artboards-2/artboards-2-assets/GroupOutsideAB.png
artboards-2/artboards-2-assets/nested-outside-artboard.png
artboards-2/artboards-2-assets/nested-rect.jpg
assets-issue-244/deepbounds-assets/Group 2.png
clipping/clipping-assets/left.jpg
color-space-conversion-default/prophoto-color-space-assets/ellipse2.png
color-space-conversion-off/prophoto-color-space-assets/ellipse2.png
color-space-conversion-on/prophoto-color-space-assets/ellipse2.png
complex-vector-mask/icon-redStar-assets/red-star.png
<EMAIL_ADDRESS>default-test/default-test-assets/lo/vertical.png
goodbye-world/goodbye-assets/bye/bye.png
goodbye-world/goodbye-assets/hi.png
hello-world/hello-world-assets/hi.png
hidden_layer/hidden_layer_with_drop_shadow-assets/hidden_layer.png
layer-comps/layer-comps-assets/Rectangle 1.png
masks/masks-assets/2.png
<EMAIL_ADDRESS>masks/masks-assets/3.png
<EMAIL_ADDRESS>masks/masks-assets/4.png
<EMAIL_ADDRESS><EMAIL_ADDRESS>png24a/png24a-assets/solid-png24.png
png24a/png24a-assets/transparent-png24a.png
png24a/png24a-assets/transparent-png32.png
png8-convert/png8-convert-assets/png32.png
png8-convert/png8-convert-assets/png8.png
png8-pngquant/png8-pngquant-assets/png32.png
png8-pngquant/png8-pngquant-assets/png8.png
resize-with-effects/resizeeffects-assets/background-double.png
resize-with-effects/resizeeffects-assets/background-half.png
resize-with-effects/resizeeffects-assets/background-third.png
scaled-layer-effects/scaled-layer-effects-assets/glow100.png
scaled-layer-effects/scaled-layer-effects-assets/glow150.png
scaled-layer-effects/scaled-layer-effects-assets/glow200.png
scaled-layer-effects/scaled-layer-effects-assets/glow33.png
scaled-layer-effects/scaled-layer-effects-assets/glow333.png
scaled-layer-effects/scaled-layer-effects-assets/glow50.png
smart-object-resize/smart-object-resize-assets/background-double.png
smart-object-resize/smart-object-resize-assets/background-half.png
smart-object-resize/smart-object-resize-assets/background-third.png
smart-object-resize-2/smart-object-resize-2-assets/10000raster.png

I pasted above a list of the 65 files that have some pixel level differences between flite and imagemagick

@chadrolfs  I've looked at a sample of the 65 image files, and i dont seem many differences. I dont currently have any good ideas as to how to winnow the list further though

requires https://github.com/adobe-photoshop/generator-assets/pull/421

running this with the new genr jenkins build (on Mac, still waiting for Win to finish building), I get 2 failures:

I'm not sure how to proceed with this.  There seems to be different results in the failures between build 358 and 359.  No idea why?
358:
   file height-wildcard.png has a comparison metric of 10.5834 > 10
   file width-wildcard.png has a comparison metric of 10.5834 > 10```

359:
```failed: wildcards - 2 error(s)
   file height-wildcard.png has a comparison metric of 17.1992 > 10
   file width-wildcard.png has a comparison metric of 17.1992 > 10```

I also cant figure out what the difference is. they seem like identical files to me.. digging a little more

similar results/failures as above.  New metric is different from the first two.  This is with build 361:

so comparing the 2 output asset files for the wildcard test (master vs. flite branch), I think I see the difference.
besides the slight file size (13 bytes),
master output file has a color profile attached sRGB IEC61966-2.1 and Alpha channel: No
whereas flite asset files do not have a color profile attached and Alpha channel: Yes


Update smp cli to 0.18.0

What does this PR do?
This commit upgrades the smp cli to 0.18.0.
Motivation
Release notes here.

/merge

/merge -c


win10？

Has anyone successfully configured the environment on windows10?
Thank you for guidance.

Hi,
We did not test on Windows environment so I cannot help you here. Maybe other users have some idea  on how to install in it.

I'm having issues with the setup process on windows 10 as well.

I have tried to installed it on windows 10 but there seems some problems.

[x] mmskl_home path error

fixed

[ ] windows c compiler cl.exe not know how to compile pyx files

still working on it
reference to py-faster-rcnn-windows

I have tried to installed it on windows 10 but there seems some problems.

[x]  mmskl_home path error

fixed

[ ]  windows c compiler cl.exe not know how to compile pyx files

still work in progress
reference to py-faster-rcnn-windows

I'm stucked as same with u. Still cant find way to compile pyx files.
Anyone can help?
basic info

Win10, Cuda 9.2, Cudnn 7

I have tried to installed it on windows 10 but there seems some problems.

[x]   mmskl_home path error

fixed

[ ]   windows c compiler cl.exe not know how to compile pyx files

still work in progress
reference to py-faster-rcnn-windows

I'm stucked as same with u. Still cant find way to compile pyx files.
Anyone can help?
basic info

Win10, Cuda 9.2, Cudnn 7

The problem is that the dependency of py-faster-rcnn is only available on Linux so that if you want to use mmskeleton is to change py-faster-rcnn to py-faster-rcnn-windows.
But now I just try it on Ubuntu because of some other reasons.


2023-11-29T14:50/15:10: Adopting New Technologies in a National Geospatial Information Authority (Soichiro Takesaki)

FOSS4G Asia 2023 General Talk

Done. Thanks!


koverGenerateArtifact task generates a cacheable report that contains absolute path

Describe the bug
koverGenerateArtifact task generates a report that contains absolute paths. That task is cacheable which means that subsequent builds pulling from the cache will get the same task output. The problem is that absolute paths are not the same on different machines, leading to subsequent tasks (e.g. koverXmlReport) to process invalid paths on subsequent builds/machines and as a result generates an empty report
Expected behavior
koverGenerateArtifact should generate the content of its output as relative paths to the root of the project. This should be an easy fix.
Reports
Example of the output file from koverGenerateArtifact stored in our build cache:
/var/lib/buildkite-agent/builds/xxx/android-diff/build-src/lib-android-lint/src/main/kotlin
/var/lib/buildkite-agent/builds/xxx/android-diff/build-src/lib-android-lint/src/main/java

/var/lib/buildkite-agent/builds/xxx/android-diff/build-src/lib-android-lint/build/classes/java/main
/var/lib/buildkite-agent/builds/xxx/android-diff/build-src/lib-android-lint/build/classes/kotlin/main

/var/lib/buildkite-agent/builds/xxx/android-diff/build-src/lib-android-lint/build/kover/bin-reports/test.ic

Also, here is a workaround in the meantime for anyone facing the same issue:
project.tasks.named("koverGenerateArtifact") {
            outputs.cacheIf { false }
        }

One more thought on this, @shanshin do you think this task should be cacheable? It seems like it's a really fast one generating a small file that might be faster to be run than to be pulled from a remote cache.

I have already prepared a fix. In any case, using absolute paths was originally a bad idea.

It seems like it's a really fast one generating a small file that might be faster to be run than to be pulled from a remote cache

I'm not sure that the difference will be significant, but if you try it on yourself, it will be useful.
Since we do not have statistics on the use of the remote cache, therefore, by default we assume that the local cache is used, and for special cases, it is possible to  disable caching.

I have already prepared a fix. In any case, using absolute paths was originally a bad idea.
Awesome! Thank you. When can we expect a fix for this one? 0.7.4?

I'm not sure that the difference will be significant, but if you try it on yourself, it will be useful.
I can give you data on this once we have a fix (0.7.4). I took a quick look at what this task does and it looks like it's only writing a few strings (file paths) to a file. I can guarantee you this is not worth caching due to the extremely low amount of computation. Even copy tasks are not considered worth caching according to Gradle: https://docs.gradle.org/current/userguide/build_cache.html#sec:task_output_caching_disabled_by_default

Note that not making it cacheable doesn't mean subsequent tasks (tasks depending on koverGenerateArtifact)  won't be cached (like koverXmlReport) as long as the inputs are the same.

Optimistically, 0.7.4 should be released next week


Mission upload fails when running PX4 SITL and mavsdk_server in 2 different docker containers

I have encountered a problem while using the mission.py script. My setup is as follows
I have two separate docker containers each for PX4 SITL and mavsdk_server . I use the docker-compose to run them together and link them. The mavsdk_server is connected to the SITL successfully and is seen also in the log messages.
mavsdk_server_1         | [09:30:03|Info ] MAVSDK version: v0.34.0 (mavsdk_impl.cpp:20)
mavsdk_server_1         | [09:30:03|Debug] New: System ID: 0 Comp ID: 0 (mavsdk_impl.cpp:417)
mavsdk_server_1         | [09:30:03|Info ] Server started (grpc_server.cpp:44)
mavsdk_server_1         | [09:30:03|Info ] Server set to listen on <IP_ADDRESS>:50051 (grpc_server.cpp:45)
mavsdk_server_1         | [09:30:03|Info ] Waiting to discover system on udp://:14540... (connection_initiator.h:21)
mavsdk_server_1         | [09:30:04|Info ] New system on: <IP_ADDRESS>:57533 (with sysid: 1) (udp_connection.cpp:190)
mavsdk_server_1         | [09:30:04|Debug] Component Autopilot (1) added. (system_impl.cpp:314)
mavsdk_server_1         | [09:30:04|Debug] Discovered 1 component(s) (UUID:<PHONE_NUMBER>631409231) (system_impl.cpp:471)
mavsdk_server_1         | [09:30:04|Info ] System discovered (connection_initiator.h:57)
mavsdk_server_1         | [09:30:04|Warn ] command denied (512). (mavlink_commands.cpp:166)
mavsdk_server_1         | [09:30:04|Warn ] command denied (512). (mavlink_commands.cpp:166)
mavsdk_server_1         | [09:30:05|Debug] Falling back to gimbal protocol v1 (mission_impl.cpp:130)
mavsdk_server_1         | [09:30:05|Debug] Falling back to Gimbal Version 1 (gimbal_impl.cpp:58)
mavsdk_server_1         | [09:30:05|Debug] MAVLink: info: [logger] ./log/2020-11-20/21_05_59.ulg (system_impl.cpp:229)
I then use the  mission.py example with the IP address of mavsdk_server set correctly. This script is run on the host machine (also Ubuntu 18.04).  When I run this script, I get the following error:
mavsdk_server_1         | [09:32:09|Debug] MAVLink: critical: Operation timeoutOperation timeout (system_impl.cpp:229)
This happens only for the mission.py script. I am able to get the telemetry with the telemetry.py script.
I also tried to upgrade the mavsdk_server to the version 0.34 and PX4 SITL image to the PX4 version 1.11.0 it still creates the same problem.
What solves the problem
If I keep the PX4 SITL in the docker but use the mavsdk_server on the host machine, the mission upload works without problem.
If it is only a TIMEOUT problem, is there a way to increase the timeout limit so that this error does not occur. Or is there another way to solve the problem.

Sounds a bit like messages can go from sitl to mavsk_server, but not the other way round. Telemetry is typically sitl -> mavsdk_server, while uploading a mission is mavsdk_server -> sitl.
Does it work for actions, e.g. arm and takeoff? Or setting a parameter? If my guess is correct, they should fail, too.

I checked the same setup for arm and take-off also and it seems to work. Only thing is that it produces some warning about landing denied. Detailed output is as follows:
mavsdk_server_1         | [07:41:55|Debug] MAVLink: critical: Landing denied! Please land manually (system_impl.cpp:257)
mavsdk_server_1         | [07:41:59|Debug] MAVLink: info: Landing detected (system_impl.cpp:257)
Also the error produced by the mission.py script for mission upload failure is as follows:
Waiting for mavsdk_server to be ready...
Connected to mavsdk_server!
Waiting for drone to connect...
Drone discovered with UUID:<PHONE_NUMBER>631409231
-- Uploading mission
Traceback (most recent call last):
  File "mission.py", line 103, in <module>
    loop.run_until_complete(run())
  File "/usr/lib/python3.6/asyncio/base_events.py", line 484, in run_until_complete
    return future.result()
  File "mission.py", line 61, in run
   await drone.mission.upload_mission(mission_plan)
  File "/usr/local/lib/python3.6/dist-packages/mavsdk/mission.py", line 681, in upload_mission
    raise MissionError(result, "upload_mission()", mission_plan)
mavsdk.mission.MissionError: TIMEOUT: 'Timeout'; origin: upload_mission(); params: (<mavsdk.mission.MissionPlan object at 0x7efde80d74a8>,)
After this stacktrace is produced, the mission.py script just hangs and I have to kill it with ctrl+c.
I also checked the date-time of both the containers and it seems to be no noticable difference between the two.

The time out suggests that you don't receive the ACKs from the drone. How do you test that arm and takeoff work? Sending the "arm" command may arm the drone even if it times out (it means that the message reached the drone, but the response did not come back).

I monitor the gazebo_sitl docker logs for this. The logs confirm that take off was detected after being armed by an external command. Here is a snippet:
gazebo_sitl_headless_1  | INFO  [commander] Armed by external command
gazebo_sitl_headless_1  | ERROR [commander] vehicle_command lost, generation 1 -> 4
gazebo_sitl_headless_1  | ERROR [navigator] vehicle_command lost, generation 1 -> 4
gazebo_sitl_headless_1  | INFO  [navigator] Using minimum takeoff altitude: 2.50 m
gazebo_sitl_headless_1  | INFO  [navigator] Using minimum takeoff altitude: 2.50 m
gazebo_sitl_headless_1  | INFO  [navigator] Using minimum takeoff altitude: 2.50 m
gazebo_sitl_headless_1  | INFO  [commander] Takeoff detected
gazebo_sitl_headless_1  | INFO  [commander] Landing at current position
gazebo_sitl_headless_1  | WARN  [commander] Landing denied! Please land manually
gazebo_sitl_headless_1  | WARN  [commander] Landing denied! Please land manually
gazebo_sitl_headless_1  | INFO  [commander] Landing detected
gazebo_sitl_headless_1  | INFO  [commander] Disarmed by landing
gazebo_sitl_headless_1  | INFO  [logger] closed logfile, bytes written: 9993034
Is there any other way to confirm this?

Can you try to also open the port 14580 on the MAVSDK docker side?
https://github.com/PX4/PX4-Autopilot/blob/5e855c67477fe08517297a38e718ed1102536cf6/ROMFS/px4fmu_common/init.d-posix/rcS#L108

That's weird. So you get messages from SITL (like telemetry), and some messages reach SITL from mavsdk_server (arm, takeoff), but some don't (mission), or just time out for some reason. And it works if mavsdk_server is running on the host and not in a container, which suggests that it is a networking issue.
:thinking:

Can you try to also open the port 14580 on the MAVSDK docker side?

Makes no difference

And it works if mavsdk_server is running on the host and not in a container, which suggests that it is a networking issue.

Yes i think so too. I will investigate further when I have more time. I have noticed one difference though between the logs of mavsdk_server:
MAVSDK Server outside docker - working version
[09:52:51|Info ] MAVSDK version: v0.34.0 (mavsdk_impl.cpp:20)
[09:52:51|Debug] New: System ID: 0 Comp ID: 0 (mavsdk_impl.cpp:417)
[09:52:51|Info ] Server started (grpc_server.cpp:44)
[09:52:51|Info ] Server set to listen on <IP_ADDRESS>:50051 (grpc_server.cpp:45)
[09:52:51|Info ] Waiting to discover system on udp://:14540... (connection_initiator.h:21)
[09:52:51|Info ] New system on: <IP_ADDRESS>:14580 (with sysid: 1) (udp_connection.cpp:190)
[09:52:51|Debug] Component Autopilot (1) added. (system_impl.cpp:314)
[09:52:52|Debug] Discovered 1 component(s) (UUID:<PHONE_NUMBER>631409231) (system_impl.cpp:471)
[09:52:52|Info ] System discovered (connection_initiator.h:57)
Notice that it discovers only one system New system on: <IP_ADDRESS>:14580
MAVSDK Server inside docker - NOT working version
mavsdk_server_1         | [08:35:45|Info ] MAVSDK version: v0.34.0 (mavsdk_impl.cpp:20)
mavsdk_server_1         | [08:35:45|Debug] New: System ID: 0 Comp ID: 0 (mavsdk_impl.cpp:417)
mavsdk_server_1         | [08:35:45|Info ] Server started (grpc_server.cpp:44)
mavsdk_server_1         | [08:35:45|Info ] Server set to listen on <IP_ADDRESS>:50051(grpc_server.cpp:45)
mavsdk_server_1         | [08:35:45|Info ] Waiting to discover system on udp://:14540... (connection_initiator.h:21)
mavsdk_server_1         | [08:35:51|Info ] New system on: <IP_ADDRESS>:14580 (with sysid: 1) (udp_connection.cpp:190)
mavsdk_server_1         | [08:35:51|Debug] Component Autopilot (1) added. (system_impl.cpp:314)
mavsdk_server_1         | [08:35:51|Info ] New system on: <IP_ADDRESS>:55514 (with sysid: 1) (udp_connection.cpp:190)
mavsdk_server_1         | [08:35:51|Debug] Discovered 1 component(s) (UUID:<PHONE_NUMBER>631409231) (system_impl.cpp:471)
mavsdk_server_1         | [08:35:51|Info ] System discovered (connection_initiator.h:57)
Notice that it detects two systems <IP_ADDRESS>:14580 (with sysid: 1)  and <IP_ADDRESS>:55514 (with sysid: 1) . Does this lead to a conflict for mavsdk server to resolve?

aha! Yes that's weird, and one of those systems will just be ignored. I would try to add, in gazebo_sitl_headless (docker-compose), the command arguments.  If you don't give an argument (which is your case right now), then it sends MAVLink on <IP_ADDRESS>:14540 (or whatever broadcast address it is), which reaches the host, but I don't know what happens when mavsdk_server is also in a container. So I would want to try the equivalent of:
docker run --rm -it jonasvautherin/px4-gazebo-headless:1.11.0 mavsdk_server

mavsdk_server above is a hostname, it should work (i.e. you should be able to ping mavsdk_server when docker-compose starts it). So in order to do that from docker compose, I think it's with command in the docker-compose.yml. So something like:
    gazebo_sitl_headless:
        image: jonasvautherin/px4-gazebo-headless:v1.10.1
        environment:
            - NO_PXH=1
        links:
            - mavsdk_server
        command: mavsdk_server

Can you try that?

sorry for the long delay. I checked your suggestion today and it works when I add the IP address of the MAVSDK Server container to the SITL container as a command.
So basically I run first the docker containing mavsdk server and get its IP address.
Then I run the sitl container as you suggested:
docker run --rm -it jonasvautherin/px4-gazebo-headless:1.11.0 IP_ADDRESS_MAVSDK_CONTAINER
simply using the host name

mavsdk_server

somehow does not work, so you need to use the actual IP of the mavsdk container.
Due to this same problem, I was not able to make it work with the docker compose since you need to know the IP address of the containers before hand. I could do static IP for all containers using custom network but somehow it did not work on first try. This could be a different issue altogether. For now we can close this issue. Thanks for your help :)


MongoDB 3.0+ support

Guys, is MongoDB 3.0 support planned?
and are there any estimations on it?

Hi,
yes, see #101
You can check agains the "V3" branch if you want to give a try, but there still a lot of work to do (soon)


null-ls integration: sticky errors

Hi, I'm trying to configure the null-ls integration, and got it to work, but errors are not going away when a test if fixed.
By the way, I think there's an error in the code sample provided:
table.insert(sources, gotest, golangci_lint)
table.insert(sources, gotest_codeaction)

should be
table.insert(sources, gotest)
table.insert(golangci_lint)
table.insert(sources, gotest_codeaction)

According to https://www.lua.org/pil/19.2.html, gotest is considered as a position in this case, and the declaration will fail. Could you please confirm? Thanks

I forgot to mention I'm using LazyVim (in case it could be related with that instead).

By the way, I'm also running into this: https://github.com/golangci/golangci-lint/issues/536
golangci-lint is apparently running on the current file only, if I understand this correctly: https://github.com/ray-x/go.nvim/blob/1be8ef7cdf2dd355b83f330b2e6861a992fcc432/lua/go/null_ls.lua#L200

Yes, it is meaningful to have it run on the active editing buffer.  For any decent project, run a full lint scan each time on buffer save will just burn some CPU and memory.

Yes, it is meaningful to have it run on the active editing buffer. For any decent project, run a full lint scan each time on buffer save will just burn some CPU and memory.

I think the better solution is to run it on the directory (package) where the current file is located; this can avoid the 'undefined' error diagnostic message, and not much CPU and memory will be consumed.


Solving undertermined set of odes

Hi Patrick,
I was wondering if with diffeqsolve it is possible to learn a set of undetermined odes. I suppose that is not the case since the input and output shape of what you feed your neural ode needs to be of equal size.

That's correct; diffeqsolve only handles fully-determined ODEs.
Underdetermined ODEs are a pretty niche thing; I don't think I know of any computational packages that handle this. (Do you?) I don't know of any way of determining the parametric solution set in general.

Thanks again for the quick response ! I assume also that a delay differential equations aren't possible with diffeqsolve but could probably be incorporated somehow the ddeint with diffrax ?

Yeah, there's no current support for DDE, but I'd be open to adding this if it can be done straightforwardly.


Changed change category from retargeting to runtime

Also corrected casing and punctuation.
/cc @conniey @twsouthwick @mjrousos

To change this from retargeting to runtime, you have to leave the Quirked and Build-time break boxes unchecked. BreakingChange.cs L66-72.  Is this correct @mjrousos?

Correct

@Thanks, @conniey and @mjrousos. I've fixed it.

LGTM


No timer entity

Hi, I try to use that card but I don't have any time entity.
Regards.

You must make them yourself.
In configuration.yaml put something like this:
# Timers
timer:
  timer:
  eggs:
  pasta:
  potatoes:
  slowbakedmeat:

Good answer.
I will close this issue.

Thanks.


Unknown Metric Type

When creating my metrics and trying to set the type to counter it returns this error
❯ curl "http://localhost:7979/probe?module=default&target=http://localhost:8000/examples/metrics.json" | grep gdb
level=error msg="Failed to create metrics list from config" err="Unknown metric type: 'counter', for metric: 'test_metric'"
I thought the Counter, Gauge were now supported as custom types for the metrics ?

Here is example of the metric I'm trying to use as counter type
`
modules:
default:
metrics:
- name: gdb_reader_total_deleted_tagmaps
path: "{ .total_deleted_tagmaps }"
help: Total Number of deleted tagmaps files
type: counter
labels:
archiver: "{ .archiver }"
`

Closing this issue, found out it's not type: counter it has to be valuetype: counter


[ENHANCEMENT] [EPIC] Integrate with OpenAI assistant

Context
The bot should be able to review or offer some sort of feedback on PRs. Something similar to coderabbit.
Description
The bot should do some sort of PR review. This is a complex endeavor for many reasons, but since this an epic, we should start small.
Acceptance Criteria
Can create a summary of the PR and modify the initial PR description with that summary, similar to coderabbit

/triage
/assign
/label enhancement epic

/retitle Integrate with OpenAI assistant
if we have the enhancement label, adding it in the title is superfluous


Update to Sketch 48

Plugin is not compatible with Sketch 48, is there any ETA on an update? 🏄

Me too. This was a useful plugin, please update.

Should we close this issue, latest Sketch is 49.1 now?

@utom It's likely that this issue can be safely closed now.

let's do it


Update the prysm image

Fixes | Closes | Resolves #

Anything marked as optional that you didn't need to fill in, please remove it from the PR description. Choose one of the keywords above to refer to the issue this PR solves, followed by the issue number (e.g Fixes # 666). If there is no issue, remove the line. Remove this note after reading.

Changes:

Types of changes
What types of changes does your code introduce?
Put an x in the boxes that apply

[x] Bugfix (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 not work as expected)
[ ] Documentation Update
[ ] Code style update (formatting, renaming)
[x] Refactoring (no functional changes, no api changes)
[x] Build related changes
[ ] Other (please describe):

Testing
Requires testing

[ ] Yes
[ ] No

In case you checked yes, did you write tests?

[ ] Yes
[ ] No

Comments about testing , should you have some (optional)
Further comments (optional)
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

@dharmendrakariya thanks for helping on this. I see there is a newer version on prysm (v3.1.1). Shouldn't we use that instead of v3.0.0?

@AntiD2ta I was taking reference from here and also I am running the image I updated in the PR, I don't know(havent tested) about the v3.1.1 !


Don't put  around summary tag inside details with markdown flag set?

The summary tag is a special tag inside details that I think should be ignored when processing internal markdown.
from markdown import markdown
from pprint import pprint

a = """

Click to expand table

| Entity                              |   Count |
|:------------------------------------|--------:|
| Thing 1                      |      16 |
| Thing 2                      |       9 |

"""

pprint(markdown(a, extensions=["extra"]))

' \n'
 '
Click to expand table
\n'
 '
\n'
 '
\n'
 '
\n'
 'Entity	\n'
 'Count	\n'
 '
\n'
 '
\n'
 '
\n'
 '
\n'
 'Thing 1	\n'
 '16	\n'
 '
\n'
 '
\n'
 'Thing 2	\n'
 '9	\n'
 '
\n'
 '
\n'
 '
\n'
 ''

Note here that there are

 around the summary, but IMO there should not be.

Can you point to support for this in the HTML5 spec?
Sent with GitHawk

I don't understand the request. Support for what, the summary tag?
https://html.spec.whatwg.org/#the-summary-element

summary is being treated as inline from what I can tell. You can modify the elements treated as block in a plugin though, or you can modify the block elements of the Markdown instance directly: https://github.com/Python-Markdown/markdown/blob/master/markdown/core.py#L75. Now, could we treat summary as a block element by default? That is up to @waylan, but this can be worked around.
Alternatively, you could consider using a plugin for details: https://facelessuser.github.io/pymdown-extensions/extensions/details/.

Looking at the spec it seems that the summary tag is only valid as the first child of a detail tag and can only contain elements which a p tag can contain. Any other use would be invalid. Therefore...

We don't need to consider uses outside of detail. If a document author uses it in that way that is on them. In other words we don't need to be concerned with using a different parsing behavior outside of the very limited valid use-case.
Wrapping it in p would cause it to not be the first child of detail and therefore it would always be invalid to wrap it in a p tag.
As it can not contain any block level elements, we should only parse its content as span-level content.

Given the above, yes, summary should be added to the default list of block-level elements. It should also be added to the list of span_tags of the md_in_html extension to control the default behavior when it is given a markdown="1" attribute.


Media keys broken?

I'm not sure if this was a result of some sort of update or the fact that I installed the play music extension in Google Chrome but my media keys do not work anymore.
I uninstalled the extension in chrome to stop the hijacking of my media keys but Radiant Player still won't respond to pause, previous, or next no matter whether it is the active window or not.
After uninstalling the extension iTunes began working as expected with the media keys, so they are not physically broken.
By the way, great app.

I have the same issue. since this morning media keys are broken. Did not even have the play music extension installed.

Also having this issue. No play music extension installed.

Same issue here.  They were working fine before the latest OS X update 10.11.1
Also a refresh issue with the app,  if it locks up,  resize the window and it will be good again.

Same issue, on Radiant Player 1.4.1 and OSX 10.11.1

Same here OSX 10.10.5

I also recently updated to 10.11.1 if that is any help

wow, i literally have been sitting here trying furiously to get the keys working again, didn't realize others were affected.
pulled down beardedspice's source and found that they are using the SPMediaKeyTap lib, while radiant-player is not. beardedspice's works. what's also interesting, is that when both apps are loaded (a tab is loaded with google music and actively playing; and radiant player is running with music music playing) key events are captured by radiant-player, but fail to execute. once you exit radiant-player the keyevents continue working in bearded spice.
anyway, i'm going to investigate adding in SPMediaKeyTap and see if that works.

EDIT: fixed. working on getting a PR up (first time with ObjC or swift, so go easy on me). thankfully the change was in my preferred language (JavaScript). google changed their polymer (presumably?)/web component elements from sj-icon-button to paper-icon-button. cc @kbhomes

Thanks man. Changed the name of the web component elements and re built it, works perfect!
I spent way too long trying to figure out what was going wrong until I read your comment

(thumbsup) Cheers dude, works for me

Works for me as well. Thank you!

Can someone explain how I can apply this fix?  Thanks.

Is there an new app build?

@philhess @Squintz82 for now, y'all will have to pull the source code down and build it from my repo/branch within xcode, OR, pull the source down and make the changes in main.js yourself and build (that way you don't have to worry with using my forked repo/branch/sha).
short answer is, build it yourself until @kbhomes and team can merge in the fixes.

Ok thats what I assumed,  Ill just wait for the merge.  Thanks and glad its fixed.

It's pretty easy to just go to the application and right click and select 'show components.'  At that point just follow the directories from resources to js and open up main.js.  Inside 'main.js' you can replace all instances of sj-icon-button with paper-icon-button.  Then just refresh the page and it should be good to go!

Yep that was easy and works.  Thanks!!

Thanks megalithic and Nixon506E!  I edited main.js and s/sj-icon-button/paper-icon-button/g and I'm back in business!

Many thanks to @megalithic! This is now fixed in master (bb13b70ac672bf82c51aa712392010461198ce13) and will be available in the upcoming release.


Create a workflow that can be triggered on forks

Stops workflows in forked branches from running on selfhosted
will use public github actions if forked

Please add a seperate workflow file that can be triggered manual, not automatic where the owner is not bot detector?

Please add a seperate workflow file that can be triggered manual, not automatic where the owner is not bot detector?

ok i have separated the manual trigger public runner job


[github] Reserve comment for mui-pr-bot

Testing if we can reserve a spot for the mui-pr-bot comment

Superceded by #18512


Problem starting RadioVisDemo on some networks

I am on a train (❗) and can't get radiovis_demo.py to start on the network:
(I have seen this fail on other networks too)
Traceback (most recent call last):
  File "radiovis_demo.py", line 27, in <module>
    from lib.connection_manager import ConnectionManager
  File "/Users/humfrn01/Projects/RadioVisDemo/lib/connection_manager.py", line 23, in <module>
    from radiovis_client import RadioVisClient
  File "/Users/humfrn01/Projects/RadioVisDemo/lib/radiovis_client.py", line 15, in <module>
    import stomp
  File "/Users/humfrn01/Projects/RadioVisDemo/lib/stomp.py", line 245, in <module>
    class Connection(object):
  File "/Users/humfrn01/Projects/RadioVisDemo/lib/stomp.py", line 477, in Connection
    socket.gethostbyname(socket.gethostname()),
socket.gaierror: [Errno 8] nodename nor servname provided, or not known

It seems to be related to this:
    __localhost_names = [ "localhost",
                          "<IP_ADDRESS>",
                          socket.gethostbyname(socket.gethostname()),
                          socket.gethostname(),
                          socket.getfqdn(socket.gethostname()) ]

One of the calls is failing but the exception isn't being caught.
Not quite sure why it needs a local hostname at all...

This is in the third-party STOMP library I used. I suggest we update to use the latest version: https://github.com/jasonrbriggs/stomp.py.

Hm, it is failing on Interwebs today.
It looks like stomp.py has evolved to being a lot more than a single file - so might be non-trivial to swap in the new version 😟


Search Functionality for Blogs and Learnings

Is your feature request related to a problem? Please describe.
As content in the "Blogs" and "Learnings" sections grows, it becomes difficult to quickly find specific articles or topics without a dedicated search feature.
Describe the solution you'd like
Implement a search bar that allows users to search across both "Blogs" and "Learnings" sections using keywords, titles, or tags. This would improve content discoverability and save users time when looking for specific information.
Describe alternatives you've considered
Manually browsing through content is an option, but it’s time-consuming and not practical for large collections of posts.
Additional context
A search feature would make the portfolio template more scalable and user-friendly as more content is added.

There is a dedicated branch where this feature is being developed.


Fix aws.notify platform schema

Description:
The third party lib might not available when check config schema.
This PR is a follow up of #22240, address some code review comment raised after #22240 got merged.
cc @MartinHjelmare
Related issue (if applicable): fixes #
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#<home-assistant.io PR number goes here>
Example entry for configuration.yaml (if applicable):

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.

I am going to merge it to catch the beat cut. @pvizeli let me know if you have further concern, I can open a follow up pull request to fix.


Revert "start.sh: set RELOAD=1 if VM already exists"

Commit cf96c958ae19376001e2ad441128f8b2a8c07fc2 broke vagrant usage on OSX
This is because of vagrant status output:
$ vagrant status 2>/dev/null
Current machine states:

runtime1                  not created (virtualbox)

The environment has not yet been created. Run `vagrant up` to
create the environment. If a machine is not created, only the
default provider will be shown. So if a provider is not listed,
then the machine is not created for that environment.

This change is

test-me-please

@tgraf this should fix it https://github.com/cilium/cilium/pull/4662

Closing in favor of #4662


Django 5 Support

Added Django v5 to the version matrix in pyproject.toml. Also removed Python 3.7 support as it is EOL, and bumped the minimum to Django v3 LTS version (3.2).
Updated the test matrix to use LTS versions, as well as Python 3.12, and updated excludes for v3 and v5 as they have different Python version support.
This PR does remove support for certain versions, without actually making any changes. If this is not wanted, I'm happy to change it. I choose to do this since the versions being dropped have been EOL for a long time, do not get security updates, and to simplify the version and test matrix.
Bumps the version to 3.4.0, can set a different version if wanted.

Thanks!
Closes #112


ObservableEvents significantly slows down build times

I'm working on a proprietary project which utilizes ObservableEvents for all event handling. In one of my views, I use .Events() 22 times. These 22 times cause an additional 3 minutes of build time for the project. If I comment them out, the slowness goes away.
It's hard to characterize exactly why this view slows down the build so dramatically, but it is directly correlated with the number of .Events() calls I have in the codebehind.
I made a test app with a single view, and codebehind that has 200 copies of this line:
this.Events().PropertyChanged.Subscribe(_ => ViewModel.MyValue = "fdsa");
The view implements INotifyPropertyChanged.
The constructor looks something like:
public SimpleControl()
{
    InitializeComponent();

    this.WhenActivated(d =>
    {
        ViewModel = new SimpleControlViewModel();

        this.Events().PropertyChanged.Subscribe(_ => ViewModel.MyValue = "fdsa");
        // repeat 199 more times
    }
}

And building this single-view app takes 50 seconds. Without these 200 lines, it takes less than 3 seconds.
This is how I include this package in my project:
<PackageReference Include="ReactiveMarbles.ObservableEvents.SourceGenerator" Version="1.1.4">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>

Let me know if you need more info.

What IDE are you using including version number?
What Target framework?
New or old csproj format?
Thanks

https://github.com/reactivemarbles/ObservableEvents/pull/133 could have a impact on this one also.

What IDE are you using including version number?
What Target framework?
New or old csproj format?
Thanks

Rider 2022.2.1
Net6 Winders
New

I'm new to this library, but the intellisense took so long to load, that I thought I was doing something wrong or that it was broken.
VS 2022: 17.3.0
.NET 6 WinForms

#144 will help a lot with this. Roslyn 4 has a lot of optimisations.
Source generators do have slowness with intellisense in general though.


unable to access user section from admin page

Hi,
Please help me as i am unable to access the admin section of users from admin panel.
i get the below error. Please help.
Not Acceptable!
An appropriate representation of the requested resource could not be found on this server. This error was generated by Mod_Security.

Can you give the full URL where you get that issue (and/or send here a full screenshot of your screen where you see that error)

You have to ask your host to disable Mod_Security


Type inference bails when encountering any in conditional expression

Bug Report
🔎 Search Terms
type inference any conditional expression
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries

⏯ Playground Link
Playground link with relevant code
💻 Code
declare function getMaybeNumber(): any;
// declare function getMaybeNumber(): number | undefined;

function checkNum(num?: number) {
    if (!num) {
      num = getMaybeNumber() || 42;
    //   if (!num) num = 42
    }
    if (num < 50){
        throw new Error()
    };
}

🙁 Actual behavior
'num' is possibly 'undefined'.
🙂 Expected behavior
type of num narrowed to number or widened to any
More information
The narrowing work correctly if the return type is not any.
The narrowing also works if using an if statement instead of a conditional expressions. Likely related to the design limitation that was mentioned in https://github.com/microsoft/TypeScript/issues/50739. However given that type narrowing works if the return type is not any there is obviously some type inference possible in conditional expressions.

The current behavior is the most-conservative since there's really no telling what is happening on that line of code, while still not completely wrecking type safety on num throughout the body of the function. I don't think a change in either direction as proposed is a net improvement.


Fixed error in mean op

If keep_dims is false, we should reshape the averagePool2d result to 2-D tensor. As averagePool2d always returns a 4-D tensor in WebNN.

@huningxin, PTAL, thanks!


Is there any relationship between mtt pagesize and pte pagesize?

Is there any relationship between mtt pagesize and pte pagesize?
      Let's use mtt pagesize as the size of the mtt leaf page, which is 1GB, or 2MB for mmtL2, and 4KB for mttL1.
      Though the Smmtt spec shows no relationship between the mtt pagesize and the pte pagesize, I doubt that if we should make sure that the mtt pagesize bigger than the pte pagesize in mtt structure construction process by the RDSM. That Keeping mtt_pagesize >= pte_pagesize seems a good choice.

       (1) if  **pte_pagesize > mtt_pagesize**, when we check the mtt sturcture, it will take a few rounds the get the final results, since each just check a part of the page memory.
       (2) if **pte_pagesize <= mtt_pagesize**, just one round to search the mtt attribute from the mtt structure, this improve the system performace.
       (3) The RDSM can resolve the problem, and keep  mtt_pagesize >= pte_pagesize.
             (3.1)  A GuestOS in a TVM1 (sdid=1) demands a pte with the size of pte_pagesize, and the TSM send the memory request with  the size of pte_pagesize to the VMM(sdid=0)
             (3.2)  The VMM(sdid=0) allocates the memory PA with size of pte_pagesize, and convert it into the TVM1 by the TSM. In the TVM1, GuestOS, A pte entry is got with  VA-PA, pte_pagesize
             (3.3)  The RDSM update the mtt0(sdid=0) and mtt1(sdid=1). At this time, the RDSM knows the size the PA is pte_pagesize, and it should build a mtt entry with the size bigger or equal than the pte_pagesize. It is unreasonalbe to build a mtt entry with the size smaller than the pte_pagesize.
             (3.4)  mfence.spa to flush all the mttCache, to synchronize the mtt structure update.
             (3.5)  sfence.vma to flush all the tlbCache, to synchronize the tlb entry, since the VA-PA relationship may be changed
             (3.6)  flush all the Cache in the PE, to synchronize all the data, including mtt structure data

    Shall the Smmtt will make this clear in the future specification?

@SiFiveHolland is exactly right - there is no architectural relationship between page sizes in 1st (or G-stage) page sizes and the MTT page sizes. The hardware managing the caches (and if any combined TLBs implemented) are responsible for splitting entries to the appropriate granularity when there is a big->small fracturing required. Also this is an important aspect of Smmtt that the MTT can overlay access restrictions on the mappings created by the supervisor domain kernel but cannot expand permissions. Similarly for any small->big page size conversions, it is upto the SW implementations to be able to optimize their use of caches and any TLB implementations.

ok，there is no architectural relationship between the two size.
Thanks you very much. @SiFiveHolland @rsahita


Feature: Allow color-gradient to replace original colors

This PR allows color-gradient to replace the original colors.
Preserves backwards compatibility.
This is useful for e.g. drawing a gradient that fades to transparent - in this case the original color of the pixels should be discarded.

This is great thank you. The only thing I'm not crazy about is the property name. How about just "replace" instead of "replaceColors"? Or maybe there is some variant of "multiply"?

Renamed to replace.
Another way would be to provide a continuous value [0.0, 1.0] to blend the original color instead of a boolean (default 1.0).  Not sure what that variable should be called...


fun stuff

commands like ?cat ?dog and ?bird or anything else using rat as a base, also just general fun added to the bot with funny messages or quotes in places, and possibly funny and rare easter eggs etc. to make it even more personalised

Don't go overboard though since it's a mod not first and foremost. There's a reason the old one was mods only.


Fix exit code issue in integration test script. Attempt 2.

Do not merge this PR until I confirm that the script works as intended.

Merging this in-order to fix e2e tests.


Soul Chicken does not have feet texture

Minecraft: 1.18.2
Mod Version: 1.0.30
Issue: The soul chicken does not have a leg texture

Not a rendering issue, the texture file does not have feet, these are the original textures from the original author


Skip already visited entities in path search

Done in https://github.com/graphsense/graphsense-REST/commit/df91192c014b8a0b5fd380e277fe5b3464c2eaf2


Revise how /app/components is populated for tmpfs

Was not accounting for use of Azure certificate file.

@balena-ci I self-certify!


HomeAssistant not exposed on port 8123

Problem/Motivation
Homebridge does not work as it expects to connect to port 8123 and thus fails.
Expected behavior
An option to change the HomeAssitant URL would be splendid! A way to introspect the current Hassio URL even splenditer.

@l00mi Have you tried setting the URL in /config/homebridge/config.json

Hm, how would I change this file?
Is this possible in Hass.io Gui?

I assume you're running hassio on a Rpi or the likes.
Easiest thing is to install the add-on https://home-assistant.io/addons/samba/ after that you can connect to the rpi from another computer and you'll find the file in /config/homebridge/config.json and can edit it with your favourite editor.

Okay I see, but the idea to make it configurable through the add-on itself is not wrong? Or what do you think?

Sure, I suppose they could have had the config in the "Options" through the hassio GUI.

@l00mi Let me know if you get it running, I haven't succeeded, getting a 403 during startup.

My first thought: Good idea... but 2 seconds later... removed the tags again.
This is part of the Homebridge configuration in /config/homebridge/config.json. This file remains untouched and is not "managed" by this add-on.
I could add a configuration value for it, but it will be useless after the first run.

Hmm, but homebridge will not start without being able to connect to home-assistant?

@l00mi After the first start/try, the configuration files will appear in /config/homebridge. You will need to modify it and restart the addon.


Better generation of Russian KPP

I improved Russian KPP generation
Now the generation is more diverse due to the larger array of tax offices codes.
I also changed the registration reason code from random to real codes established by Russian law. Since there are two kinds of codes, I added two arguments to let the user choose from them. I've set the parameters to their default values, so code that calls kpp() without parameters shouldn't break from these changes. I hope my other changes didn't break compatibility too.
Why didn't I write new tests?
KPP, due to its nature, is practically can't be validated without access to external data sources: for example, it does not have a check digit. In this context, I'm not sure how I can improve generation's testing.
upd: But I wrote test for warning message I added.
Neither my Python nor my English are close to fluent. I'll be glad to any of your suggestions. I see a lot of room for further improvement of the Russian locale in the project.
Thanks in advance.

Checklist

[x] I have read contributing guidelines
[x] I'm sure that I did not unrelated changes in this pull request
[x] I have created at least one test case for the changes I have made
[x] I have added myself to the CONTRIBUTORS.rst

@treylav Please, fix style issues. Use scripts/format.sh

@treylav Please, fix style issues. Use scripts/format.sh

Done in 1417c2c.

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Hey,  @lk-geimfari, if there are no problems with my pull request, I will be glad if you merge it; if there is something to improve - I'm ready.
I don't mind continuing to slowly improve the generation of Russian IDs if you're interested.

@treylav Hi! There is nothing wrong in you PR. Sorry, I completely forgot about this PR. Can you please rebase and recreate it?

It looks like the synchronization went well without a rebase.
But if necessary, I'll recreate the branch.

Please, recreate PR.


Expire and Events plugins conflict with each other, results in RangeError: Maximum call stack size exceeded

I've been repeatedly getting RangeError: Maximum call stack size exceeded errors when tried to use the library in combination with expire and events plugins.
Here's the test case: https://repl.it/IRXf/1
All you need to have is one expiration record for the key you're trying to update and it breaks on the next set() call.
Browser: Chrome 58.0.3029.110 (64-bit)

Looking at this now