Why is the performance of the model trained with multi GPUs much better than that of the model trained with single GPU in this method?

Thank you for your contribution to USL. I have some questions about your paper. We find that there is a huge performance gap between the  model trained with single GPU (single tesla v100) and  that trained with multiple GPUs (four tesla v100s) in this method. Specifically, 'cluster contrast' trained with single GPU only achieve 78.1% in Rank-1 and 59.1% in mAP on Market1501, while 'cluster contrast' trained with multi GPUs achieves  93.0% in Rank-1 and 82.6% in mAP. I would appreciate it if you could tell me some possible reasons.

Same question~

Hello, I have updated the code, please update the code to the latest

unsupervised tasks seems more sensitive than supervised tasks on the number of GPUs, maybe the batchsize ?

Hello, I have updated the code, please update the code to the latest

Has the latest version of the code addressed the issue of reduced training performance for multiple single GPUs? After trying, I found that the performance of a single GPU is still lower than the data in the paper.

Is the number of GPUs or type of GPU effective in accuracy that achieved in the paper? and if yes, why?
If I don't have 4 GPUs and I have 1 GPU, what would happen when running the code?
Is it possible that we cannot get the results of the paper?


Document that silent=True returns the command output

Toward #572. Document that passing silent=True to session.run() will return the output captured by the command.
cc @FollowTheProcess @ktbarrett @mat-rs

Ok, I'm going to merge this. Thanks @FollowTheProcess for the reviews!


Error: resetValidations is not a function.

I tried to use resetValidations, however I got error: this.form.resetValidations is not a function. And when I looked into the source in browser, I didn't even see the function under ValidatorForm.js.
I think the reason is we didn't bind it correctly in ValidatorForm.

#10

Hi,
Can you show your code? Because it's working fine for me

@zhr1130  Make sure that you're using 0.4.1 version

Not acceptable since 0.4.3


Finish actor status panel

The actor status panel needs the following enhancements

Attack power
Smaller font for stat numbers
Damage reduction bonus (ToDo: Decide how to handle terrain damage reduction)

Fixed as of 65a97e44f948b29613ee2088ef7abb9a1307c429


Check that markdown header starts with version instead of is the version

Which issue, if any, is this issue related to?

This is in relation to the discussion at https://github.com/stylelint/stylelint/pull/8260 which is in support of adding a date to the Changelog for each release

Is there anything in the PR that needs further explanation?

Full explanation is at this point in the pull request: https://github.com/stylelint/stylelint/pull/8260#issuecomment-2565909498, but the idea is that if the Markdown header for the release version is not exclusively in the X.Y.Z format because it now X.Y.Z - YYYY-MM-DD, then the change in this pull request would be needed in order to format the GitHub Release text properly

@ybiquitous  - test case has been added


add Lichess-API

[x] My submission is formatted according to the guidelines in the contributing guide
[x] My addition is ordered alphabetically
[x] My submission has a useful description
[x] The description does not end with punctuation
[x] Each table column is padded with one space on either side
[x] I have searched the repository for any relevant issues or pull requests
[x] Any category I am creating has the minimum requirement of 3 items
[x] All changes have been squashed into a single commit

$ cd
$ mkdir src
$ cd src

I second this. I am rather surprised Lichess' API wasn't already on this list

Thanks for adding it to the list @bkhezry ;)


Transaction acceptance error (Could not parse accept data)

This error occurs when I tried to accept incoming transaction in Web UI and I got "Could not parse accept data" error.
In Docker console I got the following error message:
testnet.local-1  | 12:44PM WRN web POST /v1/transactions/06550ba2-7e5e-4108-aece-a4e4783f4ff1/accept [400] 2 errors occurred client_ip= <IP_ADDRESS> errors=["could not parse LegalPersonNameTypeCode from value","could not parse LegalPersonNameTypeCode from value"] method=POST path=/v1/transactions/06550ba2-7e5e-4108-aece-a4e4783f4ff1/accept request_id=01J6YH0TCWH1XA2PGZC05X1PVZ resp_bytes=55 resp_time=0.45676 ser_name=web severity=WARNING status=400 version=0.24.1-beta.29
When I tried to accept this transaction via API call I got almost the same error:
Request failed (http status 400): {"success":false,"error":"could not parse accept data"}
In Docker console I got the following error message:
testnet.local-1  | 12:56PM WRN web POST /v1/transactions/06550ba2-7e5e-4108-aece-a4e4783f4ff1/accept [400] 2 errors occurred client_ip=<IP_ADDRESS> errors=["json: cannot unmarshal array into Go value of type api.Envelope","json: cannot unmarshal array into Go value of type api.Envelope"] method=POST path=/v1/transactions/06550ba2-7e5e-4108-aece-a4e4783f4ff1/accept request_id=01J6YHQ9JR66G83JTV3XAWAPY7 resp_bytes=55 resp_time=0.360173 ser_name=web severity=WARNING status=400 version=0.24.1-beta.29

try this
https://gofile.io/d/yMHabA
select the desired compiler in the installer


Branch i643_Building Retrofit Potential Feature - After a successful run, the generated scenario does not contain the retrofit_filters.csv file

After conducting a successful simulation using the Building Retrofit Potential Feature, I could not locate the "potentials" folder, which contains the retrofit_filters.csv file. Neither in the original scenario, i.e. "baseline", nor the created retrofitting case, i.e. "age_HVAC". Below are the screenshots of the simulation run:
(Inputs)

(Successful run)

(No "potentials" folder or "retrofit_filers.csv" files created)

While in the documentation created by Jimeno, the .csv file is successfully generated:

Moved to #643


Prefer IAM over secrets for SQS, SNS

For the SQS and SNS touch points, we've initially set them up to have access through a specific user and access key/secret pair. Where possible, it would be better to use IAM more directly within the code an infrastructure (so, the role of the ECS instance can post to SQS queues).
This will need

some configuration of IAM through terraform
to use queues without the HMPPS wrapping code

https://trello.com/c/wX8mhgGI


python311Packages.aiopvapi: 3.0.2 -> 3.1.0

Diff: https://github.com/sander76/aio-powerview-api/compare/refs/tags/v3.0.2...v3.1.0
Changelog: https://github.com/sander76/aio-powerview-api/releases/tag/v3.1.0
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 298062 run on x86_64-linux 1

5 packages built:

home-assistant-component-tests.hunterdouglas_powerview
python311Packages.aiopvapi
python311Packages.aiopvapi.dist
python312Packages.aiopvapi
python312Packages.aiopvapi.dist


Could not complete the operation due to error c004e008

Here's an incoming SDP which I feed inside setRemoteDescription.
This was originally taken from Chrome and slightly modified inside my gateway.
v=0
o=WebRTC 328414035 281589450 IN IP4 <IP_ADDRESS>
s=3CXWebRTC audio call
c=IN IP4 <IP_ADDRESS>
t=0 0
m=audio 9356 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126
c=IN IP4 <IP_ADDRESS>
a=rtpmap:111 opus/48000
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:112 telephone-event/32000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
a=ptime:20
a=sendrecv
a=candidate:1234 1 udp 572662306 <IP_ADDRESS> 9356 typ host generation 0
a=end-of-candidates
a=ice-ufrag:ISEhISEhISIiISIh
a=ice-pwd:IiIiIiIhIiIiISIhISIhISIi
a=fingerprint:sha-256 12:5C:71:5B:A7:AB:AC:E9:70:22:86:2E:1D:D0:EF:E7:81:47:05:D8:15:B3:A4:D2:DC:11:B1:3A:16:C9:3C:D2
a=rtcp:9356 IN <IP_ADDRESS>
a=rtcp-mux
a=setup:actpass

transceiver.rtpReceiver.receive(params) gives me upper error: Could not complete the operation due to error c004e008
It starts to work once I remove opus rtp.
Do you have any ideas why?

https://rawgit.com/aboba/edgertc/master/msortc-rs3.html#error-codes* says this error is unknown codec. Opus mandates a channelcount of 2 and you don't have that here:

a=rtpmap:111 opus/48000

Ok thanks a lot! This is obviously described here
Though Chrome and Firefox are tolerant on this.

a clear case of https://tools.ietf.org/html/draft-thomson-postel-was-wrong-02 then ;-)


--session not respected with piped input

#512 /  the fix to #545 threw out the child with the bathwater, even echo 1 | aichat --session will no longer show a REPL. Could -s/--session be respected regardless of piped input?

This is expect.

Exactly. Please respect --session in this instance as well.

It used to work, now it's broken

You can pinpoint to #512 as regression

What does respect --session mean? Can you explain it more clearly?
Why not use the bug issue template


Lower the replication factor for transactions topic on @EmbeddedKafka Test

Fixes: #3557
Expected Behavior
It would be nice if the embedded broker started by @EmbeddedKafka (or the similar JUnit Rule) defaulted the replication factor for the transaction state topic to the number of brokers, or a min(, 3).
Current Behavior
The embedded broker starts with the default configuration of transaction.state.log.replication.factor = 3 which doesn't make sense for a single-broker cluster, which is quite common in tests:
org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 3 larger than available brokers: 1.

Fix

When writing test code using EmbeddedKafka, adjust the number of brokers for the transaction topic to the minimum.
The topic has been made constant

@Dltmd202 Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@Dltmd202 Thank you for signing the Contributor License Agreement!

@Dltmd202 There are some checkstyle errors. Can you fix that? In addition to that, could you add your name as the author to all the classes you changed? Thanks!

Of course. I will reflect it right away! Thank you

Thanks for the PR! It is now merged upstream.


List of tasks do not account for additional tasks available under licensing

TotalSegmentator has some organs available only under licensing. Enabling this requires additional tasks not listed in SlicerTotalSegmentator. It would be nice if SlicerTotalSegmentator could detect what's available in TotalSegmentator (including organs under license).

All tasks are available now and there is GUI to specify license key.


"Momentary" switch accessory?

//Edit: I think what I’m looking for is some sort of “Stateless” switch type. I’ve updated my issue to reflect that. //
I was wondering if its possible to make a "momentary" Stateless switch  or button. Meaning that it doesn't create an On/Off toggle switch in the app, but just is a button that triggers the command.
I am wanting to control some basic IR commands to my TV like mute, power on/off, and discrete source selection.  My request is purely aesthetic in the app of course and is not detrimental to making my IR commands work.
I hope I am asking the right question.

It doesn't appear that iOS/HomeKit has a momentary switch type if you look at the list of HomeKit accessory categories. Maybe request this one from Apple? https://developer.apple.com/documentation/homekit/hmaccessorycategory/accessory_category_types?language=objc

I'm looking to do something similar, perhaps a toggle switch? Is this something that has to be implemented in the plugin?

If I've understood correctly, uou can do this with a normal "switch" accessory with enableAutoOff and an offDuration of 1


Update wazuh-states-vulnerabilities index template

Description
We have been asked to update the index template and mappings for the wazuh-states-vulnerabilities index with the following changes.

Add 2 new fields to track the publication (published_at) and detection dates (detected_at) of the vulnerabilities.
Remove the @timestamp field

As always, we need to update the mappings, update the events' generator, test the new index template and open a pull request in wazuh/wazuh to update the template.

We need to re-work this issues, as the fields detected_at and published_at should be inside the vulnerability class, not inside wazuh.


chore: default.nix now on v0.2.1

Updated the version for Nix packaging.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (167b215) to head (e1f6bb4).
Report is 2 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff            @@
##              main       #10   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            7         7
  Lines          222       222
=========================================
  Hits           222       222

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


sync SSR class names

I've been testing SSR on the v2 branch and in addition to the styleSheet.getCss() we also need some way to keep track of all the rendered class names so that we can inject those into the html template (in a script tag) so that they can be consumed by this library to make sure that the first browser render stays in sync with what the server has rendered. I'm thinking an api like:
{ css, classNames } = styleSheet.getCss();

Again, we will also need some way for the browser lib to consume these classNames so that they are reused rather than generating new ones.
Here is how Glamor accomplishes this... https://github.com/threepointone/glamor/blob/master/docs/server.md

Ah, I see now how this will be solved with babel plugin and #227. I'll close.


do not remove option when disabled

Hello,
If the component is disabled and I already selected some options, they can be removed (if I click on it).
Is it the correct behavior? I expected the options to be not removable (when the component is disabled).
Thank You

Hi, thanks for reporting this issue.
I wasn't able to reproduce it but I've noticed a missing statement on the removeOption() function.

Fixed on v0.4.0


Error:""Use an equivalent CasADi function instead of that numpy function."

Describe the bug
When running the example code:
"
import pybamm
model = pybamm.lithium_ion.DFN() # Doyle-Fuller-Newman model
sim = pybamm.Simulation(model)
sim.solve()

"
produce following error:
"
~\AppData\Local\Continuum\anaconda3\envs\pybamm-env36\lib\site-packages\casadi\casadi.py in __array__(self, *args, **kwargs)
  10826             raise Exception("Implicit conversion of symbolic CasADi type to numeric matrix not supported.\n"
  10827                        + "This may occur when you pass a CasADi object to a numpy function.\n"
> 10828                        + "Use an equivalent CasADi function instead of that numpy function.")
  10829
  10830

Exception: Implicit conversion of symbolic CasADi type to numeric matrix not supported.
This may occur when you pass a CasADi object to a numpy function.
Use an equivalent CasADi function instead of that numpy function.

"
Systeminfo:
Anaconda 5.2, python3.6,  windows10
Thanks!

I think this was fixed by #1067 . Could you try getting the latest version from the develop branch and see if you still get the same error?

@zhenghao87 did this work?

@zhenghao87 the new release (v0.2.3) should fix this now


Fixed exception displayed on console after loading any valid json file

In HomePage.vue, fileUploaded variable was being set to True in the the
uploadStatus() method which triggers the AnnotationsPage component and
which expects json document in the json variable. Since the actual json
document gets loaded only after readFile() method, code throws an
exception in the background. While it does not impact the functionality
of application, it's still an irritating exception to have in the
console. With this fix, i am now marking this flag as True within the
readFile() method.

Should we remove uploadStatus() in that case?

Yes we can remove the method as well, does not serve any purpose

@rsjain1978 Would you like to update your PR?

@fmikaelian - it's done now, cheers


Multiarch docker image

By the way the e2e tests are still failing 😕

By the way the e2e tests are still failing 😕

I don't think there's much we can do. Apparently it is failing while fetching the alpine repos, not sure if because of a rate-limit, DNS, or cosmic rays targeting the azure datacenters


YouRM Updates: Respect self.k

Only clear dsp.setting.trace in assertions.py if a trace object exists.
Adapt YouRM API call signature to match the documentation on https://api.you.com/api-key; update return data to respect self.k (as opposed to returning all snippets from the first K hits).

It's be great if you add a you.com entry to this document? that will help others who want to use you.com
If you prefer, a separate PR would work for sure.

@insop do you mean to the documentation? Sure, I can add that. Will get to it this evening.

Had less bandwidth than I anticipated, I plan to sit down and contribute a bunch come early March.

Tagging @arnavsinghvi11 for the issue above it comes up a lot: dsp.settings.trace being None by default causes issues. Is setting it globally to [] correct? Probably not? It affects optimization somewhere? Is there any code checking for dspy.settings.trace that assumes it None and [] are different?

dsp.settings.trace

Yeah I believe we should set it to [] going forward since there are checks in assertion.py. It seems that the optimizations logic also set trace = []  internally so I believe we can make this change globally in settings. Let me know if that aligns and I can push a PR for it.


Simple task query for better search

I use Kanbord for my project but sometimes it is hard to find the old tasks. I think that simple task query language would improve the task search. The example query looks like the following:
My Keyword status:closed category:feature before:2015/04/20 assignee:me

This would enable Kanbord to support advanced task search feature while we can keep the UI simple.
I'm thinking see if I can contribute to the code. I think it is better to implement this feature on TaskFinder.php or separated model class so that we can possibly reuse the mechanism to the other features.
Anybody agree? Thought?

Yes, it's interesting. The most difficult part seems to build the query parser.

The same feature can be used directly on the board. Then the board could display dynamically the result of any query.
Having something similar to Github issues (search/filter box) will be very interesting.

+1 to dynamic board result.
I'd like to keep the simple code. So I would start playing with regex or some simple parser libraries.

To some extent, I'm thinking about replacing the filter box that looks like an input field by a search box. And a display mode toggle button. Then it will be easy to display the search result as a list view, a board view or a calendar view.

I like the idea that can reuse the same filter/search UI to each view.

I have found that it is difficult to parse the query with regex if we introduce some complexed query with brackets/quotations. I am looking into some PHP parser library like the following.

https://github.com/hafriedlander/php-peg
https://github.com/relaxnow/QueryLang

I am working on experiments with those libraries...

Sorry to a bit late update but the prototype of the parser is implemented. The parser code can be implemented minimal codes and flexible to change thanks to php-peg.
The following is the example of queries and their result.
https://gist.github.com/yuichi1004/51ded0a963815124eaac
Currently I am planning to start implementing the search based on the following.
https://github.com/yuichi1004/kanboard/blob/feature/task_query/docs/advanced-search.markdown

What about using a simple Lexer?
After reading some articles I build a quick and dirty prototype to test the idea:
<?php

class Lexer
{
    protected $tokenMap = array(
        "/^(OR)/"           => 'T_OR',
        "/^(assignee:)/"    => 'T_ASSIGNEE',
        "/^(color:)/"       => 'T_COLOR',
        "/^(\s+)/"          => 'T_WHITESPACE',
        "/^(\w+)/"          => 'T_IDENTIFIER',
    );

    public function tokenize($input)
    {
        $tokens = array();
        $offset = 0;

        while (isset($input[$offset])) {

            $result = $this->match($input, $offset);

            if ($result === false) {
                throw new Exception('Unable to parse query');
            }

            $tokens[] = $result;
            $offset += strlen($result['match']);
        }

        return $tokens;
    }

    public function match($input, $offset)
    {
        $string = substr($input, $offset);

        foreach ($this->tokenMap as $pattern => $name) {
            if (preg_match($pattern, $string, $matches)) {
                return array(
                    'match' => $matches[1],
                    'token' => $name,
                );
            }
        }

        return false;
    }
}

class Compiler
{
    public function build(array $tokens)
    {
        $query = 'SELECT * FROM tasks WHERE ';
        $conditions = array();

        while (false !== ($token = current($tokens))) {

            switch ($token['token']) {

                case 'T_ASSIGNEE':
                    $nextToken = next($tokens);
                    $conditions[] = 'owner_id = '.$nextToken['match'];
                    break;

                case 'T_COLOR':
                    $nextToken = next($tokens);
                    $conditions[] = 'color_id = '.$nextToken['match'];
                    break;
            }

            next($tokens);
        }

        return $query.implode(' AND ', $conditions);
    }
}

$lexer = new Lexer;
$tokens = $lexer->tokenize('assignee:me color:blue');

$compiler = new Compiler;
echo $compiler->build($tokens).PHP_EOL; // SELECT * FROM tasks WHERE owner_id = me AND color_id = blue

The lexer parse the query and output all tokens:
Array
(
    [0] => Array
        (
            [match] => assignee:
            [token] => T_ASSIGNEE
        )

    [1] => Array
        (
            [match] => me
            [token] => T_IDENTIFIER
        )

    [2] => Array
        (
            [match] =>
            [token] => T_WHITESPACE
        )

    [3] => Array
        (
            [match] => color:
            [token] => T_COLOR
        )

    [4] => Array
        (
            [match] => blue
            [token] => T_IDENTIFIER
        )

)

From there, the Compiler class can build a SQL query or use PicoDb to generate the SQL.
Here are some reading:

http://nitschinger.at/Writing-a-simple-lexer-in-PHP
http://nikic.github.io/2011/10/23/Improving-lexing-performance-in-PHP.html
http://jwage.com/post/31623163785/writing-a-parser-in-php-with-the-help-of-doctrine

I think this approach still simple enough and it's easier to understand than an external library than generate code from a grammar. What do you think?

I think that works for simple cases. This approach gets complexed if we introduce phrasing or grouping like the following cause the tokenizer needs to be aware of its context.
assignee:"John Smith" NOT (category:Research OR category:"Bug Fix")

The advantage of my prototype is minimal lines of code.
https://github.com/yuichi1004/kanboard/blob/feature/task_query/app/Libs/KQLParser.peg.inc
I think it's tradeoff between our code complexity and dependency to the 3rd party. I prefer to keep our code minimal so I took this approach but I am also comfortable to write our tokenizer.

With both methods you have to build a sql query based on the output array tree (http://en.wikipedia.org/wiki/Abstract_syntax_tree).
It's always possible to improve the basic Lexer above to parse a subquery with another regex, by example  '/^(\([^\)]+\))/' match everything in parentheses.
The thing I don't like is that php-peg generates php code and the result array is hard to manipulate to build the final sql query. I prefer to have less feature, maybe something too simple but with a code that I can understand...
I will see if I can get some examples from other open source projects. Maybe I'm wrong...

I understand your point. I agree that PHP code generation process is the biggest cons of pho-peg.
Let's start with something small and improve it later.
I would start working with lexicer

Did you make any progress?
It's ok if you don't have time, I will try to improve my prototype and make it work in Kanboard...

It's rainy today, so I started to implement the "advanced" search query. At the moment, it's very alpha, there is only 3 criteria: "assignee, due and color", more attributes are coming...
The queries are inspired by the search syntax of Github Issue and your proposition. I don't support complex query with OR/AND and parenthesis to keep the code simple.
You can do queries like that: assignee:me due:tomorrow color:"Light Green" my task title or due:>=2015-07-01 assignee:"John Doe" etc... More example in the doc: https://github.com/fguillot/kanboard/blob/master/docs/search.markdown
I will probably change the user interface to have a global search page and see if I can use the same system to filter tasks on the board.


[PORT] Add functional tests setup to signing yaml build

Port this change from botbuilder-dotnet/master branch:
https://github.com/microsoft/botbuilder-dotnet/pull/3159

We don't have a signing build, so I believe this is applicable to the daily build?


training configuration

Hello,
I tried to train the model. However I got a few issues. During pre-training, after 200 epochs, the training converges and doesn't improve. The rendered image doesn't look good, especially the pose and texture. Then I switched to unsupervised training. However after 100 epochs, the image rendered is super blurred.
I'm not sure if the configuration in the code is the default setting you use. Thus, could you share your configuration for training, e.g.
pre-training:

number of epochs

training

number of epochs, in code, it says 1000, do you really use 1000 epochs?
which loss you use? Do you use all the loss mentioned in the paper/code?

Thanks a lot

Hello, I have no idea about how to run the pre_training model. Could you please share your configuration for pre_training. Thank you !!!

Hello,
I tried to train the model. However I got a few issues. During pre-training, after 200 epochs, the training converges and doesn't improve. The rendered image doesn't look good, especially the pose and texture. Then I switched to unsupervised training. However after 100 epochs, the image rendered is super blurred.
I'm not sure if the configuration in the code is the default setting you use. Thus, could you share your configuration for training, e.g.
pre-training:

number of epochs

training

number of epochs, in code, it says 1000, do you really use 1000 epochs?
which loss you use? Do you use all the loss mentioned in the paper/code?

Thanks a lot

Hi @zhangxuan1918
I'm trained the model. but the results (rendered images and textures) are not reasonable. I used just 1000 images and 40 epochs for training. Could you train the model correctly?


Beans with @EnableConfigurationProperties are not properly instanciated.

Hi,
I found an issue when using jasypt-spring-boot with a Spring configuration bean mapped from an application.yml file (see §23.7 at http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html).
When @EnableEncryptableProperties is set, the configuration bean is not properly created. Properties of this bean that map a collection from the YAML file are not set. On the other side, it is correctly populated if @EnableEncryptableProperties is not set.
I pushed an example at carguel/jasypt-spring-boot-sample. If you run the Main class, a NPE is raised when accessing the items collection from the ItemConfig class. This collection should be populated from the items nested node of the application.yml file.
I guess some initializations steps are missing in EnableEncryptablePropertySourcesPostProcessor.java.
But I could not find how to fix this.

Alright, I see what you mean, thanks for the example. Let me take a look at what's going on and I'll come back to you soon

It should work now. I noticed something strange in your demo app ItemConfig.java. @EnableConfigurationProperties should be declared in your Main.java and you should remove @Configuration. Also, @Value annotation should exist in @ConfigurationProperties annotated classes. What you need to do is to define setters for the properties to get properly populated.
I changed the Demo app in my repo to reflect your example, so check it out if you have any doubts.
Best,
Uli

Nice, my demo works perfectly now with your changes.
Thanks a lot.


NameError: name 'MHA' is not defined

Trying to load the model from HuggingFace across many environments (Jupyter Notebook, local on MacOS, all python 3.10 and latest version of transformers) yields the error:
self.inner_mha_cls = MHA(
NameError: name 'MHA' is not defined

The code I'm using is the sample code from your HuggingFace example!

Did you install flash attention?

I have the following issue with A100 NameError: name 'swap_mha_rope' is not defined. Have anyone faced the same issue?

Was this resolved?

I encounter this issue as well, it seems that flash_attn has some problems.
When I use pip install flash_attn, I get the version 2.5.6, but this version has some importing issues.
When I choose to install low version of flash_attn, it fails since cuda and pytorch version issues.
(3090)

Was this resolved?

I can't solve this problem, suing RTX3090.

It sounds like these are all flash attention compatibility issues.

It sounds like these are all flash attention compatibility issues with specific gpus

Hi! After experiment, a conclusion can be get that there is nothing to do with GPU, at least, RTX3090 doesn't cause this problem.
It is some compiling error in flash_attn library, and I guess it is caused by version conflict.
Class MHA can not be imported because this lib isn't be compiled correctly. By run the code in model.py in huggingface repo:
from flash_attn.modules.mha import MHA print(MHA), there goes a problem: File "/miniconda3/envs/for_evo/lib/python3.8/site-packages/flash_attn/flash_attn_interface.py", line 10, in <module>     import flash_attn_2_cuda as flash_attn_cuda ImportError: libtorch_cuda_cpp.so: cannot open shared object file: No such file or directory
This problem occurs when I try to install flash_attn by using ./install.py from their repo. However, I try pip install flash_attn and install the version 2.5.6, no error is raised. Nevertheless, the problem still exists but there is no alert. When I import class in flash_attn, the compiling problem hinder importing, so this problem occurs.

Dear all, this problem finally solved by changing flash_attn version.
First, this issue isn't caused by GPU. In flash_attn repo, it indicates A100 and RTX3090 is supported (See their repo), and I run the code successfully using 3090.
Second, according to README.md, pytorch should be installed first, however, version should be compatible between torch, cuda and related libs. For me, my version is below: torch              2.0.0+cu118 torchaudio         2.0.1+cu118 torchvision        0.15.1+cu118. Using nvcc -V, my version is Cuda compilation tools, release 11.8, V11.8.89. You may need install cudatoolkit and related libs using pip. For instance, conda install cudatoolkit==11.6 -c nvidia, conda install cuda-nvcc.
Third, this problem is caused by flash_attn lib and importing issue should be a global event, in other word, if you can import flash_attn correctly in your code, MHA can be imported correctly in model.py from Huggingface repo. So you should test if this lib can be used correctly first. For example, from flash_attn.modules.mha import MHA print(MHA), and a class will be returned.
The most important thing is that flash_attn has a lot of versions, so following to README.md, using pip install flash_attn , you may not get the version you need. What's worse, this lib won't report errors, even though compiling isn't complete, that's why I recommend you test whether this lib can be used. Given versions of cuda, torch, python, you can select a lib fits you in https://github.com/Dao-AILab/flash-attention/releases. Take myself as an example, pip install https://github.com/Dao-AILab/flash-attention/releases/download/v2.5.6/flash_attn-2.5.6+cu118torch2.0cxx11abiFALSE-cp38-cp38-linux_x86_64.whl.
I waste 3 days to figure out what happened to EVO. Hope that people can be reminded in README and everyone can enjoy EVO successfully.

Same issue for me using cuda_11.7.r11.7

The problem for me was the triton package was not installed. This solved the problem for me.
pip install triton
Also, I checked here https://github.com/Dao-AILab/flash-attention/releases and downloaded the right .whl file compatible with the cuda and torch version running on my system. and ran it by
pip install flash_attn-2.3.0+cu117torch1.13cxx11abiTRUE-cp38-cp38-linux_x86_64.whl

I have similar problem on a V100. I installed several versions of pytorch and flash_attn and triton packages. But I receive the following error:
RuntimeError: Internal Triton PTX codegen error:
ptxas /tmp/compile-ptx-src-b231af, line 147; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 147; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher              ptxas /tmp/compile-ptx-src-b231af, line 149; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 149; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 160; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 160; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 162; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 162; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 181; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 181; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 183; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 183; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 197; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 197; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 199; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 199; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 233; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 233; error   : Feature 'cvt.bf16.f32' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 235; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 235; error   : Feature 'cvt.bf16.f32' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 243; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 243; error   : Feature 'cvt.bf16.f32' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 245; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 245; error   : Feature 'cvt.bf16.f32' requires .target sm_80 or higher
ptxas fatal   : Ptx assembly aborted due to errors

Any suggestion how to fix this problem?

Sorry, I have no idea what is going on. For me just installing triton have
solved the problem
On Tue, Apr 30, 2024 at 11:51 AM Hadi @.***> wrote:

I have similar problem on a V100. I installed several versions of pytorch
and flash_attn and triton packages. But I receive the following error:
RuntimeError: Internal Triton PTX codegen error:
ptxas /tmp/compile-ptx-src-b231af, line 147; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 147; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher              ptxas /tmp/compile-ptx-src-b231af, line 149; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 149; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 160; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 160; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 162; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 162; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 181; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 181; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 183; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 183; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 197; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 197; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 199; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 199; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 233; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 233; error   : Feature 'cvt.bf16.f32' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 235; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 235; error   : Feature 'cvt.bf16.f32' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 243; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 243; error   : Feature 'cvt.bf16.f32' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 245; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/compile-ptx-src-b231af, line 245; error   : Feature 'cvt.bf16.f32' requires .target sm_80 or higher
ptxas fatal   : Ptx assembly aborted due to errors
Any suggestion how to fix this problem?
—
Reply to this email directly, view it on GitHub
https://github.com/evo-design/evo/issues/10#issuecomment-2086571147, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AYCKKOLLMGRAKECNTNUEXQ3Y77RZ5AVCNFSM6AAAAABD4Y65MKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOBWGU3TCMJUG4
.
You are receiving this because you commented.Message ID:
@.***>

One suggestion from flash attention team was to use nightly build of everything. That solves some problems with the flash attention. But I still cannot use evo as I receive similar errors:
RuntimeError: Internal Triton PTX codegen error:
ptxas /tmp/tmp8b6rqkxa.ptx, line 157; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 157; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 161; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 161; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 178; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 178; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 182; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 182; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 207; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 207; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 211; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 211; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 231; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 231; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 235; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 235; error   : Feature 'cvt with .f32.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 271; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 271; error   : Feature 'cvt.bf16.f32' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 275; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 275; error   : Feature 'cvt.bf16.f32' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 289; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 289; error   : Feature 'cvt.bf16.f32' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 293; error   : Feature '.bf16' requires .target sm_80 or higher
ptxas /tmp/tmp8b6rqkxa.ptx, line 293; error   : Feature 'cvt.bf16.f32' requires .target sm_80 or higher
ptxas fatal   : Ptx assembly aborted due to errors

Any idea how can I fix it?

I have the following issue with A100 NameError: name 'swap_mha_rope' is not defined. Have anyone faced the same issue?

I'm getting this too. did you find a solution?

I have the same problem, any solutions?

I am running inference on A100 without any issue. Here are the specific versions for the (most) relevant libraries. Hope this helps.

Some of these issues appear to be caused by triton not being installed. We've added triton to requirements.txt. Also see https://github.com/evo-design/evo/issues/23


[don't merge] tsp-openapi3 - improve model generation of schemas using allOf

Fixes https://github.com/microsoft/typespec/issues/4152
Depends on https://github.com/microsoft/typespec/pull/4216
This PR updates how tsp-openapi3 handles generating models for schemas that use allOf.
Currently allOf is ignored unless there is only 1 member and that member is a schema reference. In this scenario, the model extends the single member.
This update now takes all of the schema allOf members into consideration when generating a model.

inline-schemas have their properties merged into the model's properties
schema references without a discriminator defined are spread into the model
if only 1 schema reference contains a discriminator, then the model extends it, otherwise these schema references are spread as well.

All changed packages have been documented.

:white_check_mark: @typespec/openapi3

Show changes
@typespec/openapi3 - fix ✏

Fixes issue in tsp-openapi3 that resulted in component schemas and parameters with the same name being merged into a single TypeSpec data type.

@typespec/openapi3 - fix ✏

Improves tsp-openapi3 model generation from schemas utilizing allOf. Models will now extend an allOf member if it is a schema reference and the only member with a discriminator. Other members will be spread into the model if defined as a schema reference, or have their properties treated as top-level properties if they are an inline-schema.

You can try these changes here

🛝 Playground
🌐 Website
📚 Next docs


Update Solidity compiler (Remix) link

Qtum Core v0.16.2
The "Solidity compiler" link on the Smart Contracts create page links to https://ethereum.github.io/browser-solidity/ and a popup on that site gives this error message:
"The Remix IDE has moved to http://remix.ethereum.org. This instance of Remix you are visiting WILL NOT BE UPDATED. Please make a backup of your contracts and start using http://remix.ethereum.org"
Suggest creartecontract.cpp line 112 should be updated to http://remix.ethereum.org, or maybe https://qmix.blockchainspaceman.com/

Create Contract page

Pop error message on old Remix

Fixed here: https://github.com/qtumproject/qtum/commit/f1a94aae8db7dd99ecb480f92c59620496bb5836


Fix MyPy issues in export folder

Summary by Sourcery
Fix MyPy type issues in the export folder by updating type annotations and adding necessary type ignores to improve type safety.
Bug Fixes:

Fix MyPy type issues in the export folder by updating type annotations and adding necessary type ignores.

Enhancements:

Improve type safety by refining type annotations across multiple functions, including 'to_stl', 'get_polygons_points', and 'to_np'.

looks great, why are the docs failing?

Looking into it now

Think this is failing due to the recent changes to test-data


Tell users to turn off autotranslate at recovery phrase generation screen

Closing in favor of https://make-software.atlassian.net/browse/WALLET-47


Fix recursive computed ordering issue.

Recursively infer the targets of computed links and properties when
ordering SDL.
Fix #3499

Cherry-picked to 1.2


end2end_tests in at_client_sdk are flaky

Describe the bug
Sometimes the end2end_tests fail. Sometimes they succeed.
To Reproduce
They're flaky so it's not consistent. However - noticing that end2end_tests had failed for #482, I re-ran them and they failed again. I re-ran them again, and they worked.
Expected behavior
The tests should either succeed or fail consistently.

We need to invest time here, find out why these tests are flaky and fix whatever the problem is. Every time there is a spurious test failure, it chews up some of somebody's time.

@purnimavenkatasubbu I see that notify_test.dart has "'Notify a key with value to sharedWith atSign and listen for notification from sharedWith atSign' test and it is flaky.
I see that test assumes a single entry that matches the regex ".notifyList(regex: 'phone_$lastNumber')", however, it may not be true, as is the case when the tests failed. Below JSON has four entries that match the above regex.
[{id: 314d29c3-b216-4657-85b7-a8d2ed1adf41, from: @cicd1, to: @cicd2, key: @cicd2:phone_44.wavi@cicd1, value: null, operation: update, epochMillis:<PHONE_NUMBER>135***
{id: 459224c1-7393-424a-8bd5-f0a18f56b8d4, from: @cicd1, to: @cicd2, key: @cicd2:phone_4.wavi@cicd1, value: npe+I7mKqcsFSvxjBLGCwA==, operation: update, epochMillis:<PHONE_NUMBER>400***
{id: c756d6c2-508e-4bf1-954b-2d5882533a57, from: @cicd1, to: @cicd2, key: @cicd2:phone_43@cicd1, value: null, operation: delete, epochMillis:<PHONE_NUMBER>813***
{id: cb6c99bc-de65-47af-8ceb-c472fbacd6f4, from: @cicd1, to: @cicd2, key: @cicd2:phone_41.wavi@cicd1, value: null, operation: update, epochMillis:<PHONE_NUMBER>550***
{id: da71f885-6231-4658-9439-509f65ae0f41, from: @cicd1, to: @cicd2, key: @cicd2:phone_43.wavi@cicd1, value: npe+I7mKqcsFSvxjBLGzww==, operation: update, epochMillis:<PHONE_NUMBER>961***
{id: dd8eaf85-070a-41ae-9f20-a141a32449d7, from: @cicd1, to: @cicd2, key: @cicd2:phone_40.wavi@cicd1, value: npe+I7mKqcsFSvxjBLGwww==, operation: update, epochMillis:<PHONE_NUMBER>152***]
We can probably fix the flakiness in many different ways. A couple of ways that come to my mind are:

Use "UUID" in place of a random number so that the chance of a collision is rare
Don't expect the "0th" entry in JSON to be the one you are looking for, rather iterate and look for the key we have created

Sure @VJag. I will re-write the existing and also the new tests (e2e_tests) in the PR

Yes. Idea is to fix other flaky tests of similar nature. Thank you.

Fixed the issue as part of the PR

Great - please merge and then close this ticket - thank you!

Merged the PR to the trunk. Closing the issue.PR


Questions about Avatars

I wonder why avatars have so big limbs and faces.
It looks like SD Gundams.
Geometry model is not trained those data but I don't know why they look like.

Hi, the issue stems from the part-based optimization. A potential solution would be to incorporate a global SDF loss that is based on the SMPLX mesh. This approach could effectively mitigate the excessive expansion of limbs.

Thanks!!


internal/add-matomo-scripts-into-build-scripts-in-angular

The matomo must be run in the DSpace deploying.

Done


Add Kylie Czajkowski

Adding myself as a Jamstack fan that also works in this space. Thank you for maintaining this project, @whitep4nth3r!

Thank you!


improve transferLeadership

leader's commitIndex not mean the target follower's commitIndex , it mean  the majority of  quorum  commitIndex.
so trigger leader election at this situation may lead to other follower becoming leader.

PTAL @metanet
please help me check if my idea is correct

I don't think your change is correct. What problem are you trying to solve with your change? Can you demonstrate the bug with a failing test case which gets fixed with your change?
https://github.com/MicroRaft/MicroRaft/blob/master/microraft/src/main/java/io/microraft/impl/task/TransferLeadershipTask.java#L138 this line ensures that the leader will initiate the leadership transfer when all of its log has been committed. That is it.

how about this?
 if (state.commitIndex() < state.log().lastLogOrSnapshotIndex() || leaderState.getFollowerState(targetEndpoint).matchIndex() < state.log().lastLogOrSnapshotIndex())

condition1: make sure the leader all of its log has been committed
condition2: make sure the target endpoint replicated all log from leader
I think 'transferleadership' step has a great impact on the quality of service, because in this process, the leader stops accepting new client requests.
I want to make it more possible for target endpoint become leader.

i see. thanks for details.
couple of points to go over:

your fix does not help to improve the availability. https://github.com/MicroRaft/MicroRaft/blob/master/microraft/src/main/java/io/microraft/impl/task/TransferLeadershipTask.java#L78-L80 here node.initLeadershipTransfer() call sets an internal state to temporarily rejecting new requests and your code change comes after that. so it will have no affect.
i think you might be bringing more risk than what you are improving here. MicroRaft leaves it to the operator / oncall to decide to which follower a leadership transfer should be executed. as long as the decision is safe and correct, MicroRaft prefers to execute it. it is quite possible that there will be concurrent replication operations while an oncall triggers a leadership transfer. if we enforce leader to make sure the selected follower is up-to-date before starting to temporarily reject RaftNode#replicate() calls, we may never succeed the operation without aggressively retrying RaftNode#transferLeadership() calls. temporarily rejecting new requests makes it more likely for the leader to send its log to the selected follower and succeed the leadership transfer operation.
do you have a workload where leadership transfer impacts your service's availability? in my view leadership transfer should be a rare operation to possibly load balance the overall system if there are multiple raft groups running or graceful maintenance operations on raft groups. are you calling it on a hot path? what is your QPS? what is the impact on availability you are observing? can you share details about your use case?

Thank you for your reply. I now understand your intention
My previous concern was that in extreme situations, multiple attempts may still not make the target server a leader, and multiple attempts can have a significant impact on service quality .
So I want to make the triggering conditions more stringent and reduce the number of attempts. However, this may also result in the operation never succeeding.
I closed this pull request.
Thanks


Shorelines Only Work On Mountains

Shorelines only show up for mountains. Adding other objects doesn't generate any new shorelines, even duplicating mountains model doesn't help. Also, deactivating the mountains doesn't remove the shoreline.
Unity 5.6.5, 2017.3, 2018.1

Thanks for reporting this! This was quite a bug - actually the issue was that multiple things could not render ocean depth at the same time, they were stomp over eachother. I've now set the blend operation to Min which allows them to blend correctly for me.
Something else that is probably causing confusion - it only gathers a list of stuff to generate shorelines from in Start(). This means if you dupe the island a runtime you wont see it generating shorelines or modulating waves. This is for performance reasons only. I could add a flag to make it regen the list every frame, or think about other solutions..
Finally, its bad that im rendering the depth every frame for an island that is static. I want to look at adding a depth cache that you can place on the island so that it becomes a cheap texture copy instead of rendering thousands of verts.

Looking quite great now! But objects other than mountains still do not have foam unfortunately.
I like that performance oriented approach though. Btw why not make it possible to regenerate the list via user made script command? Like, say, when I wanna spawn an object, I execute a line of code that regenerates the list. Just suggesting this as a temporary solution at least.

 Thanks for the feedback!
I implemented the cached depth thing in f6a1edd75ec3913f6ae2e906cfbcdf42a17de38b . The IslandDepthCache GO has a gizmo that shows its extents and a resolution setting in the inspector - this will render ocean depths out once on startup and will reuse this data each frame instead of rendering the terrain over and over. However note I left support in for the RenderOceanDepth component so if any objects need to render each frame this is still supported.

Just checked:

Cool trick! IslandDepthCache on statics + ROD on some moving stuff gives some big flexibility imo!
Foam works on everything now, cubes included
Thanks for keeping ROD, without it like fish outta water!
Noticed Setup info update which is cewl! I copied ocean and ShapeRender from main scene to other scenes and called it a day before.

One small question : is it possible to configure shoreline thickness? It's perfect on mountains but a bit thin on almost everything else. I also saw big part of foam is hidden under object so I made a bigger invisible copy (cube, sphere, cylinder, some random mesh thing) to make bigger foam which looks not bad to be honest but that's a solution only for simple objects I guess (really sorry for stretching the topic).

Nice!
Yeah I've been meaning to add that but just needed someone to ask :). I added it in b25c99abee6292cec9182552fdda4d20582953b5 , but it's a global setting and I'm not sure it's going to do what you're hoping for and we might have to think about changing how foam is authored or adding other workflows. Let me know how you get on with it?

Yeah big pity it's a global setting, still glad you added this, adds a lot to flexibility!


Followed the steps to add gh-scala release

ref: https://github.com/guardian/gha-scala-library-release-workflow/blob/main/docs/configuration.md
Note that CI is currently failing on this PR (because CI is failing on main, see #31 ) but are passing on #28 (which performs a Typescript upgrade that somehow fixes the tests).

Note that we paused this work because the tests fail on the default main branch - and there is actually no CI configured for this project.

Now that we have CI in place (with #31) I think we want to merge this PR, to make evaluating #28 easier by supporting a preview release.

I managed to lose the changes from being merged to main by switching the PR base branch, but have fixed it now with commit 7efe16c64e7ec220f57861fdf0360cf3f1020818!


[6.5.x] GUVNOR-2580: Guided rule editor : Insert formulas in an OR/AND constraint

See https://issues.jboss.org/browse/GUVNOR-2580
This PR is the corollary of https://github.com/droolsjbpm/drools/pull/823 for 6.5.x
(cherry picked from commit 15089bce7109958b6dc0e200112b5cd8e0c1af5f)

See https://github.com/droolsjbpm/drools-wb/pull/232 too.

+1


6-31G(2df,p) basis has two polarization functions on hydrogen

https://www.basissetexchange.org/basis/6-31g(2df,p)/format/gaussian94/?version=0&elements=1
The downloadable basis for H looks like this
! Basis Set Exchange
! Version 0.10
! https://www.basissetexchange.org
!----------------------------------------------------------------------
!   Basis set: 6-31G(2df,p)
! Description: 6-31G(2df,p)
!        Role: orbital
!     Version: 0  (Data from the original Basis Set Exchange)
!----------------------------------------------------------------------

H     0
S    3   1.00
     18.7311370              0.03349460
      2.8253937              0.23472695
      0.6401217              0.81375733
S    1   1.00
      0.1612778              1.00000000
P    1   1.00
      1.5000000              1.0000000
P    1   1.00
      0.3750000              1.0000000
****

Gaussian claims it uses the following:
  1.87311370E+01  2.82539436E+00  6.40121692E-01  1.61277759E-01  1.10000000E+00
Contraction coefficients                   R   N=           5
  3.34946043E-02  2.34726953E-01  8.13757326E-01  1.00000000E+00  1.00000000E+00

which is the same for the valence (one extra decimal in the coefficient) but only 1 P function on H with exponent 1.1.
The notes for the basis set indicate that this was an error in the original BSE, which has not apparently been fixed:
   Original BSE Contributor: Edoardo Apra
            Original BSE PI: J.A. Pople
 Original BSE Last Modified: Mon, 11 Jul 2016 23:51:20 GMT
--------------------------------------------------------------------------------

In the original BSE, this basis set erroneaously uses 2p on H,He rather than a single p

Note that the P exponents are not those in 6-31G(x,2p), which are 2.2 & 0.55
  1.87311370E+01  2.82539436E+00  6.40121692E-01  1.61277759E-01  2.20000000E+00
  5.50000000E-01
Contraction coefficients                   R   N=           6
  3.34946043E-02  2.34726953E-01  8.13757326E-01  1.00000000E+00  1.00000000E+00
  1.00000000E+00


Cannot access ssh server running in WSL 2

Please fill out the below information:

Your Windows build number:  2004 (OS Build 19041.172)

I'm trying to access an ssh server running on port 2222 inside Ubuntu WSL 2.
ssh localhost -p2222 # this works
ssh <IP_ADDRESS> -p2222 # this works
ssh [LAN IP address for my PC] -p2222 # this DOES NOT WORK
ssh [WAN IP address] # this also does not work, obviously. Note that port 22 ->2222 (in my router to the static LAN IP of my machine)
I have opened this port in my Windows Firewall and this worked on WSL 1 -- I just upgraded to WSL 2.

What's wrong / what should be happening instead:
According to docs
https://docs.microsoft.com/en-us/windows/wsl/wsl2-ux-changes
you should be able to access servers running in WSL 2 via localhost, which suggests I should be able to ssh to my LAN IP on port 2222.

Oh, also, I checked and the output of ip addr | grep eth0 provides an address that does not match my PC's LAN IP -- but I don't know if it's supposed to.

I checked and I can access the server as "localhost" if I use putty on my windows machine. So, I guess the problem is that traffic isn't being forwarded if you access your machine on the LAN. Is there a workaround for this or plans to make this seamless?

That's a known issue, due to missing network bridge in WSL2. WSL2 has its own dynamic IP adress, which always changes after restarting WSL. You'd have to set a port forward on Windows to that IP and the 2222 port, and update this each time you restart WSL.

That's correct. /dupe #4150


The 'test' command should NOT generate a .jar but run from the class files.

See https://github.com/jminusminus/jmm/pull/17


[gRPC] Generated code contains duplicate Empty record types

Description:
Generated ballerina source code contains duplicate record types causes compilation issue when building . Please eliminate generating duplicate record types.
service aaa {
    rpc SendResponse (Response) returns (Empty) {}

}

message Empty {
}

Affected Versions:
0.990.3

Fixed.

Still has the same issue. When we generate gRPC Ballerina files from a protobuf file where the protobuf file has two separate services that access google.protobuf.Empty data type, then the generated Ballerina file contained unwanted Empty records repetitively.
Steps to reproduce:
Generate Ballerina files using the following protobuf file.
syntax = "proto3";

import "google/protobuf/empty.proto";
import "google/protobuf/wrappers.proto";

service Handshake {
    rpc publishProgram (google.protobuf.StringValue) returns (google.protobuf.Empty);
    rpc linkApplication (google.protobuf.StringValue) returns (google.protobuf.Empty);
}

Use the following command to generate Ballerina files.
$ ballerina grpc --input sample.proto --output .

It will return the following Ballerina file that contains two Empty records.
import ballerina/grpc;

public type HandshakeBlockingClient client object {
    .....
};

public type HandshakeClient client object {
    .....
};

public type Empty record {|

|};

public type Empty record {|

|};

Affected Versions:
Ballerina 1.2.0-rc1


Not highlight variable correctly

Hi,
I'm using your work to highlight ObjC code, but I found something not work as expected. This two lines,
https://github.com/jiyee/tree-sitter-objc/blob/01dbc2cc0289f29146cab8194b51f732d7489a34/queries/highlights.scm#L200-L201
should be @variable?

I differentiated @variable and @property, and set @property theme value in the global ~/Library/Application Support/tree-sitter/config.json file.
here is my config.json file:
{
  "parser-directories": [
    "~/tree-sitter"
  ],
  "theme": {
    "keyword": 56,
    "function": 26,
    "comment": {
      "color": 245,
      "italic": true
    },
    "embedded": null,
    "constant.builtin": {
      "color": 94,
      "bold": true
    },
    "constructor": 136,
    "number": {
      "color": 94,
      "bold": true
    },
    "string": 28,
    "variable.builtin": {
      "bold": true
    },
    "function.builtin": {
      "color": 26,
      "bold": true
    },
    "type": 23,
    "variable.parameter": {
      "underline": true
    },
    "tag": 18,
    "module": 136,
    "constant": 94,
    "string.special": 30,
    "type.builtin": {
      "bold": true,
      "color": 23
    },
    "punctuation.bracket": 239,
    "property": 124,
    "punctuation.delimiter": 239,
    "operator": {
      "color": 239,
      "bold": true
    },
    "attribute": {
      "italic": true,
      "color": 125
    }
  }
}

I mean,
declarator: (identifier) @property

will highlight
@property Type p;

correctly, but also affect
Type p = nil;

the second p should be variable but not property. Should add more explict rules like:
(property_declaration
      type: (type_identifier) @type
      declarator: (identifier) @property)

(I'm new to tree-sitter, this may be wrong)

I create a pull request to fix this issue, but not fully tested.


Fix issue with samples where data is inserted wrong.

Not sure why lint failed, I can't get CircleCI to load. It passes for me locally.

Can someone re-trigger the failing builds?

Yeah, I can (and I will figure out how to make it so you can).
CI failed because repo-tools: Permission denied. This happens about 5% of the time for some reason that I have not yet determined. It seems to only happen on lint.

Can someone retry the failing appveyor build?

Rebuild clicked.


Changes:

Updated script.js to handle API calls, localStorage, and dynamic quiz content.
Updated description.html to render quiz details and navigate to the question page.

Great work! Camelia
I tested locally as Yannis said I couldn't see quizzes in Home page.

frontend/script.js Quizzes is not loaded at home page when I tested locally

Fixed.

Closing as all changes of this PR are merged into the issue #30 .


refactor: Separating statement parse func in sql/parser.rs into separate *_parser.rs

What type of enhancement is this?
Refactor
What does the enhancement do?
The implementations of show, describe, explain, and drop statement parsing are all in sql/parser.rs. Perhaps it would be better to split them into separate *_parser.rs files and place them in the sql/parsers directory, just like other statements.
Implementation challenges
No response

can i have a try?

Thanks


64 bit support

Modified the protocol structures to work on a 64-bit system. The current version assumes long is 32-bit. However I made it on the commit that is referenced from bipropellant-hoverboard-api, therefore PR contains also latest commits from @p-h-a-i-l . Is that an issue?

Oh, I actually forget that there are pending commits.
I probably haven't tested them, I need to see if I'm hiding some companion code for the firmware repo somewhere ;)

Just for the record, my fork of the API - https://github.com/alex-makarov/bipropellant-hoverboard-api (references also to a fork of the protocol with 64-bit fixes). Works mostly fine on 64-bit Jetson Nano. It's a bit more ROS-friendly when using from ROS differential drive controller. FYI @p-h-a-i-l, and hello from rainy Stuttgart :-)


im canot handle å, ä, ö due to new groovy lang

When do you have this problem?
What method are you using?
Do you have some sample commands that dont work?
What version of SR are you running?

Didn't get it to work for SR 6.12 but now in 6.14 it does - closing


terminal view options

Refactor terminal view options into single property: options. This property is intended to be modified by the user, and the view should apply the changes.
Put this snippet in TerminalView.setup() and see how it change colors:
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(5)) {
    let o = Options(font: Options.default.font, colors: Options.Colors(useSystemColors: true))
    self.options = o
}

a new set of options that only apply to the Mac View, and I assume those would allow changes dynamically?

yes. TerminalView.Options apply to the view only, hence TerminalOption is not exposed. We probably should expose TerminalOptions too, however, because of how it depends on the view, I left it behind.

I attempted to fix the conflict.

Mhm, I wonder if we should have a getter/setter API that controls those values?   Setting all in one go does not seem like a good idea.

Setting all in one go does not seem like a good idea.

I thought about this kind of API, and it was designed after TerminalOptions
var options = TerminalView.Options(........)
terminalView.options = options

// now change something
options.fonts.normal = NSFont.myfont
options.colors.foregroundColor = .black
terminalView.options = options

this approach assumes that TerminalView internally resolve dependencies and apply detected changes in one go
alternate API is:
terminalView.font = NSFont.myfont
terminalView.foregroundColor = .black

this is more AppKit API. Internally we still have to solve the order of the updates

I see - well, TerminalOptions is a little bit of a hack, I have never liked it, so I think we are safe changing the style - since you did all the work that actually does all the heavy lifting, I think we could change to be more UIKit/AppKit like.
I can do it if you want, just wanted to make sure you were ok with it.


ANR on Android when using Native ads in ListView.builder

Plugin Version
google_mobile_ads: ^1.0.1
Steps to Reproduce
Add few (2,3) AdWidget with NativeAds in a ListView.builder along with real photos / videos and scroll / tweak around a bit to see the ANR on Android.
Expected results:
The app should not receive ANR and keep a fluent scrolling.
Actual results:
The app is non responding (freeze of the UI) sometimes while scrolling.

Logs
E/ANR_LOG (16970): >>> msg's executing time is too long
E/ANR_LOG (16970): Blocked msg = { when=-2s883ms what=0 target=android.view.Choreographer$FrameHandler callback=android.view.Choreographer$FrameDisplayEventReceiver } , cost  = 1672 ms
E/ANR_LOG (16970): >>>Current msg List is:
E/ANR_LOG (16970): Current msg <1> = { when=-2s809ms what=0 target=android.os.Handler callback=io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0 }
E/ANR_LOG (16970): Current msg <2> = { when=-2s806ms what=0 target=com.google.android.gms.ads.internal.util.f callback=com.google.android.gms.ads.internal.webview.ai }
E/ANR_LOG (16970): Current msg <3> = { when=-2s763ms what=0 target=com.google.android.gms.ads.internal.util.f callback=com.google.android.gms.ads.internal.webview.ai }
E/ANR_LOG (16970): Current msg <4> = { when=-2s600ms what=0 target=com.google.android.gms.ads.internal.util.f callback=com.google.android.gms.ads.internal.webview.ai }
E/ANR_LOG (16970): Current msg <5> = { when=-2s560ms what=0 target=com.google.android.gms.ads.internal.util.f callback=com.google.android.gms.ads.internal.webview.ai }
E/ANR_LOG (16970): Current msg <6> = { when=-2s395ms what=0 target=com.google.android.gms.ads.internal.util.f callback=com.google.android.gms.ads.internal.webview.ai }
E/ANR_LOG (16970): Current msg <7> = { when=-2s356ms what=0 target=com.google.android.gms.ads.internal.util.f callback=com.google.android.gms.ads.internal.webview.ai }
E/ANR_LOG (16970): Current msg <8> = { when=-2s305ms what=0 target=android.os.Handler callback=io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0 }
E/ANR_LOG (16970): Current msg <9> = { when=-2s178ms what=0 target=com.google.android.gms.ads.internal.util.f callback=com.google.android.gms.ads.internal.webview.ai }
E/ANR_LOG (16970): Current msg <10> = { when=-2s153ms what=0 target=com.google.android.gms.ads.internal.util.f callback=com.google.android.gms.ads.internal.webview.ai }
E/ANR_LOG (16970): >>>CURRENT MSG DUMP OVER<<<

[✓] Flutter (Channel stable, 2.8.1, on macOS 12.1 21C52 darwin-x64, locale fr-FR)
    • Flutter version 2.8.1 at /Users/foxtom/Desktop/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 77d935af4d (6 weeks ago), 2021-12-16 08:37:33 -0800
    • Engine revision 890a5fca2e
    • Dart version 2.15.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/foxtom/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
    • All Android licenses accepted.

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

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

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

[✓] VS Code (version 1.63.2)
    • VS Code at /Users/foxtom/Desktop/Visual Studio Code.app/Contents
    • Flutter extension version 3.32.0

[✓] Connected device (3 available)
    • CPH1931 (mobile) • ee9b32b5 • android-arm64  • Android 10 (API 29)
    • macOS (desktop)  • macos    • darwin-x64     • macOS 12.1 21C52 darwin-x64
    • Chrome (web)     • chrome   • web-javascript • Google Chrome 97.0.4692.71

• No issues found!

Hi @Tom3652, Thanks for filing the issue. Would it be possible for you to share a minimal reproducible code, I could do it, But since you were able to reproduce the issue, you could do it faster and have the reproducible code.

Facing the same issue for about a year now, was able to reproduce it with the following code
main.dart
import 'package:flutter/material.dart';
import 'package:google_mobile_ads/google_mobile_ads.dart';
import 'package:video_player/video_player.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();

 //Running the app without the below code will print the device id in log cat
  MobileAds.instance.updateRequestConfiguration(
    RequestConfiguration(testDeviceIds: ['INSERT TEST DEVICE ID HERE'])
  );

  MobileAds.instance.initialize();
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key}) : super(key: key);

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  final List<BannerAd> bannerAds = [];
  bool adsLoaded = false;
  final List<VideoPlayerController> videoPlayerControllers = [];
  final List<Future<void>> _initializeVideoPlayerFutures = [];
  final totalItems = 3;

  @override
  void initState() {
    initializeVideo();
    initializeAd();
    super.initState();
  }

  initializeAd() async{
    final List<Future> futures = [];
    for (int i = 0; i < totalItems; i++){
      bannerAds.add(
          BannerAd(
            adUnitId: 'ca-app-pub-3940256099942544/6300978111', // <- This is an ANDROID test ad unit id
            size: AdSize.banner,
            request: const AdRequest(),
            listener: const BannerAdListener(),
          )
      );
      futures.add(bannerAds[i].load());
    }
    await Future.wait(futures);
    setState(() {
      adsLoaded = true;
    });
  }

  initializeVideo() async{
    for (int i = 0; i < totalItems; i++){
      videoPlayerControllers.add(VideoPlayerController.network('https://flutter.github.io/assets-for-api-docs/assets/videos/butterfly.mp4'));
      _initializeVideoPlayerFutures.add(videoPlayerControllers[i].initialize());
      videoPlayerControllers[i].setLooping(true);
    }
  }

  @override
  void dispose() {
    for (var element in videoPlayerControllers) {
      element.dispose();
    }
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: ListView.builder(
        itemCount: totalItems,
        itemBuilder: (_, index){
          final bannerAd = bannerAds[index];
          final controller = videoPlayerControllers[index];
          final future = _initializeVideoPlayerFutures[index];
          if (adsLoaded) {
            return Column(
              children: [
                FutureBuilder(
                  future: future,
                  builder: (context, snapshot) {
                    if (snapshot.connectionState == ConnectionState.done) {
                      return Stack(
                        children: [
                          AspectRatio(
                          aspectRatio: controller.value.aspectRatio,
                          child: VideoPlayer(controller),
                        ),
                          Align(
                            alignment: Alignment.topRight,
                            child: FloatingActionButton(
                              child: Icon(controller.value.isPlaying ? Icons.pause : Icons.play_arrow),
                              onPressed: (){
                                setState(() {
                                  if (controller.value.isPlaying) {
                                    controller.pause();
                                  } else {
                                    controller.play();
                                  }
                                });

                              },
                            ),
                          ),
                      ],
                      );
                    } else {
                      return const Center(
                        child: CircularProgressIndicator(),
                      );
                    }
                  },
                ),
                Container(
                  alignment: Alignment.center,
                  child: AdWidget(
                    key: Key('$index'),
                    ad: bannerAd,
                  ),
                  width: bannerAd.size.width.toDouble(),
                  height: bannerAd.size.height.toDouble(),
                ),
              ],
            );
          }
          return const Text('Ad loading');
        },
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

Also, insert application id meta data in AndroidManifest.xml inside the application tag
       <meta-data
           android:name="com.google.android.gms.ads.APPLICATION_ID"
           android:value="ca-app-pub-3940256099942544~3347511713"/>

Above value is sample application id
pubspec.yaml
name: ads_video_bug
description: A new Flutter project.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev

version: 1.0.0+1

environment:
  sdk: ">=2.15.1 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  video_player: ^2.2.16
  google_mobile_ads: ^1.0.1
  cupertino_icons: ^1.0.2

dev_dependencies:
  flutter_test:
    sdk: flutter

  flutter_lints: ^1.0.0

flutter:

  uses-material-design: true

Flutter doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.8.1, on macOS 12.1 21C52 darwin-x64, locale en-GB)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2020.3)
[✓] VS Code (version 1.63.2)
[✓] Connected device (3 available)

• No issues found!

There's a variable in the code totalItems that sets the number of items in the list (have to reload once updated),  for me just having 1 item is causing the video to glitch out
I am testing this on Android 11, mentioning this because the following is mentioned in https://developers.google.com/admob/flutter/banner/get-started

Scrolling limitation on Android 9 and below
We are aware that some older or less powerful devices running Android 9 or earlier may have suboptimal performance when displaying inline banner ads within scrolling views. We recommend only using these types of banners on Android 10 or later. Fixed position banners such as anchored banners are not affected and can be used with optimal performance on all Android API levels.

However, I am facing this issue even with anchored banners

As long as the video and the adWidget are not on the screen at the same time, the video plays just fine, but when both appear on screen video starts glitching out almost immediately

Thanks @theCoder99 for making a reproductible code sample !
It does this issue only with banners in your code ? Not native ads ?
For me it's loading ads in ListView along with videos / photos (such as a social media feed) make some of my android phone's not responding.
Yes sorry @maheshmnj i could make it, but it was happening 100% in my project not with a specific code so i didn't find the time to make it before...

I haven't tested with Native ads so I'm not sure

Thanks for the code sample will take a look.

@theCoder99 I ran your sample code but couldn't reproduce the issue, could you please specify the device on which this issue occurs? Also is the ANR reproducible without the video player?
https://user-images.githubusercontent.com/31410839/151953539-10c37066-e051-4df1-b8f1-bc0ba8f78ab1.mov

flutter doctor -v
[✓] Flutter (Channel stable, 2.8.1, on macOS 12.1 21C52 darwin-arm, locale en-GB)
    • Flutter version 2.8.1 at /Users/mahesh/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 77d935af4d (3 weeks ago), 2021-12-16 08:37:33 -0800
    • Engine revision 890a5fca2e
    • Dart version 2.15.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 60.1.4
    • Dart plugin version 212.5080.8

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

[✓] Connected device (4 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555                     • android-arm64  • Android 11 (API 30)
    • iPhone 13 Pro (mobile) • 0FA2FB93-2A89-4FDB-8293-DF66188F1E54 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-0
      (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.1 21C52 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 96.0.4664.110

• No issues found!

If you do the same with native ads you will see that the scrolling is very laggy on iOS sometimes not responding and on Android even worse :/
I don't have the time currently to make the code sample because it implies to also give swift / kotlin files config, but this is a real issue.
I will try to make it later this week if really necessary

I can confirm this is unreleasable for me. My app is freezing on android and lag on iOS with native ads inside a grid view with multiple photos and videos in auto play.
I think something is wrong during the ad loading because once it's loaded I'm able to scroll more or less normally until the next ad display inside the grid.

Labeling this issue for further investigation. In case anyone has any further info feel free to add it here.

Hi @maheshmnj yes sure and thanks for labelling.
As this issue has some logs for android, i understand why you added this label but i would not mislead the investigation by telling that the root cause is probably coming from AdWidget and the way it's dealing with native views because the same lags - poor user experience can be seen on iOS as well even if we have no logs from this.
I have implemented other "native" views in my app and nothing is laggy this way.
Apparently native ad mob has done some work improving performances but i would rather use an official google plugin to monetize my app :)

The real issue is with PlatformViews that have very poor overall performances on both Platforms (android and iOS).
The only way to solve this issue is that Native ads would not use PlatformViews in their implementation or wait for Flutter to release stable PlatformViews widgets.
There were apparently some changes in flutter 3.0.0 but performances have only increased a bit on Android, on iOS it remains unusable... And the PlatformViews are drawn above all others so the UI is completely broken.

We’re closing this issue due to inactivity. If you’re still impacted, please create a new issue via the Developer Forum.


Create SHA256 Hashing option

Addresses issue #229
Make a more one way approach to retrieving hashes and add another builtin java security hashing algorithm SHA-256.
Also in creating the abstraction, simplifies the way a bit when needing to creating different hash types. While the current 2 look very similar (only change is basically the Message Digest) this adds capability for create more with varying components (e.g non-java native hashing functions).
Contribution Checklist

[x] Unit tests!
[x] Updated CHANGELOG.md
[x] My name is in CONTRIBUTORS.md

Codecov Report

Merging #341 into master will decrease coverage by 0.10%.
The diff coverage is 70.83%.

@@             Coverage Diff              @@
##             master     #341      +/-   ##
============================================
- Coverage     90.00%   89.90%   -0.11%
- Complexity     1438     1445       +7
============================================
  Files           249      252       +3
  Lines          3943     3963      +20
  Branches        191      191
============================================
+ Hits           3549     3563      +14
- Misses          343      349       +6
  Partials         51       51

Impacted Files
Coverage Δ
Complexity Δ

...a/com/vonage/client/auth/hashutils/SHA256Util.java
14.28% <14.28%> (ø)
1.00 <1.00> (?)

...ava/com/vonage/client/auth/hashutils/HashUtil.java
91.66% <91.66%> (ø)
4.00 <4.00> (?)

...in/java/com/vonage/client/auth/RequestSigning.java
81.25% <100.00%> (ø)
17.00 <0.00> (ø)

.../java/com/vonage/client/auth/hashutils/Hasher.java
100.00% <100.00%> (ø)
1.00 <1.00> (?)

...java/com/vonage/client/auth/hashutils/MD5Util.java
85.71% <100.00%> (ø)
5.00 <2.00> (?)

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@6cc58b1). Click here to learn what that means.
The diff coverage is 85.00%.

@@            Coverage Diff            @@
##             master     #341   +/-   ##
=========================================
  Coverage          ?   89.98%
  Complexity        ?     1451
=========================================
  Files             ?      252
  Lines             ?     3974
  Branches          ?      193
=========================================
  Hits              ?     3576
  Misses            ?      347
  Partials          ?       51

Impacted Files
Coverage Δ
Complexity Δ

...in/java/com/vonage/client/auth/RequestSigning.java
80.00% <75.00%> (ø)
19.00 <2.00> (?)

...a/com/vonage/client/auth/hashutils/SHA256Util.java
84.61% <84.61%> (ø)
5.00 <5.00> (?)

...ava/com/vonage/client/auth/hashutils/HashUtil.java
91.66% <91.66%> (ø)
4.00 <4.00> (?)

.../java/com/vonage/client/auth/hashutils/Hasher.java
100.00% <100.00%> (ø)
1.00 <1.00> (?)

...java/com/vonage/client/auth/hashutils/MD5Util.java
85.71% <100.00%> (ø)
5.00 <2.00> (?)

I can't seem to figure out how you would configure a VonageClient to use a different signature with these changes. The changes seem to be mostly internal. Should perhaps a HashUtil.HashType be configurable in the VonageClient.Builder?

I see what you mean. I'll change it up in the regard.

This will require another refactor though to get HMAC SHA256 added in for example since right now the secret key is just appended to the end of the string when for HMAC it should be passed in separately. Can probably do it as part of this PR but again not sure what the bounds of this is.

@slorello89 cool cool. I'll wait for the local testing and then do the remaining changes once everything is done there.

@sirNikolai - I had one more comment after my testing, the verifyRequest doesn't work for HMACs as they come in from Vonage in upper case, and the calculate method produces the HMAC in lower case, they ought to be case agnostic but this always worked with the md5 hash because it just so happens to come in as a lower-case 🙃. If you want to add the two extra methods (HMAC SHA-1- and I forgot we also have HMAC-MD5) that would be much appreciated, otherwise I think what you've provided is easy enough to adapt to the other methods

@slorello89 wish I had the capacity to do something less cheaty to lowercase, buuuuuuut if it'll work then so be it

Thanks! Hopefully this is trivial enough to extend if you enable more hashing types in the future.


Fix those damn unshovable mice

About the PR

Added MobDisarmFailChanceComponent and applied it to mice and flesh mobs as I felt these where the most common mobs that where shoved.
Why / Balance

Before the shove changes that caused all shoves to be a base of 25%, mice would be shoved over in one disarm attempt. This change fixes that to be garrenteed provied no other modifier is applied.
Technical details

Added a new server component called MobDisarmFailChanceComponent, this component allows for mobs to specifiy an additive modifier to being shoved, with negative values increasing odds and positive values decreasing them. Due to the way shoving mechanics are right now, this also modifies the amount of stamina damage a shove does.
Also adds the component to mice and flesh mob base, mice have a -1 modifier, bringing their normal shove chance to 100% (values past 100% are capped), while flesh mobs have a -0.25 modifier, making their shove chance 50%.
Media

https://github.com/space-wizards/space-station-14/assets/22885888/0b653d3e-67cf-476b-969e-5673b5951940

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl:

fix: Mice are now shovable again.

Wait, is this why I can barely push over rock mobs now?

Wait, is this why I can barely push over rock mobs now?

Not really, it's because strength (and thus mass) contests were removed, so disarms are now a constant 25% chance to deal 25 stamina damage as opposed to how it was with contests, where it was influenced by current damage, current stamina damage, and mass of both parties, the mass edge over mice/rock mobs leading to basically guaranteed high stamina damage disarms.

https://github.com/space-wizards/space-station-14/pull/25427 supercedes this, just change mob stamina if you really want.

i completely missed this oops


vim-grepper greps in current work dir of different tab

Perhaps since the fix to https://github.com/mhinz/vim-grepper/issues/189 , after opening Vim the following steps

Opening a file in a git repository
Setting the current work dir to the root of this git repository
Opening a new tab
Opening a file in a different git repository
Setting the current work dir to the root of this (different) git repository
Switching back to the first tab
Vim-greppering for a word

result in: only results of the git repository of the SECOND tab appear.
Expected: only results of the git repository of the FIRST tab appear.

Do you use :cd to switch the global directory? Then that behaviour is to be expected, since Grepper uses the current working directory by default.

Use :Grepper -dir repo,file.
Use :Grepper and then hit <c-d> to switch the -dir option on the fly.
Use :lcd (window-local) or :tcd (tab-local) to switch the directory in the second tab.

I am using, after installing vim-fugitive,
    autocmd BufRead,BufNewFile,BufFilePost *
            \ if !exists('g:SessionLoad') && exists(':Glcd') && isdirectory(expand('%:p:h')) |
            \   Glcd |
            \ endif

where Glcd indicates the use of :lcd.

Together with this autocmd I am using let g:grepper.dir = 'filecwd';  it used to work fine before.

When setting, as you proposed, let g:grepper.dir = 'repo,filecwd' the issue vanishes.

I couldn't reproduce that so far.
When you're back in tab 1, what's :pwd before :Grepper returns wrong results?

I am sorry my fault, to reproduce it you have to vim-grepper in the second tab, then switch to the first and vim-grepper in it; it will show the same results as in the first tab, despite its :pwd being different and grepper.dir = filecwd set.
Therefore the order is

Opening a file in a git repository
Setting the current work dir to the root of this git repository
Opening a new tab
Opening a file in a different git repository
Setting the current work dir to the root of this (different) git repository
Vim-greppering for a word
Switching back to the first tab
Vim-greppering for a word

which results in the same results as in the second tab being shown, despite grepper.dir=filecwd being set.

Okay, let's take a specific example. You may need to alter the paths, but let's use the fugitive repo for tab 1 and vim-grepper for tab 2:
" test.vim

edit ~/.vim/bundle/vim-fugitive/plugin/fugitive.vim
lcd ~/.vim/bundle/vim-fugitive/plugin

tabedit ~/.vim/bundle/vim-grepper/plugin/grepper.vim
lcd ~/.vim/bundle/vim-grepper/plugin

let g:grepper.dir = 'filecwd'

Grepper -tool git -noprompt -query file
" :Grepper is async. Give it a moment to collect matches and open qf window.
sleep 500m

tabprevious
Grepper -tool git -noprompt -query file

$ vim -S test.vim

Using this, I end up in tab 1, with the qf window showing fugitive.vim for the first matches. When I use gt to switch to the other tab, the path within the qf window stays relative (which is wrong, because :pwd is /Users/mhi/.vim/bundle/vim-grepper/plugin, but opening an entry still uses the absolute path and opens the right file. Nevertheless, it's a displaying bug).
But apart from that bug, everything seems to work as expected.
It also works if I remove both lcd lines, because of the g:grepper.dir = 'filecwd'. It's probably easier to see when adding -noqf to the :Grepper flags. Then the location list is used and both tabs show different matches opposed to the global quickfix window.
Did I miss something?

Okay, I can confirm that it is the autocmd
augroup epnFugitiveProjectRoot
    autocmd!
    autocmd BufRead,BufNewFile,BufFilePost *
            \ if !exists('g:SessionLoad') && exists(':Glcd') && isdirectory(expand('%:p:h')) |
            \   Glcd |
            \ endif
augroup END
silent doautocmd epnFugitiveProjectRoot BufReadPre,BufNewFile,BufFilePost

that causes the issue. For some reason, it will make grepper always switch back to the work dir where grepper was first invoked.
For some reason the lcd of the quickfix list remains that of this work dir.

Why do you think it's Grepper that switches to the wrong directory?
I tried this:
autocmd!
autocmd BufRead,BufNewFile,BufFilePost *
      \ if !exists('g:SessionLoad') && exists(':Glcd') && isdirectory(expand('%:p:h')) |
      \   echom 'Before: '. getcwd() | Glcd | echom ' After: '. getcwd() |
      \ endif

And got:
" second tab
Before: /Users/mhi/.vim/bundle/vim-grepper/plugin
 After: /Users/mhi/.vim/bundle/vim-grepper
" first tab
Before: /Users/mhi/.vim/bundle/vim-fugitive/plugin
 After: /Users/mhi/.vim/bundle/vim-grepper
" first tab (qf window)
Before: /Users/mhi/.vim/bundle/vim-fugitive/plugin
 After: /Users/mhi/.vim/bundle/vim-grepper

So it seems that :Glcd switches to the wrong directory.

Thank you, sorry for the noise unrelated to vim-grepper.
The autocmd should check if isdirectory(expand('%:p:h')) makes sense after all, in the quickfix window it does not, by an additional check:
    autocmd BufRead,BufNewFile,BufFilePost *
            \ if !exists('g:SessionLoad') && exists(':Glcd') && empty(&l:buftype) && isdirectory(expand('%:p:h')) |
            \   Glcd |
            \ endif

solves the issue.

Hmmmm, I'm not really sure how that solves the issue, but solved is solved, I guess. :-)

Yeah, it solves it in the sense that the bftype of quickfix window is nonempty, and there is no meaningful repo dir of a buffer that does not belong to a file, in particular, whose bftype is nonempty.


px-backup resources are considered during backup and successfully restored to destination cluster

Source application  cluster had px-backup installed in px-ns namespace.
Take a backup of px-ns namespace
Restore to destination cluster
we see all resources come up successfully  under px-ns of destination cluster
Service is accessible via UI
Able to add backup clusters from second cluster service
Backup cluster list is inconsistent .
Expected behaviour : px-backup resources should not be considered while creating a backup.
source cluster

destination cluster

Case ID: #CS0388645

Closing the issue based on the solution provided by Kshithij over slack.

@trenukarya-px  Can we have it documented properly on the impact if a user tries to backup namespace which has   px resources installed .


chore(master): release 1.1.266

:robot: I have created a release beep boop
1.1.266 (2024-01-24)
Bug Fixes

deps: update dependency alpinejs to v3.13.5 (8dc02de)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wayofdev/keywind/releases/tag/v1.1.266 :sunflower: