REQUEST: New membership for chaosi-zju

GitHub Username
@chaosi-zju
Requirements

[X] I have reviewed the community membership guidelines
[X] I have enabled 2FA on my GitHub account
[X] I have subscribed to the Karmada mailing list
[X] I am actively contributing to 1 or more Karmada subprojects
[X] I have two sponsors that meet the sponsor requirements listed in the community membership guidelines
[X] I have spoken to my sponsors ahead of this application, and they have agreed to sponsor my application
[X] I have verified that my sponsors are from different member companies
[X] I have verified that my sponsors are a reviewer or an approver in at least one OWNERS file within one of the Karmada GitHub organizations

Sponsor 1
@whitewindmills
Sponsor 2
@Garrybest
Sponsor 3
@yike21
Sponsor 4
@carlory
List of contributions to the Karmada project
PRs authored:

https://github.com/karmada-io/karmada/pull/3990
https://github.com/karmada-io/karmada/pull/3682
https://github.com/karmada-io/karmada/pull/3780
https://github.com/karmada-io/website/pull/420
https://github.com/karmada-io/website/pull/426
https://github.com/karmada-io/karmada/pull/3821
https://github.com/karmada-io/karmada/pull/3838
https://github.com/karmada-io/website/pull/431
https://github.com/karmada-io/karmada/pull/3909
https://github.com/karmada-io/karmada/pull/3911
https://github.com/karmada-io/karmada/pull/3931
https://github.com/karmada-io/karmada/pull/3978
https://github.com/karmada-io/karmada/pull/3699
https://github.com/karmada-io/karmada/pull/3859

Issues authored:

https://github.com/karmada-io/karmada/issues/3824
https://github.com/karmada-io/karmada/issues/3825
https://github.com/karmada-io/karmada/issues/3905
https://github.com/karmada-io/karmada/issues/3912
https://github.com/karmada-io/karmada/issues/3982
https://github.com/karmada-io/karmada/issues/4001
https://github.com/karmada-io/karmada/issues/4005

Issues responsed:

https://github.com/karmada-io/karmada/issues/3667
https://github.com/karmada-io/karmada/issues/3892
https://github.com/karmada-io/karmada/issues/3857
https://github.com/karmada-io/karmada/issues/3771
https://github.com/karmada-io/website/issues/411
https://github.com/karmada-io/karmada/issues/3772
https://github.com/karmada-io/karmada/issues/1545
https://github.com/karmada-io/karmada/issues/3935
https://github.com/karmada-io/karmada/issues/3571
https://github.com/karmada-io/karmada/issues/3971
https://github.com/karmada-io/karmada/issues/3962
https://github.com/karmada-io/karmada/issues/3973
https://github.com/karmada-io/karmada/issues/3866

PR responsed:

https://github.com/karmada-io/karmada/pull/3898
https://github.com/karmada-io/karmada/pull/3638
https://github.com/karmada-io/karmada/pull/3614
https://github.com/karmada-io/karmada/pull/3810
https://github.com/karmada-io/karmada/pull/3891
https://github.com/karmada-io/karmada/pull/2207
https://github.com/karmada-io/karmada/pull/3992
https://github.com/karmada-io/karmada/pull/3955

:+1: welcome

+1

/assign @kevin-wangzefeng

+1 welcome!

+1

kindly ping @kevin-wangzefeng, thanks~

/close

Thank you very much, I havev accepted and joined~ （づ￣3￣）づ


Is there a way to track API calls in react native app?

Hi team, I need to know can we track API calls in react native app. @ibradwan

Any update? @ibradwan @msftgits

You mean tracking all HTTP calls coming out of the application? If yes, then that's not supported yet, we've received multiple feature requests for this particular one, so hopefully we'll get a chance to pick it up soon.

Yeah, I mean tracking all HTTP calls. Thanks for the update.

Looking for the same.


Test result is weird

After the below testing command, I got the evaluation but it's very different from your paper.
"python ./main/test.py --cfg ./asset/yaml/gator_cocoJ_test_human36_coco_muco_det.yml --gpu 0"
Is there something I am missing?
This is the evaluation result I got.
===> Start testing...
(550/555) => surface error: 359.7289, joint error: 297.4987: 100%|█| 555/555 [00
MPVPE: 339.34, MPJPE: 293.37
Evaluation start...
H36M MPJPE (mm)    >> tot: 293.36
H36M PA-MPJPE (mm) >> tot: 127.48
SMPL MPJPE (mm)    >> tot: 259.53
MPVPE (mm)         >> tot: 329.88

I tested it again and it's correct. Did you load the weight './results/3dpw_det.pth.tar'? Could you please provide the test log?

I see. I have uploaded the previous annotation file of 3DPW here and changed the counterpart in README.


[bug] logs websocket misbehaving

Just noticed something very interesting on my prod embassy. Depending on what service I'm looking at, a varying number of logs are returned over the websocket in the initial request. It should always be 400.
Because if anything less than 400 is returned, the FE will think it has reached the end of the log stream and disengage backwards scrolling. The result ATM is that I can only see ~300 logs for Bitcoin/electrs/etc. However, LND returns the full 400, so I can scroll back and see more. Is it possible the logs are being deleted for certain services, or that the logs websocket is unreliable?
I think it's the latter. Each time I request Bitcoin logs, a different number of websocket messages are produced, ranging from 280 (lowest I've seen) to 333 (highest I've seen).

After further investigation, there appears to be no issues with the endpoint or websocket. It seems we just are not keeping many logs for certain services. Likely a result of a limitation inherent in the way we designed logs to only keep a certain number system wide. If so, that needs to be re-thought such that one log-heavy service does not starve out all other services

Should be solved


Upgrade should be avoided when git isn't available

I copy my .oh-my-zsh directory (and .zshrc) to multiple production servers without development tools, therefore no git installation.  The request to update is foolish, as it wouldn't work.
I propose a change to tools/check_for_upgrade.sh to look for git, and give up if it's not found.

index 5afd83c..c3b376d 100644
--- a/tools/check_for_upgrade.sh
+++ b/tools/check_for_upgrade.sh
@@ -26,6 +26,9 @@ fi
oh-my-zsh directory.
[[ -w "$ZSH" ]] || return 0
+# Cancel upgrade if no git command is available on this system.
+whence git >/dev/null || return 0
+
if [ -f ~/.zsh-update ]
then
. ~/.zsh-update

index 5afd83c..c3b376d 100644
--- a/tools/check_for_upgrade.sh
+++ b/tools/check_for_upgrade.sh
@@ -26,6 +26,9 @@ fi
oh-my-zsh directory.
[[ -w "$ZSH" ]] || return 0
+# Cancel upgrade if no git command is available on this system.
+whence git >/dev/null || return 0
+
if [ -f ~/.zsh-update ]
then
. ~/.zsh-update

Can you submit a pull-request?

For your production servers, I would recommend toggling the following in the .zshrc file to avoid this entirely
DISABLE_AUTO_UPDATE="true"
https://github.com/robbyrussell/oh-my-zsh/blob/master/templates/zshrc.zsh-template#L18

On Oct 16, 2015, at 11:34 , Robby Russell<EMAIL_ADDRESS>wrote:
Can you submit a pull-request?

I tried, but the closest I could get was a pull request with other grot in it.  I’m only moderately skilled with git, and minimally skilled with git hub and pull requests.
If you’d like me to, even after your alternate suggestion, let me know and I will do so.  (And if you know how to make the pull request be only the one commit I want, instead of the 4 commits it seems to try, including an add, remove, re-add and another file I don’t want  you to pull, that would be great too.  :-) )
Thanks!
            - Chris

I created a pull request, since I didn't notice that someone else also did.  Oh well.
  But it is a reasonable middle-ground, as I don't change my .zshrc often.

Thanks, Cross. There is a pending pull-request awaiting testers on #4505


Gradle sync fails using 1.2.0

If I try to use version 1.2.0, gradle sync fails every time.
Downgrading to 1.1.1 get's it working again.
Unfortunately Android Studio is not telling me what the problem is at all.

Looks like update was not pushed to Maven repository, so it is not available for Gradle/Maven yet.

I published the 1.2.1,
sorry for the upload


How can I use this to see if a point is contained in a large geoJSON file without resorting to inefficient linear search?

Uh, totally missed this.
This library by itself is just a GeoJSON parser. However, https://github.com/maparoni/GeoJSONKit-Turf builds on this and exposes various tools to facilitate what you're looking for:

Simplifying a GeoJSON
Creating a ConvexHull
Polygon contains check

Say, Maparoni allows you to get the country for a dropped pin. It does this by:

Pre-processing a very large GeoJSON with polygons of every country by extracting bounding boxes and convex hulls
For every country, first check the bounding box, then the convex hull, then lastly the detailed polygon for the contains check

This is fast in my testing, e.g., checking the GeoNames database of over 20k cities taking just under 4s on my laptop, including the preprocessing.


API 1.4: file.commit_modified doesn't exist

In 1.3, I can get the commit in which a file was last modified; there isn't really any way to get that info in 1.4. I had been using this to show the history of a file, which seems like a useful feature

I'm currently doing this in the dash by traversing the commit history and finding the first commit where a particular file hash appears, but this is pretty horribly inefficient, requires code that i shouldn't really have to maintain, and it seems silly that this info isn't available from the CLI
from discussion with @msteffen : this is doable, but will require a migration to generate this info for all past files in all past commits

stale

re-requested in https://github.com/pachyderm/pachyderm/issues/2065#issuecomment-397159072

solve this by adding a --history [n] flag to ListFile. More details in https://github.com/pachyderm/pachyderm/pull/3277#issuecomment-446751226

This is now implemented with the --history flag


kernel: Enable Real time clock for Arm64

Without Real time clock the "date" could not work properly for Arm64.
fixes: #238
Signed-off-by: Wei Chen<EMAIL_ADDRESS>

This PR will unblock these two PRs:
https://github.com/kata-containers/tests/pull/868
https://github.com/kata-containers/tests/pull/882
@jodh-intel @grahamwhaley @Pennyzct @marcov

Thanks @Weichen81, @Pennyzct  for the fix, lgtm
/test


Laravel 6.0 Shift

This pull request includes the changes for upgrading to Laravel 6.0. Feel free to commit any additional changes to the shift-18196 branch.
Before merging, you should:

Checkout the shift-18196 branch
Review all pull request comments for additional changes
Update your dependencies for Laravel 6.0
Run composer update (if the scripts fail, add --no-scripts)
Thoroughly test your application (no tests?)

If you want help with your upgrade, check out the Shift Human Services or join the Shifty Coders Slack room to get answers to all your Laravel questions.

:warning: Shift defaulted the following configuration files. This was done in the Default config files commit so you may easily review and backfill any of your customizations.

[ ] config/broadcasting.php
[ ] config/cache.php
[ ] config/database.php
[ ] config/filesystems.php
[ ] config/mail.php
[ ] config/queue.php
[ ] config/services.php

:information_source: Laravel 6.0 changed the default Redis client from predis to phpredis. You may keep using predis by setting REDIS_CLIENT=predis for your environment. However, if possible, consider switching to phpredis to gain the performance of the PHP extension and increased community support.

:x: Laravel 6.0 has a development dependency for phpunit/phpunit of ^8.0. You have a modified dependency for phpunit/phpunit in your composer.json. You should review your dependency and ensure it meets the new version requirement.

:x: Laravel 6.0 has a development dependency for nunomaduro/collision of ^3.0. You have a modified dependency for nunomaduro/collision in your composer.json. You should review your dependency and ensure it meets the new version requirement.

:information_source: The Eloquent model's toArray() method will now cast any attributes that implement Illuminate\Contracts\Support\Arrayable to an array. While unlikely to impact your application, this change could effect code which relies upon the previous data type or output.

:information_source: Laravel 6.0 made performance optimizations for integer key types. If you are using a string as your model's primary key, you may set the $keyType property on your model.
/**
 * The "type" of the primary key ID.
 *
 * @var string
 */
protected $keyType = 'string';

:information_source: The mandrill and sparkpost mail drivers, as well as the rackspace storage driver were removed in Laravel 6.0. If you were using these drivers, you may adopt a community maintained package which provides the driver.

:information_source: Previous versions of Laravel would use parameters passed to the route() helper as URI values even if the parameter had no matching placeholder within the route path. In Laravel 6.0, these values are attached to the query string instead.
If you notice a route behaving in this way, it's likely the route parameter key and route placeholder name mismatch.

:information_source: Shift detected you are using a Laravel package which has its own assets or views which may need to be regenerated after upgrading. Be sure to use artisan to publish these as well as php artisan view:clear to avoid any errors.

:information_source: Previous versions of Laravel would retry jobs indefinitely. Beginning with Laravel 6.0, the php artisan queue:work now tries a job one time by default. If you want to force jobs to be tried indefinitely, you may pass the --tries=0 option.

:tada: Congratulations, you're now running the latest version of Laravel.
The following Shifts can ensure your app is fully upgraded and following the practices recommended by Laravel and the community:

Laravel Linter analyzes your codebase for potential opportunities to do things "The Laravel Way".
Laravel Fixer automates many of the suggestions found by the Linter and other Shifts.
Upgrade Checker ensures your application is fully upgraded by detecting any outdated code.

In addition, stay upgraded forever as well as run these Shifts by subscribing to one of the new Shifty Plans.

This is on hold as subfission/cas does not support Laravel 6 yet

I'm merging despite StyleCI since StyleCI's config changed. I'll put that in a separate PR.


Fix initializer deprecation

http://emberjs.com/deprecations/v1.x/#toc_access-to-instances-in-initializers

+1


OpenMP 5.1 tile construct

In OpenMP 5.1 the tile construct for loops was introduced to allow loop tiling. The structure is a bit different from OpenACC and not all compilers support it until now. Some implementation exist.
OpenACC:
!$acc parallel loop tile(BLOCK1,BLOCK2) independent
do j = 1, n
  do i = 1, n
    do k = 1, n
      c(i,j) = c(i,j)+a(i,k)*b(k,j)
    end do
  end do
end do

OpenMP:
!$omp target teams loop
!$omp tile sizes(BLOCK1,BLOCK2)
do j = 1, n
  do i = 1, n
    do k = 1, n
      c(i,j) = c(i,j)+a(i,k)*b(k,j)
    end do
  end do
end do
!$omp end tile
!$omp end target teams loop

Is it possible to add the functionality for better and easier migration?

Working on this. Will come back to you when I have some feedback.

BTW -- just tested in our compilers. The tile construct currently works in ICPX but fails in IFX. I have filed a ticket to our compiler teams so that they take a look at it.

Thank for reporting the issue to your compiler team. I reported this issue (https://community.intel.com/t5/Intel-Fortran-Compiler/Internal-Compiler-Error-with-OpenMP-Offloading-and-loop-tiling/td-p/1600780) some weeks ago but didn't received any update on it yet.

@Lyphion -- I've been told that the tile issue you reported will be fixed in 2025.0

Okey, thanks for the info

Will work on the tile translation in the following days when I have an internal nightly compiler that I can test it.


Enable direct NPM install from github

Release number or git hash: 53b52eb (latest on taggle branch)
Web browser version and OS: NA
Environment (local or deployed): Docker

Steps to reproduce
Since there's a package.json at the top level, I think we should be able to npm install from github?
Dockerfile:
FROM python:3.6.3
# TODO: Use Node base image. Getting an error right now:
# Step 1/5 : FROM node:9.7.1 AS build
# Get https://registry-1.docker.io/v2/library/node/manifests/9.7.1: unauthorized: incorrect username or password
# .... but this isn't the problem I'm filing this issue for: Just ignore.

RUN apt-get update && \
    apt-get install -y npm

# Pick another github npm project at random to demonstrate that it works:
RUN npm install toddmotto/angular-component
# But this doesn't:
RUN npm install caleydo/lineup\#53b52eb

produces:
npm WARN package.json<EMAIL_ADDRESS>No repository field.
npm WARN engine<EMAIL_ADDRESS>wanted: {"npm":">= 3","node":">= 6","iojs":">= 3"} (current: {"node":"0.10.29","npm":"1.4.21"})
npm ERR! 404 Not Found
npm ERR! 404
npm ERR! 404 'types/file-saver' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it
npm ERR! 404 It was specified as a dependency of 'lineup'
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, or http url, or git url.

npm ERR! System Linux 4.9.49-moby
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "caleydo/lineup#53b52eb"
npm ERR! cwd /
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.21
npm ERR! code E404
npm ERR! git clone git@github.com:github:Caleydo/lineupjs Cloning into bare repository '/root/.npm/_git-remotes/git-github-com-github-Caleydo-lineupjs-167d2368'...
npm ERR! git clone git@github.com:github:Caleydo/lineupjs Host key verification failed.
npm ERR! git clone git@github.com:github:Caleydo/lineupjs fatal: Could not read from remote repository.
npm ERR! git clone git@github.com:github:Caleydo/lineupjs
npm ERR! git clone git@github.com:github:Caleydo/lineupjs Please make sure you have the correct access rights
npm ERR! git clone git@github.com:github:Caleydo/lineupjs and the repository exists.
npm ERR! git clone git@github.com:github:phovea/phovea_core Cloning into bare repository '/root/.npm/_git-remotes/git-github-com-github-phovea-phovea-core-4c7d6d73'...
npm ERR! git clone git@github.com:github:phovea/phovea_core Host key verification failed.
npm ERR! git clone git@github.com:github:phovea/phovea_core fatal: Could not read from remote repository.
npm ERR! git clone git@github.com:github:phovea/phovea_core
npm ERR! git clone git@github.com:github:phovea/phovea_core Please make sure you have the correct access rights
npm ERR! git clone git@github.com:github:phovea/phovea_core and the repository exists.
npm ERR! git clone git@github.com:github:phovea/phovea_ui Cloning into bare repository '/root/.npm/_git-remotes/git-github-com-github-phovea-phovea-ui-b9a6620b'...
npm ERR! git clone git@github.com:github:phovea/phovea_ui Host key verification failed.
npm ERR! git clone git@github.com:github:phovea/phovea_ui fatal: Could not read from remote repository.
npm ERR! git clone git@github.com:github:phovea/phovea_ui
npm ERR! git clone git@github.com:github:phovea/phovea_ui Please make sure you have the correct access rights
npm ERR! git clone git@github.com:github:phovea/phovea_ui and the repository exists.
npm ERR! git clone git@github.com:github:phovea/phovea_importer Cloning into bare repository '/root/.npm/_git-remotes/git-github-com-github-phovea-phovea-importer-899439f9'...
npm ERR! git clone git@github.com:github:phovea/phovea_importer Host key verification failed.
npm ERR! git clone git@github.com:github:phovea/phovea_importer fatal: Could not read from remote repository.
npm ERR! git clone git@github.com:github:phovea/phovea_importer
npm ERR! git clone git@github.com:github:phovea/phovea_importer Please make sure you have the correct access rights
npm ERR! git clone git@github.com:github:phovea/phovea_importer and the repository exists.
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /npm-debug.log
npm ERR! not ok code 0

Expected behavior

npm install caleydo/lineup#taggle has no errors.

This app is not meant to be included as dependency, but must be cloned from the repository.


file editor for filemin

One of the nice features of the file manager is its file editor, very handy for small fixes and testing, there seem to be several available with GPL licensing.

There is file editor, what is missing from your point of view?

I'm missing the posibility to search in the editor.

Ilya implemented this under Authentic, simply press Ctrl + F.
Under other themes you can user your browser's search functionality by simply pressing Ctrl + F too.
Note that in both cases editor textarea must be focused, click on it to make sure it is.

..and to search further (to get next match) just click Ctrl+G


Immutable JS Integration

There aren't any type definitions in DefinitelyTyped for this. There is a fork that has them, but since the developer hasn't provided tests, it's unlikely to get merged in soon.
https://github.com/umidbekkarimov/DefinitelyTyped/blob/b97976d391e42de9fbd341906120418c4b527900/immutable/immutable.d.ts

Immutablejs has definitions in its own repo: https://github.com/facebook/immutable-js/tree/master/type-definitions


[zh] sync /services-networking/service.md

Sync with en #38279 . See preview.
content/zh-cn/docs/concepts/services-networking/service.md

/lgtm
/approve


[SQL][HIVE] Correct an assert message in function makeRDDForTable

What changes were proposed in this pull request?
according to the context, "makeRDDForTablePartitions" in assert message should be "makeRDDForPartitionedTable", because "makeRDDForTablePartitions" does't exist in spark code.
How was this patch tested?
unit tests
Please review http://spark.apache.org/contributing.html before opening a pull request.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

ok to test

test this please

retest this please

Test build #93427 has started for PR 21836 at commit 6a0f729.

Test build #93427 has finished for PR 21836 at commit 6a0f729.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

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

Merged build finished. Test FAILed.

test this please

Test build #93432 has started for PR 21836 at commit 085ffdb.

Test build #93432 has finished for PR 21836 at commit 085ffdb.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

I'm sorry for the scala style checks failure, i will read scala style guide doc again.

retest this please

Test build #93434 has started for PR 21836 at commit 7dc889b.

Test build #93434 has finished for PR 21836 at commit 7dc889b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

Merged to master and branch-2.3.


[$1000] Infinite loading on Invite members page after refresh

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to Settings > Workspaces
Select any workspace
Go to Members > Invite
Refresh website

Expected Result:
Show contacts list to invite
Actual Result:
Show skeleton forever
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.38-2
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/eff169d7-15e0-4b0c-8029-0b13183cf0fc

Expensify/Expensify Issue URL:
Issue reported by: @situchan
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1688833373673129
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0160eb205488d8fcdd
Upwork Job ID:<PHONE_NUMBER>892730368
Last Price Increase: 2023-08-14

I'm not able to reproduce this one.

This is still reproducible to everyone.
@muttmuure if you're not able to reproduce, can you please ask another BZ member internally?

@Santhosh-Sellavel if you are able to take a look here that would be great

Proposal
Please re-state the problem that we are trying to solve in this issue.
Infinite loading on Invite members page after refresh
What is the root cause of that problem?
When we navigate using the URL there is no transitionEnd event occurs because it's already happened and we're registering ht listener after the event passed which is the reason for the state didScreenTransitionEnd not to update.
Because of didScreenTransitionEnd value is still false and the line here https://github.com/Expensify/App/blob/1e3f952574e2bbff9566c86c686a0589a5063a55/src/pages/workspace/WorkspaceInvitePage.js#L226 shows the loader infinitely/till didScreenTransitionEnd becomes true.
What changes do you think we should make in order to solve the problem?
As followed up the RCA transitionEnd event is occurring but we're capturing it anywhere.
If we can capture it we can solve this issue. We can do this by using the following changes in codebase.

Add listeners to the navigation/navigation screens here in https://github.com/Expensify/App/blob/ed2c287daf6a1d59f4f43a9bfc84128597575730/src/libs/Navigation/AppNavigator/ModalStackNavigators.js#L22 this component like and create a new ONYX key to track the transition state.

    <ModalStackNavigator.Screen
    ....
    listeners={() => ({
        transitionEnd: () => {
            // eslint-disable-next-line rulesdir/prefer-actions-set-data
            Onyx.set(ONYXKEYS.TRANSITION_END, true);
        },
    })}

Using the above change we can track the transitionEnd event and we're setting the onyxKey to true.

Reset the Onyx Key whenever there is a change in the navigation state. Here in this object https://github.com/Expensify/App/blob/ed2c287daf6a1d59f4f43a9bfc84128597575730/src/libs/Navigation/AppNavigator/ModalStackNavigators.js#L7-L11 we need to add a new listeners property which reset the onyx key.

listeners: {
        state: () => {
            Onyx.set(ONYXKEYS.TRANSITION_END,false)
        }
    }

Track this Onyx key inside ScreenWrapper component and use componentDidUpdate to run the logic for variables and function calls.
https://github.com/Expensify/App/blob/ed2c287daf6a1d59f4f43a9bfc84128597575730/src/components/ScreenWrapper/index.js#L155

withOnyx({
        completed: {
            key: ONYXKEYS.TRANSITION_END,
        },
    }),

and
componentDidUpdate() {
        if (!this.props.completed) return;
        this.setState({didScreenTransitionEnd: true});
        this.props.onEntryTransitionEnd();
    }

This also solves focus issue with TaskTitle page mentioned here #22850. Not able to re-produce on new or staging but was able re-produce it in dev.

This doesn't break when the members are high/in high-traffic account.

What alternative solutions did you explore? (Optional)
NA
Result
https://github.com/Expensify/App/assets/59088937/9a855c5f-79d8-4a5f-8816-dd3f8af407b0
https://github.com/Expensify/App/assets/59088937/3a515d02-d744-47d8-ba29-f6e066e72cf1

Unable to reproduce this on Main & Staging.
https://github.com/Expensify/App/assets/85645967/7a107ab6-3cdf-4a9e-ad7b-4624161a2632
@aimane-chnaif

This is constantly reproducible to me

Do you see any logs or any response errors

@Santhosh-Sellavel Please un-install/move to trash the expensify app. Because of that (this happens before the page fully load) and after closing the popup website is getting focus. You can re-produce it local dev environment or for a moment delete the desktop app.

@Santhosh-Sellavel Please uninstall/move to trash the expensify app. Because of that (this happens before the page fully load) and after closing the popup website is getting focus. You can re-produce it local dev environment or for a moment delete the desktop app.

@aimane-chnaif  Is this ☝  relevant here?

What version of chrome you are using?

@situchan Can you reproduce this issue still?

@Santhosh-Sellavel it's not relevant bug... because of that RCA is breaking, that's all.

@situchan Can you reproduce this issue still?

yes still

@b4s36t4

When we navigate using the URL there is no transitionEnd event occurs because it's already happened and we're registering the listener after the event passed which is the reason for the state didScreenTransitionEnd not to update.

If that's the case, I'm not sure how its loading here
https://github.com/Expensify/App/assets/85645967/e1cd5f18-ae12-4f15-b269-4a0d3acdb2ac

@situchan Can you reproduce this issue still?

yes still

@situchan Can you confirm like @aimane-chnaif did here
Also what version of chrome are you using?

Strange. I reproduced on staging when I report this. But not able to reproduce.
Still 100$ reproducible on localhost
https://github.com/Expensify/App/assets/108292595/25785cb6-2dd7-4f62-b827-59a5871d6880

I'm not able re-produce it in staging or new... but able to in dev.
https://github.com/Expensify/App/assets/59088937/6dee7d60-69fa-48b8-b407-afc449d2cb49.
Even this https://github.com/Expensify/App/issues/22850. issue is also not re-produceable on staging or new.

https://github.com/Expensify/App/assets/59088937/336ad3ff-14bd-4956-b500-483d32a39fe5

If we can't reproduce this on staging or prod I will close for now so we can focus on other bugs.

Issue reproducible on the latest build 1.4.11-1

Do we have any proposals after reopening the issue?
I'm seeing a blank list invite page after refresh, @lanitochka17 can you confirm this one, I'm not seeing skeleton also

@Santhosh-Sellavel @bernhardoj has made a proposal here!

Proposal
Please re-state the problem that we are trying to solve in this issue.

Infinite loading on Invite members page after refresh

What is the root cause of that problem?

After reloading the page, the didScreenTransitionEnd bellow:
https://github.com/Expensify/App/blob/eb5f3791d010465c60a259027bd4ca6620792f7d/src/pages/workspace/WorkspaceInvitePage.js#L271
is still false because if we reload the page, there is no event "transitionEnd" triggered.
https://github.com/Expensify/App/blob/798deda1a58c0be7579e5042f745566af58e384f/src/components/ScreenWrapper/index.js#L81-L89

What changes do you think we should make in order to solve the problem?

We can still use the didScreenTransitionEnd, but it is from isScreenTransitionEnded in here

Not overdue

Thanks @bernhardoj for pointing out, that this seems to be a regression from the PR of the issue which is in the regression period & will be addressed by them!

This bug is still reproducible in latest version (v1.4.22-3)
The root cause was not fixed yet in any of the PRs.
https://github.com/Expensify/App/assets/108292595/4ee8961a-c0a2-4b9a-85a3-995b41f6c4d6

This is still reproducible.
@Santhosh-Sellavel is OOO this week (https://expensify.slack.com/archives/C02NK2DQWUX/p1706377711208419)
I can take over and push this forward if needed.
cc: @muttmuure

This was waiting for regression handling as mentioned here, the issue is not reproducible for me.
https://github.com/Expensify/App/assets/85645967/31ede658-737c-4194-aaec-00e50a38c16e

The root cause is not fixed yet. Still reproducible to me
https://github.com/Expensify/App/assets/108292595/63a61162-b8d4-47a3-be50-71f29625f465

The root cause is not fixed yet. Still reproducible to me

Please write a clear step on how to reproduce this one, and elaborate more about what's the root cause here.

Repro step is same as OP.
https://github.com/Expensify/App/assets/108292595/28d46850-a577-42b7-a8d1-f8b9cad1f5b3
The root cause is explained in @tienifr's RCA in their proposal
The interesting thing is that transitionEnd is randomly triggered after refresh page.
When triggered, bug not reproducible.
When not triggered, bug reproducible.
So the original root cause is in react-navigation.

I can reproduce it on production sometimes. But on dev, I can no longer reproduce this
https://github.com/Expensify/App/assets/85645967/50cdeeb8-7430-40af-84e3-05fbeca72164

This is reproducible on the task page for me. You can read the root cause on my proposal
I still prefer my main solution

We have two proposals so far, but looking for more options. Both seem like work-around

The interesting thing is that transitionEnd is randomly triggered after refresh page.
When triggered, bug not reproducible.
When not triggered, bug reproducible.
So the original root cause is in react-navigation.

Need to find the reason behind the randomness, fix it properly

@Santhosh-Sellavel have you read my proposal? It's well explained the root cause.

For ease of scrollback, the proposal is here.

Since you have more context @situchan please take over this as C+ if you have bandwidth.
Unassigning due to low bandwidth.
cc: @muttmuure Please assign @situchan or assign a new C+ here, thanks!

Sure I can take over. Thanks

@bernhardoj you mean the root cause is in Onyx, nothing related to react-navigation?
And your solution is to add initialValue: true here, right?

you mean the root cause is in Onyx, nothing related to react-navigation?

Correct.

And your solution is to add initialValue: true here, right?

For the workspace invite page, yes. For the task assignee selector page, we need to set the default value (empty object) of the task here.

@bernhardoj still reproducible after applying your solution
https://github.com/Expensify/App/assets/108292595/f74adddb-9ba9-4880-9780-af25072ce6c7

@tienifr can you please share your test branch?

@situchan oh, please add a default value (empty object) for this onyx data too
https://github.com/Expensify/App/blob/9bfe961622d03de5ac8e18652bbb56dda5ed9f60/src/pages/workspace/WorkspaceInvitePage.tsx#L350-L352
https://github.com/Expensify/App/blob/9bfe961622d03de5ac8e18652bbb56dda5ed9f60/src/pages/workspace/withPolicy.tsx#L142-L147

Not overdue

Awaiting proposals

Oh, I didn't realize you were asking for a test branch. Here is the test branch: https://github.com/bernhardoj/Expensify/tree/fix/22508-infinite-loading-invite-page
Fixed for WS & room invite page and task assignee selector page.

@bernhardoj thanks. The root cause is correct. I am still testing your solution to find any regressions.
Btw, how about moving this code to parent HOC?
https://github.com/Expensify/App/blob/ff961e46e22740813177d58d1e462cd9b875d6b2/src/pages/workspace/WorkspaceInvitePage.tsx#L89-L99
This is regression-free and fixes the root cause

oh, do you mean we create a new HOC to specifically listen for transitionEnd?

yes

That's a good idea. I will try it first.

or withPolicyAndFullscreenLoading if applicable

I think it will still have the same issue because it is wrapped with onyx. I think creating a new one will make it reusable too as we will use it on 3 pages.

It works well, here is another test branch for the HOC approach:
https://github.com/bernhardoj/Expensify/tree/fix/22508-infinite-loading-invite-page-2

It works well, here is another test branch for the HOC approach: https://github.com/bernhardoj/Expensify/tree/fix/22508-infinite-loading-invite-page-2

Please update your proposal so add it to your alternative solution

Updated the proposal to include the HOC approach.

@bernhardoj's proposal (first alternative) of introducing dedicated HOC looks good to me.
🎀 👀 🎀 C+ reviewed

Thanks for the work here, assigning @bernhardoj

PR is ready
cc: @situchan

I don't think we need a regression test for this one, what do you think @bernhardoj @situchan ?

@bernhardoj paid, @situchan offer sent

Can we close this one then?

Still waiting for @situchan to accept the offer https://www.upwork.com/nx/wm/offer/101907756

@situchan is OOO https://expensify.slack.com/archives/C02NK2DQWUX/p1711774859535809

Waiting for @situchan to accept the offer

Sorry for late. Accepted

@muttmuure moving back to daily since @situchan is back

Paid up


Can download types be filtered?

For example, downloading all files except for PSD format

Add support for filename allow-list/block-list to filter downloaded files.

Use Unix shell-style wildcards
Edit KTOOLBOX_JOB__ALLOW_LIST, KTOOLBOX_JOB__BLOCK_LIST in prod.env or environment variables to set this option
📖More information: Configuration-Reference-JobConfiguration# Only download files that match these pattern
KTOOLBOX_JOB__ALLOW_LIST=["*.jpg","*.jpeg","*.png"]

# Not to download files that match these pattern
KTOOLBOX_JOB__BLOCK_LIST=["*.psd"]


Where to store the actual "State" variable with JEDI and Atlas?

@travissluka  I posted the following issue to at JCSDA/JEDI, I thought it would be good to post it here as well.
I am trying to use JEDI (and ECMWF/atlas) to implement the 3D-Var algorithm for SST data assimilation. The State and Observation will involve only one variable of SST. I have implemented my own "Geometry" class and now I am implementing the "State" class, which has a data member of "Geoemtry" object "boost::shared_ptr geom_;". I got confused here about where to store the actual "State" (i.e. background) SST variable.
My "Geometry" class has usual members of
"std::unique_ptratlas::functionspace::StructuredColumns atlasFunctionSpace_;" and "std::unique_ptratlas::FieldSet atlasFieldSet_;"
My understanding is that, atlasFieldSet_ is where we actually store the "State" or Field (in my case SST) variables, these fields are created by "atlasFunctionSpace_->createField(...)" function. So when I try to implement those member functions of class "State", e.g.
"void zero();"
"double norm() const;"
"void accumul(const double &, const State &);"
"void read(const eckit::Configuration &);"
I actually need to operate on the "geom_->atlasFieldSet_". Am I right? What is the standard structure to do this? I could not find much helpful examples or documents.
What's confusing me is that for the models "oops/qg" and "oops/l95", whose "State" classes both have a member that is similar to "FieldSet" (e.g. in qg model, it has "std::unique_ptr fields_;"), in which it contains an object of "Geometry" class. Should I also implement such FieldsQG class?
@travissluka , Please take a look. Thanks,

Geometry should only contain information related to the grid (i.e. latitude and longitude), and so it should only have the atlasFunctionSpace, the empty atlasFieldSet shouldn't be there (sorry, i guess I wasn't paying close enough attention during your last PR.
The State class is where the SST will be stored, so it should be the one containing atlasFieldSet. State will also need to save a pointer to Geometry for use in such things as creating the fields.

@travissluka That makes sense. The reason I did so was that in oop/qg model, the GeometryQG class has both data members of atlasFieldSet_ and atlasFunctionSpace_. But in its StateQG class it has the data member of "std::unique_ptr fields_", i.e. it implemented another class FieldsQG to store the actual data (so as in SOCA as I just checked). The whole QG model does not actually use the Geometry::atlasFieldSet_ (which only appears in the constructors), so that caused my confusion.
In you previous "class implementation order for JEDI.docx", you mentioned for class State we just started to switch to use ATLAS library. You actually meant, unlike the above oops/qg and SOCA models which define and use their own "FieldsQG" class, we are trying to use directly the atlas::FieldSet class to store the data, right? This would clarify for me.
If so, what I need to do next is to use class interfaces of atlas::FieldSet (and atlas::Field) to implement the State class member functions e.g. State::accumul() and State::read(...), which I have already started.

@loganchen39 correct, we won't be creating our own Fields class the way soca or qg do it, but will have the atlas::FieldSet as a member of the State class.
If you want, if you push your branches to github as you're working, I can check on it every now and then to make sure things are on the right track

@travissluka Thanks, I'll ask when I have questions.

@travissluka I implemented part of the class State, and have pushed to branch "develop_chen", can you take a look if there's any problem? The files to check is State.h, State.cc, Geometry.h and Geometry.cc. Thanks. Meanwhile I'll keep implementing the class State.

@travissluka Also for class Increment, currently there's no place to store the real increment data. Should we also add a private member of "std::shared_ptratlas::FieldSet atlasFieldSet_;"? I am trying to implement the function "State & State::operator+=(const Increment & dx)".

@loganchen39 I took a quick look and seems good. (with the caveat that I haven't used atlas much, but what you have seems to be the correct approach).

I think its reasonable for us to assume just a single state variable for now (I can't think of an immediate reason why we would want more than 1 state variable, but if we find one we'll deal with that later), but if that's the case you should check the number of variables in the state constructor and abort if there is more than one.
There were updates to OOPS today that add increased coverage of the state and increment tests, these will probably be useful for you. I have to do another bugfix PR real quick this evening for that to work.
focus on state for now, I think what we should do for increment is to actually move the common methods of state and increment, as well as the  the atlasFieldSet variable, into a common Fields base class. You can either do this now, or wait until you have most of State implemented. That way we wont have as much duplicate code between State and Increment

@loganchen39 never mind, I forgot already did that PR to include the serializable interface for state...
make sure your branch is up to date with the latest develop, easiest way to do that:
git fetch --all
git merge origin/develop

and make sure you have the latest JEDI repositories by running make update in the top level build directory.

@travissluka  I'm testing class State and I got a question: what values should we set up to items of "norm file" and "tolerance" in the configuration file "state.yml"? You may check my current one at branch "develop_chen", I must have copied part of the content from other JEDI modules. My current problem is that:
If I set "norm file" to 0.0, in order to pass test of
"template  void testStateConstructors()",
It seems I need to initialize the FieldSet data to 0 in some of the State class constructors,  however if I do initialize the FieldSet data to 0, it won't pass the test of
"template  void testStateZeroAndAccumul()". Any ideas?
You may check my latest code at branch "develop_chen". Thanks.

If you're fairly confident your state is being read in correctly, you can
just run the test, use the norm  value it produces, and then use that value
in the yaml file. For a tolerance use something small (1e-12) unless tests
start failing on different machines.
On Mon, Oct 19, 2020 at 9:43 AM Logan (Ligang) Chen <
<EMAIL_ADDRESS>wrote:

@travissluka https://github.com/travissluka I'm testing class State and
I got a question: what values should we set up to items of "norm file" and
"tolerance" in the configuration file "state.yml"? You may check my current
one at branch "develop_chen", I must have copied part of the content from
other JEDI modules. My current problem is that:
If I set "norm file" to 0.0, in order to pass test of
"template void testStateConstructors()",
It seems I need to initialize the FieldSet data to 0 in some of the State
class constructors, however if I do initialize the FieldSet data to 0, it
won't pass the test of
"template void testStateZeroAndAccumul()". Any ideas?
You may check my latest code at branch "develop_chen". Thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/UMD-AOSC/OISSTv3/issues/7#issuecomment-712254903, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AC7PW2LZ424WO4XDTRMMNE3SLRNCFANCNFSM4SA3ZGBQ
.

--
Travis Sluka
Software Engineer | Joint Center for Satellite Data Assimilation, UCAR
Visiting Scientist | Physical Sciences Division, NOAA Earth System Research
Laboratory
Boulder, CO

@loganchen39 also, i see that your branch is 3 commits (at least 2 weeks) behind the develop branch. I would recommend you merge develop into your branch on a regular basis to avoid serious merge conflicts when it comes time to do a PR


Marksman need nightvision compatible optic

Marksman will be given the vanilla nightvision optic if the mission time is before sunrise or after sunset.


add a new Lambda function to reset all accounts

What is this?
This Lambda function will scan organizational units and managed accounts, and tag accounts with state 'vanilla'.
Why is it important?
The state machine is based on some tag structure. When code or settings break these tag structure, then state machines do not work anymore. Since the state of an account is contained in a tag attached to it, for such situations you can use AWS Organizations to change the state of any account. For this you would visit the page of each account and then change the tag account-state to the value vanilla. This operation is feasible for some dozens of accounts, but can become tedious for large number of accounts. Therefore the need to reset accounts to the state vanilla with a simple invocation of a Lambda function devoted to this usage.
How to implement it?

[x] document recovery scenarios in a feature file
[x] create a new Lambda function ResetAccounts
[x] add a workbook to help system administrators
[ ] test in production environment

This feature has been tested after transition from ':' to '-' in tag names. For example 'account:holder' became 'account-holder'. Because of this change, all accounts had to be re-tagged. This was done with the new reset command, that forces a re-tag and then a preparation for each account. Worked very well in production with 50+ accounts


Angular 18 Standalone mode

Hello,
I'm looking for a configuration example in the case of Angular 18 in Standalone mode.
export const appConfig: ApplicationConfig = {
  providers: [provideZoneChangeDetection({ eventCoalescing: true }),
  provideRouter(routes),
  importProvidersFrom(TranslateModule.forRoot({
      defaultLanguage: 'en',
      loader: {
        provide: TranslateLoader,
        useFactory: HttpLoaderFactory,
        deps: [HttpClient],
      },
})
  ),
importProvidersFrom(NgxTranslateRoutesModule.forRoot()),
...

Does this make sense?
Also how can I get the language in the url like  /en/about/ <--> /fr/apropos/
Thanks

Hi @gizbo,
The configuration seems to be fine, let me check it, I haven't tried the lib in a standalone project. In relation to the second point at the moment, routes with the language in the path are not supported, but it could be an interesting improvement.

@gizbo You can try with something like this pretty similar than you configuration:
providers: [
    provideHttpClient(withInterceptorsFromDi()),
    provideZoneChangeDetection({ eventCoalescing: true }),
    provideRouter(routes),
    importProvidersFrom(
      TranslateModule.forRoot({
        defaultLanguage: 'en',
        useDefaultLang: true,
        loader: {
          provide: TranslateLoader,
          useFactory: HttpLoaderFactory,
          deps: [HttpClient],
        },
      }),
      NgxTranslateRoutesModule.forRoot()
    ),
  ],

Hi @gizbo Did the library work with the configuration I provided, or do you need it to work with the routes using the language as a prefix? If so, please create an issue on that topic so I can address that improvement in the future.

I will close this issue because the lib works with standalone


[style]: Enhancing the Design of Contact Us Page

What's the style idea?
We need to improve the design of Contact Us Page
Adding some visuals/animations to it, not just changing the margin
Making a complete Page
Add screenshots
Add screenshots
Code of Conduct

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

@SurajPratap10 could you please assign this issue to me

Assigned to you @SurajPratap10


Typo in Vector Single-Width Integer Multiply-Add Operations

Hi,
In rvv-intrinsic-api.md:12.13. Vector Single-Width Integer Multiply-Add Operations, I think the instruction vmacc_{vv,vx} should be vmacc.{vv,vx}.
And vnmsac_{vv,vx}, vmadd_{vv,vx}, vnmsub_{vv,vx} have the same issue.

Thank you for spotting the typo. Mind sending a PR?

Resolved in #128 .


cranelift: Remove iconst.i128

👋 Hey,
This is a fix for the issue that was discovered in #5046 where iconst.i128 was causing issues and we decided to remove it.
I think most of the codegen differences are different register selection, except for the x64 tests where it de-duplicated some zeroing of registers.
Bugpoint also had to be updated to recognize the new pattern of uextend+iconst when minimizing these cases.
cc: @cfallin

I found some issues with egraphs after applying this patch where rematerialization is still inserting an iconst.i128, I want to chase that down before merging this:
Here's the current test case:
test interpret
test run
set opt_level=speed_and_size
set use_egraphs=true
set enable_llvm_abi_extensions=true
target x86_64

function %a(i128) -> i128 system_v {
block0(v0: i128):
    v1 = bxor v0, v0
    return v1
}

; run: %a(1) == 0

Ah, that's almost certainly this rewrite rule:
(rule (simplify (bxor ty x x))
      (subsume (iconst ty (imm64 0))))

I think a (fits_in_64 ty) extractor in place of ty in the LHS should fix it -- and there are a few cases below (here for band) as well.

So, the bxor was a simple fix.
I don't think we ever trigger that issue with the band rules, because if I'm reading them correctly they depend on one of the sides being a iconst.i128 to trigger, and we no longer have those so I don't think those rules ever fire in this situation. (I also haven't seen the fuzzer complain about those yet!)
We had some simple_preopt optimizations building iconst.i128, notably band_imm 0 and bor_imm -1, I've decided to disable those for I128's.
They have the same issue that we have with iconst.i128 where their operand is 64 bits but its a 128 bit operation and some sort of implicit extension is required. They are also on their way out with #4721.
Otherwise the fuzzer has stopped complaining about inserting iconst.i128's and we should be able to merge this!


Faster metric computation

Use a local-runner + (replicated) remote-service strategy to parallelize metric computation.
@arobins PTAL after #225 lands. (This currently has #225 changes merged in.)

Codecov Report

Merging #226 into master will decrease coverage by 1.72%.
The diff coverage is 65.21%.

@@            Coverage Diff             @@
##           master     #226      +/-   ##
==========================================
- Coverage   64.18%   62.46%   -1.73%
==========================================
  Files          34       36       +2
  Lines        2150     2291     +141
  Branches      146      151       +5
==========================================
+ Hits         1380     1431      +51
- Misses        770      860      +90

Impacted Files
Coverage Δ

lib/confluence/aggressive_removal.es6.js
100% <100%> (ø)
:arrow_up:

lib/confluence/metric_computer.es6.js
100% <100%> (+4.08%)
:arrow_up:

lib/confluence/browser_specific.es6.js
100% <100%> (ø)
:arrow_up:

lib/confluence/api_velocity.es6.js
100% <100%> (+1.66%)
:arrow_up:

lib/confluence/failure_to_ship.es6.js
100% <100%> (ø)
:arrow_up:

lib/web_catalog/api_extractor_service.es6.js
21.42% <21.42%> (ø)

lib/web_catalog/object_graph_importer.es6.js
20.4% <3.84%> (-14.21%)
:arrow_down:

lib/confluence/metric_computer_service.es6.js
61.64% <61.64%> (ø)

lib/confluence/metric_computer_runner.es6.js
75.19% <75.19%> (ø)

... and 7 more

Continue to review full report at Codecov.

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

@jacksonic PTAL. @arobins took a first pass at this, but he's out for a few weeks.


Use Procedure With Swoole\Coroutine\MySQL

Q
A

Bug report?
yes

Feature request?
no

Swoft version
1.0.0

Swoole version
4.2.7

PHP version
7.1.13

Runtime environment
Mac

Details

Describe what you are trying to achieve and what goes wrong.

# test.sql
CREATE DEFINER=`root`@`%` PROCEDURE `test_stored`()
    COMMENT 'for test'
BEGIN
    SELECT CURDATE();
END

# TestDao.php
$sql = "CALL test_stored();";
// query
$result = Db::query($sql)->getResult();
// array
var_dump($result);
// query again
$result = Db::query($sql)->getResult();
// bool true ?!
var_dump($result);

use prepare and execute can fixed

BUG IN SWOOLE

It's fixed by Swoole


Add docs/img/favicon.ico

For people with too many browser tabs for Argo and Hera docs

Working on MacOS Firefox


Solus distro imported from WSL always receives the same error "FATAL: kernel too old"

Windows build number:  Microsoft Windows [Version 10.0.18362.449]

What you're doing and what's happening:

What's wrong / what should be happening instead:

Solus should have the same native glibc and same native Windows' Linux kernel that other unofficial distributions have, and which worked successfully.

Detail

1st case:

I downloaded and extracted an ISO of the latest Solus distribution version, and mounted an rootfs image, compressing as .tar or tar.gz;
I imported a Solus distribution from WSL or from https://github.com/yuk7/wsldl, received that error. I thought that, because it was an ISO.

2nd case:

I created a virtual machine of Solus, upgraded the glibc and Linux kernel;
I converted .vdi to .img;
I mounted the .img and compressed the root tree as .tar.gz
I imported a Solus distribution from WSL or from https://github.com/yuk7/wsldl, received that error. I thought that, because glibc and kernel were missed, and I had an idea.

3rd case;

Docker's Solus image does not have that error, so I created a container of Solus, and exported as rootfs.tar.gz
I imported a Solus distribution from WSL or from https://github.com/yuk7/wsldl, received that error.

Reference; https://github.com/yuk7/wsldl/issues/46

10.0.18362.449
ISO of the latest Solus distribution

Somewhere between by-design tag and external tag. You will probably make better progress in the cited thread. You might find more joy on WSL2, which reports a slightly higher kernel version number (4.19.x vs 4.4.x). Then again you might not, depends on whatever it is that you are running considers too old. Work-around (not really the word) would be to find FATAL, comment it out.
Fun party trick, you can spoof your /proc/version with a bind mount.
$ echo "Linux version 6.13.7-microsoft-standard+ (ken@DESKTOP-BNN97ME) (gcc version 11.2.0 (Ubuntu 8.3.0-6ubuntu1)) #1 SMP Sun Oct 27 14:46:29 PDT 2019" > ./version
$ sudo mount --bind ./version /proc/version

Bonne chance.

Salut @therealkenc !

$ echo "Linux version 6.13.7-microsoft-standard+ (ken@DESKTOP-BNN97ME) (gcc version 11.2.0 (Ubuntu 8.3.0-6ubuntu1)) #1 SMP Sun Oct 27 14:46:29 PDT 2019" > ./version
$ sudo mount --bind ./version /proc/version

Inside Solus or sent from Ubuntu to Solus? Outside Solus, using Windows PowerSHell on Windows Terminal?
If inside Solus, I will not be to send, because if I send echo, it will return the fatal error.

@therealkenc
The first command worked, but the last command not:

Inside Solus or sent from Ubuntu to Solus?

Wouldn't have the slightest idea (never used Solus). Which is why the question would be better directed to the purveyors of the product.

Hello @therealkenc !
One of Solus team developers said they are not familiar with building WSL environments.
But @yuk7 said his explanation was not clear, so the fault was his, indicated the Linux kernel version. I checked Solus' Linux kernel version. I saw it is Linux 4.9.184 and not Linux.4.4.0.
I will see if I can install Linux 4.4.0 kernel, set it as default and remove Linux 4.9.0.

@therealkenc
I have a question. Does WSL support Linux kernel 5.3.x?

@therealkenc
I have checked, WSL does not support 5.3.x. I have to compile 4.4.x or 4.19.x

I have compiled latest 5.4-rc6 in Ubuntu Eoan and it works in WSL. Steps:

Get the latest tarball from kernel.org.
Extract in a folder.
Copy the kernel config from WSL Linux kernel repository.
You may have to add the changes in kernel source code but I didn't, lazy :)
Compile it with that config file. Accept default options for all other settings.

The WSL2 VM boots up. But I don't know if Linux kernel 5 works for all cases without any bugs. Where did you get the Solus rootfs tarball?

@Biswa96
1st alternative:

Create a virtual machine and install Solus Budgie in VirtualBox. Switch to VBoxSVGA.
In Solus, make an upgrade and reboot.

Open the terminal:

cd /
sudo tar -czvpf /run/media/yourusername/Your_USB_srick/rootfs.tar.gz --one-file-system /

Create a folder called Solus, download @yuk7's Launcher.exe. Move Launcher.exe and rootfs.tar.gz to the folder Solus. Rename Launcher.exe to Solus.exe. Run the `Solus.exe

2nd alternative (quicker):

Use Docker.
Open the terminal and run:

$ docker pull feddamisch/solus:system.devel
$ docker run --rm -it feddamisch/solus:system.devel
bash# exit
# Take the container-id
$ docker ps -a
$ docker restart <container-id>
$ docker container export -o rootfs.tar.gz <container-id>
3.  Create a folder called `Solus`, download @yuk7's [Launcher.exe](https://github.com/yuk7/wsldl/releases/tag/19110100). Move `Launcher.exe` and `rootfs.tar.gz` to the folder `Solus`. Rename Launcher.exe to `Solus.exe`. Run the `Solus.exe

@Biswa96

Copy the kernel config from WSL Linux kernel repository.

Where exactly?

We don't have any of the Hyper-V stuff enabled in the kernel. So regardless, WSL2 won't work unless you turn it on.

Do you mean to turn the Hyper-V on inside the kernel, @DataDrake ?

Yes.

Ok, I do not know how, although you do not have this stuff, but let us @Biswa96 know, answer and figure.

Solus developer here (as is @DataDrake), it is completely unreasonable to expect @Biswa96 to walk you through kernel module enabling for an unsupported kernel (we have too new of a kernel) for an unsupported configuration. WSL supports 4.19, which we stopped supporting in December of 2018 (almost a year ago), and 4.4.x is purely an LTS kernel used for older hardware with no plans on enabling kernel modules for unsupported configurations.
Our recommendation is you use a supported operating system in WSL such as Ubuntu.

@JoshStrobl, why does Solus come with 4.9, which is older than 4.19?

@JoshStrobl, why does Solus come with 4.9, which is older than 4.19?

Our ISOs do not come with 4.9, they ship with 4.20 per our Solus 4 release notes. We offer 4.9 in the repository for reasons I mentioned in my comment.

OK, I read and saw. As I want to provide the packages for Solus users, I will reconsider using natively Solus on another HD or running the virtual machine, although the virtual machine performance is not good.
I have to buy more than ten HDDs, each for each of unsupported distribution.
I give up on attempting to build on a WSL.
@Biswa96, forget it. I am sorry if my comment upset you!

@gusbemacbe I am not upset. Busy with some human things 😴
First question: How to replace Linux kernel 4.x with 5.x? I have tested this in Ubuntu Eoan. Here are the steps:

Download Linux kernel tarball: https://git.kernel.org/torvalds/t/linux-5.4-rc6.tar.gz
Install required packages: apt install build-essential flex bison libssl-dev libelf-dev
Untar it: tar -xf linux-5.4-rc6.tar.gz
Download the WSL/Linux kernel config file: https://raw.githubusercontent.com/microsoft/WSL2-Linux-Kernel/master/Microsoft/config-wsl
There are some changes in WSL Linux kernel. Here is a diff output, all credit goes to @therealkenc.
Compile kernel: make KCONFIG_CONFIG=config-wsl
Press enter until it is satisfied.

There are 50-50 chance that the new kernel boots in WSL2 VM. Hence this may not be the correct way to use Solus in WSL.
The docker container may work. I will update this post if it works. @JoshStrobl Is there any rootfs tarball of Solus distribution, like Ubuntu has cloud images.

Solus is not based on Ubuntu, so the steps you provided for compilation of the kernel, while appreciated, will not work. We have our own build tooling and chroot-based environment for the compilation of the Linux kernel, of which @gusbemacbe is already familiar with (in a separate discussion post he made on our forums).
The Docker image is not one which is provided by us, nor do we provide any form of cloud images. Solus simply is not aimed at WSL or supporting it, sorry. It simply is the case that @gusbemacbe is better off using another Linux-based operating system for this specific usecase.

The unofficial Solus docker image works.

Pull the image: docker pull feddamisch/solus:system
Save the image: docker save feddamisch/solus:system --output /mnt/c/MyFiles/solus.tar
Extract the layer.tar file from the first layer of the exported solus.tar file.
Import it: wsl.exe --import test layer.tar --version 2

No kernel error as there is no Linux kernel in a Docker image. Finding a official way to do it 🤔

@JoshStrobl, @DataDrake and @Biswa96
If you want to ask me why I wanted to do that.
I know that, when you read the whole explanation, you will not agree with what I did, you may find me crazy, unreasonable, unsustainable and unsuitable.
I own 7 drives, 3 HDDs and 4 SSDs. I have still to buy else. I use Arch Linux as mainly and daily, although I have Solus, Ubuntu and Void Linux natively.
My goal is that, on the same OS, to run many server OSes with different package managers for providing my packagers for users who will install my packages natively from the official OS repositories, like https://dev.getsol.us/, so they do not need to go to my repository every time.

Alphine (apk)
Arch Linux (pacman -S or trizen -S)
Fedora (dnf install or rpm i)
FreeBSD (freshports)
Gentoo (emerge -a)
NetBSD (pkgsrc)
openSUSE (zypper)
ROSA Linux/Mageia (urpmi)
Slackware
Solus (eopkg It)
Ubuntu (apt install)
Void Linux (xbps-install)

The WSL allows me to symlink or mount the some same folders (Applications/Source, GitHub, GitLab), some same configs (~/.local/share/fonts|icons, .zplug, .zsh) to all the OSes once and for all, and it also allows me to run the same apps (@probonopd's AppImages' extracted source), so it saves a lot of space and keeps me efficient, productive, quick and sufficient. It consumes less memory than VirtualBox.
As for VirtualBox... My super-computer is unbelievably very powerful and quick, the performance is marvellous. But as I have only 16GB RAM memory and 8 CPU cores of AMD Ryzen 7 2700X, I have to give 4 CPU cores and 8GB to a virtual machine, to keep both the guest and the host quicker. The performance gets slowed down when I mount the folders and config folders from the host to the guest, because I wanted to keep the space less busy. Mounting the zplug and zsh folders also slow the terminal's performance down. Other VirtualBox's disadvantage is that, I have to install natively few apps for each virtual machine, what will fatten the space, so I have to mount @probonopd's AppImages' folder. Or I have to buy 64GB RAM memory and a processor which comes with 16 cores, what will help to improve the performance of mounted folders and of the terminal's mounted zsh and zplug.
Docker is another good option, but Docker is very restricted than WSL. Docker does not allow me to access the full OS directories from the normal file manager on Linux or Windows nor to copy the files without root. The WSL allows me to access the full OS directories from the Windows Explorer or the Total Commander without required root.

chroot??

If I were in your place I wouldn't choose WSL at all. After all a developer or matainer of a project can't satisfy thousands of GNU/Linux distributions. Also distributions have different repository to download packages in their own format.

I can't speak for the other distributions, but we use our custom solbuild utility to build our packages in an isolated chroot. It's then up to the maintainer of the package to test and verify things. Then we expect that if they encounter issues that they bring it to the attention of the upstream developers (e.g. @gusbemacbe) and work with them to get it working on our side. We have no expectation of the upstream developers to install Solus in any form to test and fix things unless they want to.
But I agree, if you are going to do this for a lot of distros, you are creating a lot of unnecessary work for yourself. Our maintainers should be shouldering the burden, not the upstream developers. Especially considering that most of what @gusbemacbe is developing are icon themes and GTK themes, there are more efficient ways of testing that. You really only need to test those against specific desktop environments, most of which can be installed on a single distribution like Debian/Ubuntu or Arch.

If I were in your place I wouldn't choose WSL at all. After all a developer or matainer of a project can't satisfy thousands of GNU/Linux distributions. Also distributions have different repository to download packages in their own format.

And the VirtualBox? And each native OS one each drive?

I can't speak for the other distributions, but we use our custom solbuild utility to build our packages in an isolated chroot.

Is there how to check if solbuild  install directly to the Solus OS' directory on any non-Solus OS? I need to know if my package is installed and located in the correct folder.

@gusbemacbe We generate a pspec_x86_64.xml after the package is built and you can look at that. Alternatively inside of the eopkg itself is a file called files.xml that has a complete listing with sizes, hashes, modes, and ownership.

Download Linux kernel tarball: https://git.kernel.org/torvalds/t/linux-5.4-rc6.tar.gz
[...]

Compile kernel: make KCONFIG_CONFIG=config-wsl
Press enter until it is satisfied.
There are 50-50 chance that the new kernel boots in WSL2 VM.

Smaller than that.

It does boot. Solus on wsl2 running 5.6 kernel

@sileshn
If you do not hesitate, please make a repository named "SolusWSL"and explain how you got it, like you did with FedoraWSL.

@gusbemacbe I cannot do that for obvious reasons. Contact me on<EMAIL_ADDRESS>

@sileshn I am really interested too. I've contacted you via email.


Client doesn't properly handle Text tabs with Date Validation

Here's the tab from the template

And here's the parse error

Hi @capitalist,
Thank you for the issue report.
Which SDK method were you using when the response from DocuSign couldn't be parsed?
Thank you,
Larry

I have filed internal ticket DCM-3193.
Which SDK method were you using when the response from DocuSign couldn't be parsed?

Hey, sorry for being slow - I'll get you more details on the issue today.

Ok, I have it boiled down to it's essence.
The API call is simply a .get on an instance of the `DocuSign_eSign::TemplatesApi'
It's the template data that isn't parsed correctly, I can send you privately the template JSON that comes from the API if that helps.

Thank you!
If you have time to confirm that removing the date validation makes the problem go away, that would be helpful since it would pinpoint that the date validation is what's triggering the bug.
Regards,
Larry

Confirmed:

Many thanks for your time on the bug report.
Regards,
Larry

of course - thanks for the quick response!

Good news, this issue has been fixed with the 3.0.0.rc.1 release of the SDK and gem. The source is available as branch ngopala/v2.1-19.2.02.
It will be released to master and the gem will be updated in the next week.
Please comment on this issue if you spot any issues with the RC (release candidate) or the forthcoming release.
Thanks,
Larry


Divergence caused by density fit and cartesian basis in PBC

Dear contributors,
For some reason, I need to use Cartesian gaussian basis for rock salt LiH crystal. Below are my code (pyscf==2.0.1)
L = 4
cell = gto.Cell()
cell.atom = f'Li 0 0 0; H {L/2} {L/2} {L/2}'
cell.a = (np.ones([3, 3]) - np.eye(3)) * L / 2
cell.unit = 'A'
cell.exp_to_discard = 0.1
cell.cart = True
cell.verbose=4
cell.basis='sto3g'
cell.build()

kmf = scf.KRHF(cell, kpts=cell.make_kpts([1,1,1]), exxdiv='ewald').density_fit()
kmf.kernel()

The energy will diverge if I use the default density fit. And the result will be cured if mix_density_fit() is used but efficiency is also slowed down(spherical basis also helps, but I need to use cartesian).
I'm curious about the reason for the divergence and how to fix it using the density_fit option, thanks.

Fixed by PR #1142


react/jsx-closing-bracket-location line-aligned forces floating >

This change is a little too opinionated and forces some ugly looking code (less readable) with floating > whenever the opening jsx command is multi-line.
before you could do:

  content

But now you are always forced to add an empty line with a floating >

  content

IMO the first example is much cleaner.

Agree. Fixed in 1.1.1 and standard 6.0.4.


Fix 2xl-Breakpoint

2xl is now an official Tailwind-Breakpoint, but only "xl" is highlighted.

I'll have that fixed right away!

Just added support for 2xl in the latest update. Thanks for the feedback, let me know if you'd like any other functionality!


[4.0] Certain Icons are shrunken

Godot version
4.0-dev (6a3ff8f), 4.0-alpha1
System information
Manjaro Linux 21.2.2
Issue description
I found a few icons that are shrunken down compared to other ones.
One is the ruler tool and the others are the NavigationAgent and NavigationObstacle nodes.

Steps to reproduce
Look for the icons on the latest commit or alpha1.

Pretty sure, that was an intentional change.

I think we could make the new breakpoint a bit smaller (probably a middleground between the old size and new size).

This might be regression from #49645
SVG icons have a viewBox property defined. Most of them have "0 0 16 16", but e.g. the ruler icon has "0 0 4.2333 4.2333". Changing it to 16 16 doesn't help though, so not sure what is wrong here. Also seems like the property can be dropped (it repeats width and height), it would make the SVGs smaller.

AFAIK they are parsed for different purposes, so viewport values cannot be dropped. It's kind of like a clipping rectangle of the image. But even if they can, let the SVG optimizer do it, no need to edit that out manually. Probably opening it with a vector editor and correcting the size should work though.

That's something @fire may know, but I don't think there is any reason here for us to use scale anyway. I'd fix the images instead, and worry about ThorVG later, if the need arises.

Can I have the exact link to the .svg so I check the online thorvg viewer?

Correct:
https://github.com/godotengine/godot/blob/master/editor/icons/Add.svg
Incorrect:
https://github.com/godotengine/godot/blob/master/editor/icons/Ruler.svg


Add support for VSCodium

Would be great if this could be merged!

Thanks @jmeischner for your work. I will release a new version with the changes includes asap


Removed unnecesary "cd"

As in the line 178 indicates "su - zimbra", the user has already been in the home directory, and the "cd ~" is not necessary.  Besides, all the Zimbra's documents don't mention "cd ~" before restarting the mailbox (For example, please refer to the
https://wiki.zimbra.com/wiki/Zimbra_Releases/9.0.0/P28 and search for the "zmmailboxdctl restart")
Note: According to the "man su", the "-" option means "Provide an environment similar to what the user would expect had the user logged in directly."

Example:
bar@barry-desktop:~$ ssh<EMAIL_ADDRESS><EMAIL_ADDRESS>~]# su zimbra -
<EMAIL_ADDRESS>root]$ zmmailboxdctl restart
Stopping mailboxd...done.
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
....

So the cd command stays.


Hey there!

Hi
Nice plugin, I'm surprised that it didn't exist before: the only thing that I preferred in JIRA over Redmine!
just one comment about the style: I find it neater when the pencil is not displayed. I've overriden your CSS like this:
.value .dynamicEditSelect .selectedValue {
  display: none;
}
.value .dynamicEditSelect select {
  padding-right: 15px;
}

your choice of course, but it's neater
I noticed that it doesn't work on my installation for assignees, whereas I see it in your video demo
And do you think it would be hard to extend to all fields? Not only status, priority and assignee?
Thanks for the good work!

Hi Colin,
Thank you for your issue and kind words.
As it's written in the README, you're free to edit the style and adjusts it to your need and your theme.
It's great that you find a way to customize it. If you need any more help about theming it don't hesitate to contact me or take a look at issue_dynamic_edit.css and issue_dynamic_edit.js files.
I can't find in my code where your problem about the assignee could come from.

Is the dropdown empty ?
Is the field not updated after you've refreshed the page ?

(By the way, I just updated the code and use an other method to update issue's values. It now avoids conflict between revisions and it's not REST API dependant anymore)
I will take a look to add more fields (estimated time and % done at first)

I've found the problem with the assignee: I was the only user in my project, and I guess that your plugin does nothing if there is only one user
thank you for looking at other fields, will be great to have

Hello Colin,
Last update give the ability to edit start date, due date, ratio and estimated time fields. I hope it will fulfill your expectations. It was tested on 3.4 version

Hello Hugo
Seems great!
Though, I just updated to latest version, and it fails:
ActionView::Template::Error (undefined local variable or method `userCanChangeStatus' for #<DetailsIssueHooks:0x0000000410aa28 @_routes=nil>):
    72:   end
    73: end %>
    74: <%= render_half_width_custom_fields_rows(@issue) %>
    75: <%= call_hook(:view_issues_show_details_bottom, :issue => @issue) %>
    76: </div>
    77:
    78: <% if @issue.description? || @issue.attachments.any? -%>
  plugins/redmine_issue_dynamic_edit/lib/details_issue_hooks.rb:29:in `view_issues_show_details_bottom'
  lib/redmine/hook.rb:61:in `block (2 levels) in call_hook'
  lib/redmine/hook.rb:61:in `each'
  lib/redmine/hook.rb:61:in `block in call_hook'
  lib/redmine/hook.rb:58:in `tap'
  lib/redmine/hook.rb:58:in `call_hook'
  lib/redmine/hook.rb:96:in `call_hook'
  app/views/issues/show.html.erb:75:in `_app_views_issues_show_html_erb___761580398086963979_39032240'
  app/controllers/issues_controller.rb:106:in `block (2 levels) in show'
  app/controllers/issues_controller.rb:99:in `show'
  lib/redmine/sudo_mode.rb:63:in `sudo_mode'

Previous version was working well
Any clue?

My bad ! A bad typo in the details_issue_hooks.rb file ...
A git pull with the last version should resolve the problem. Sorry for the inconvenience


disallow @everyone and @here in discord

Is your feature request related to a problem? Please describe.
@everyone and @here are not configurable to be filtered when sent to discord
a bot user can be configured to being disallowed to ping everyone,
but there is no such setting when using webhooks
Describe the solution you'd like
confiig entries
allowPingEveryone=false # default false
allowPingHere=false # default true
allowPingUser=false # default true

also related to #460 for translating user mentions
possibly also
IgnorePing="someUser someOther Bot.+"

similar to IgnoreMessages
Describe alternatives you've considered
I have tried to filter it through IgnoreMessages, but that does not work for messages coming in from api endpoints
and there is no general setting for IgnoreMessages that that applies to every platform

You can filter it using IgnoreMessages (for every account), but this can be defeated by using some of the chars that Discord filters out on message sending.

IgnoreMessages does work on the api though
[api.local]
BindAddress="<IP_ADDRESS>:4242"
name="api"
IgnoreMessages="test"
Buffer=1000
RemoteNickFormat="{NICK}"

[0007] DEBUG gateway:      matching test. ignoring test from api.local

@42wim Oh, it seems I wrote IgnoreMessages above when it was ReplaceMessages that I use in my config. Either way it is still defeated by slipping in characters that Discord strips, then pings everyone.

@benrob0329 could you show me an example that defeats it?

@42wim @everyone

@42wim label: waiting-for-feedback → enhancement?

ReplaceMessages=[ ["", ""], ["@everyone","@-everyone"], ["@here","@-here"], ["@test", "@-test"] ]

Since Discord has a native way to disable mentions for both bots and webhooks, perhaps this functionality should be implemented in that way instead.

Nice!!!

allowed_mentions
(for better searchability of this issue).


Adds the ability to export a scaled spritesheet.

This is a patch for the second feature I requested in this tweet: https://twitter.com/lopar/status/637802318008717312
Please let me know if there are any tweaks to the UX or whatnot. For one, I was debating whether the scale should appear as a general export setting or as part of the spritesheet setting section, since it currently only works for spritesheets. I went with general export since it'd be nice to extend it to others types such as ZIP in the future, but I'll defer to whatever you think is best there.
The scaling method with canvasses should work on all modern browsers (IE 11+ and Edge, Chrome, Firefox, Safari, Opera probably).

Hi ! (and thanks a lot for contributing !)
Let's start with a user setting for now, but the spritesheet export needs to go have a dedicated dialog to take care of scaling and other features such as issues #213 and #247. This dialog would support ZIP, PNG with all the options needed. As you've probably seen, the drawer is nice and all, but you run out of space pretty quickly.
Now I'm fine fine with having a temporary solution without the dialog :). I would move this setting to the PNG export section though. I think the feature will be easier to understand this way.
I added some comments in the files review, if you want to have a look.
Nice work, thanks again :)

Thanks for the feedback! Sorry it took me a couple days to have time to sit down with this and update. Always happy to do cleanup on a codebase where needed. :) ImageResizer is definitely a cleaner approach as well.

Sorry for the delay ! The change looks good, ready to merge. And thanks for the cleanup :)
I'll just test it one last time this weekend.
Thanks !

Looks really good !
Maybe one last thing before merging : I would like the UI to be a bit more compact. Move the label inside the .scaling-factor div, right before the input range. Label can be changed to "Scale" to be shorter.
If you want you can add tooltips to any element following the exanple below :
<div class="scaling-factor"
  title="Scale the exported PNG spritesheet"
  rel="tooltip"
  data-placement="top"
>

Other than this it's ready to merge.

Added 2 small comments on ImageExportController, would be great if we could also take care of this before merging :)
Thanks !

Sorry for the long delay again, I think I've addressed the last few comments. :)

Looks good to merge !
Thanks a lot for your contribution. For information, I will try to release a new version of Piskel either this week or next week. Your feature will then be available on piskelapp.com and in the new desktop applications.
I'll make sure to mention you when I publish the release :) (and I should have a contributors' section somewhere, but not sure I'll get around to do that this week)
Thanks again !


Support for Laravel 11

It would be awesome if composer.json could be updated to support Laravel 11 that got released yesterday. 🙂
At the moment, the package prevents updating to 11.

Done in https://github.com/WildsideUK/Laravel-Userstamps/commit/4ebae014be56461acb7c2e4b6d2f86a2190307b9

Done in 4ebae01

Amazing! Thanks for the speedy turnaround!

Wow, that was quick; thanks a lot! 👍🏻


ignores includes in makefiles

I'm using arduino-mk makefile, and with a small config makefile, that includes the main makefile, this won't detect any targets.

This is what I'm using, with the small "usage" script in my project folder
https://github.com/sudar/Arduino-Makefile


ADD: add listReviewer interface and implement

Coverage decreased (-0.0009%) to 93.387% when pulling 91f6dec9ecf398e9a8b4d50a7f1ef942798a6cd9 on sunchenglong:master into e43df4e05be0d6ff5d4174a6dbb525afa60d9649 on uwolfer:master.

Coverage increased (+0.09%) to 93.478% when pulling d61cb34675286b9eaad65a3a012639c9909852e1 on sunchenglong:master into e43df4e05be0d6ff5d4174a6dbb525afa60d9649 on uwolfer:master.

Thanks for your work, @sunchenglong!

I am so appreciated your help, this is my first commit on github. Thank you! @uwolfer


Update AAudio to use NDK 15

when NDK-r15 is available, remove AAudio wrapper in samples and use the header files  and lib inside NDK

this is done now


fix(package): Fix package

:pencil: Description
:link: Related Issues

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


formaldehyde catabolic process add parent

cellular detoxification
(formaldehyde cross-links/forms adducts in protein and DNA)
This will allow us to  pull more annotations into slims.

To be clear: you want:
"formaldehyde catabolic process"  is_a "cellular detoxification" ?

That is correct, clarified this point

There are 6 EXP ANNOTATIONS
2 E. coli and the SFA1 are detoxification. I presume the mouse  and the candida one also but did not check.
Probably a better suggestion is to do what @pgaudet  suggests here:
https://github.com/geneontology/go-ontology/issues/13611
and rename the term to
"detoxification of formaldehyde"

One IEA, the other an IMP, "Formaldehyde toxicity in Adh null mutants compared
with wild-type mice"  ; mice more sensitive  (lower LD50) when Adh5 KO'd .

So here  https://github.com/geneontology/go-ontology/issues/13611
@pgaudet  suggested making a similar  term
cellular detoxification of x
Maybe that would also work here?

already added parentage; will consider other part in a bit

formaldehyde catabolic process
is part of cellular detoxification which works for me,


Reorganize CircleCI jobs

I want to reorganize the way the CircleCI jobs are set up.
Currently, we divide them by test type:

unit tets
integration tests
integration tests with resilience

But this has some inefficiencies:

we do a lot of compilation as part of these tests
in many cases, we do the compile in each one of the jobs
when any test fails in these, rerunning means recompiling, which takes a very large amount of time.
we don't use parallelism in the compile stage

What I want to do is the following:

split up test-pre-build from test-run stages
parallelize the build stage so it completes faster
split the run stage into different logical areas of the code:

examples/python
examples/go
examples/...
testing/correctness/apps/...
testing/correctness/tests/...
...

each of these the run stages will depend on the build stage having completed, and will get its required binaries as artifacts from that stage (circleci supports mounting artifact volumes from dependent jobs)

The improvement here is in two areas:

CI jobs are divided into smaller, logical areas, so Go tests failures don't affect python test failures and vice versa
When a job does fail, if it's a test-run job, it's much faster to rerun it, because we don't have to recompile everything
when a job does fail and we restart it, it will finish faster, because it's smaller.

The last two points are especially useful when it comes to tests that fail infrequently.

See https://circleci.com/docs/2.0/artifacts/
and https://circleci.com/docs/2.0/caching/
for general guidelines on this.

To include in this work:

enable use of multi and filter in topology tests (bringing up the topology tests number from 504 to 11304).
Run topology tests in their own CI job, exclusive of build.


Enhancement Idea: Add a "View Source" option

Congrats and thank you on making an amazing Gemini browser - the rendering is gorgeous, well done!
I was thinking what would be super-cool is a "View Source" entry under the View menu... when I was first learning HTML in the 1990s (yikes!) this is what inspired me to learn how to try to make my own pages. I recognize that Gemini markup is vastly simpler than HTML but it still might be nice to show people how easy it is. I searched through the Issues and was surprised that I didn't find someone else requesting this.
Hopefully the option isn't already there somewhere and I'm just not finding it! 😬

Argh! I just found "Copy Source" under the context menu. Doh! Ignore me. 🤦

I agree that gemtext is so simple that viewing the source is a bit pointless, but implementing an option to force all pages to show up as "text/plain" would be pretty trivial.
Also, you can use "Save to Downloads" (Ctrl+S / ⌘S) on any page to save the page source to your downloads directory.


Entity reference causes DocumentFragment to lowercase attribute names

Using Nokogiri 1.6.0 on Ruby 2.0.0p0 (OSX)
require 'nokogiri'

xml = '<foo>
<svg viewBox="0 0 30 16"/>
Hey what?
</foo>'

bad_xml = '<foo>
<svg viewBox="0 0 30 16"/>
Hey ⊗ what?
</foo>'

d = Nokogiri::XML::Document.new
frag = Nokogiri::XML::DocumentFragment.new(d, xml, d)
bad_frag = Nokogiri::XML::DocumentFragment.new(d, bad_xml, d)
puts "GOOD: #{frag.to_s}"
puts "BAD: #{bad_frag.to_s}"

parse = Nokogiri::XML::DocumentFragment.parse(bad_xml)
puts "BONUS: #{parse.to_s}"

This prints:
GOOD: <foo>
<svg viewBox="0 0 30 16"/>
Hey what?
</foo>
BAD: <foo><svg viewbox="0 0 30 16"/>
Hey ⊗ what?
</foo>
BONUS: <foo>
<svg viewBox="0 0 30 16"/>
Hey  what?
</foo>

What's happening here is that adding the ⊗ reference causes the document fragment to lowercase the viewBox attribute!
As a bonus, if I use the normal DocumentFragment.parse method, I just don't get any entity at all.
It's important to use an "uncommon" entity reference - stuff like & or → doesn't trigger this bug.

 Since needing to add .gsub(/&(?!amp;)/, '&') in odd places doesn't seem like a good fix to  me.

This is fixed on main by 38c2f16, see #1158 for a related bug report and additional context. This will be fixed in the next release of Nokogiri, v1.13.0 (sometime in the next few days).


How to write correct path to svg?

I have some independent react modules. For example http://take.ms/0VMBN
How to get path to svg into images folder in css? I tried relative path like './images/hdc.svg', but it does not work.

don't write file name just write path.  ex : paths : ['./img/'] and in the CSS file call with file name and id like "test.svg#someid"

You can write the paths with or without the starting ./. Modules do not require you specify the node_modules directory. See example


Reinforcement learning. How to implement?

I'm working on reinforcement learning using Burn (on my own, I'm not affiliated with the Burn project).  I'm personally not aware of any existing Burn implementations. I can reply here when I have something deployed, in case anyone is interested.

Yes, I am interesred. Thanks!

Basics
I tried to implement this. And while I am completely new to burn I think it was mostly possible. However I hit one major issue. burn::train::TrainStep::step and burn::train::ValidStep::step are &self and have no mutable objects passed in. This means that there is nowhere to stash the access to my environment simulator.
However for now I am working around this by creating a new environment each time. This is a little slow but given a decently large batch size isn't a significant overhead. This could still be optimized using interior mutably if needed and some sort of cache.
Parallelism
One other issue is that the built-in training loop doesn't have support for parallelization. (The tutorial parallelizes the data loaders but these are basically noops in my env). I think this can be worked around by writing our own training loop and calculating gradients in parallel then applying them all. But I need to do a bit of research and testing to ensure that doing that produces the right result compared to doing it serially.
Another option may be using an older version of the model in the dataloader. That way I can evaluate a "trace" of my simulation in parallel using the ability for loaders to run in parallel. I can then save the results and scores of the different steps of the simulation and return those as the batch. The training step would then re-evaluate the model and compute the loss and gradients with the latest model. The downside here is that it means evaluating the model twice for each step of simulation (once in the dataloader and once to evaluate the gradients). This may be mitigated by using a simpler model to generate the training data. (Basically converting my problem into classification by using a different engine for prediction to generate training data + labels)
I'll also have to experiment to see if passing the same device in multiple times to the devices parameter will allow parallelism.

@kevincox Passing the same device multiple times is supposed to create parallelism, if it doesn't we should fix it!

I'm taking a crack at Cartpole / DQN today. I think I'll have a prototype up today or tomorrow.

Hey guys, good news! Cartpole/DQN is working.  I will clean things up a bit a publish something today.
Episode 4090, reward 500

@jt70

Hey guys, good news! Cartpole/DQN is working. I will clean things up a bit a publish something today.
Episode 4090, reward 500

Great! Looking forward to seeing it!

Code is here - https://github.com/jt70/deep_thinker
Presently, it's only DQN / Cartpole. It should give reasonable results after about 3500-4000 episodes.  Obviously, this is just a prototype to get things started. If you'd like to see any particular algorithms / environments, please open an issue.
My initial goals are more examples, code cleanup, documentation, and more algorithms, probably various DQN improvements and PPO to start with.


Issue on Rails 6 when defining scheduled job in namespace of a Rails model

Hello,
My env :

A model User
A worker User::CheckExpiredDrivingLicenceJob

Defining in schedule.yml as
check_expired_driving_licence_job:
  cron: "0 1 * * *"
  class: "User::CheckExpiredDrivingLicenceJob"
  queue: company_owner_driving_licence

After doing Sidekiq::Cron::Job.load_from_hash YAML.load_file(schedule_file) the model User is overwrite by the module I guess and make Zeitwerk fail.
With this overwrite, I got messages like undefined method email_verified on User
My solution is to use a namespace Users for my workers

I am also facing the same issue even in 2021. Is there a solution for this?
This is working when we remove the namespacing.
But ideally I would want to keep the namespaces to keep things organized.

Try wrapping Sidekiq::Cron::Job.load_from_hash YAML.load_file(schedule_file) like so:
Rails.application.config.to_prepare do
  Sidekiq::Cron::Job.load_from_hash YAML.load_file(schedule_file)
end

Related: https://github.com/ondrejbartas/sidekiq-cron/issues/249

there is a new way to do it in
Sidekiq.configure_server do |config|
  config.on(:startup) do
    schedule_file = "config/schedule.yml"

    if File.exist?(schedule_file)
      Sidekiq::Cron::Job.load_from_hash YAML.load_file(schedule_file)
    end
  end
end


some problems in Nuscenes data_creator,make_labels and test results

In the data_creator:

I'm wondering if CURRENTLY 7 and 8 didn't create data while there is no "Warning: Note that the projections are not always accurate as the localization is in 2d."

How do I get in touch with these errors and will they affect the data?

In the make_lables:

I generated 1110 labels, which is much larger than 850, why is this？

In the test

Testing the above data with the model you gave produced bad results, which were far below the paper's metrics.I wonder if data generation has an impact on this result.

Hi,
The errors should be fine and should not effect the results. The scene number with 1000s doesn't mean there are 1000s scenes. It is just the name of the scene and in the naming, Nuscenes skips some numbers. So it should still add up to 850 scenes.
The latest commit to introduce visualization messed up the occlusion mask creation. So the mask to calculate results mistakenly became 'not visible region'. Thus, the results seemed so bad. I made a new commit to fix it. You can rerun the data creation. Or if you don't want to wait for it, in the nuscenes_test.py line 727 and 742, you can change 'np.squeeze(batch_ref_bev_labels[...,exp_config.num_bev_classes])' to '~np.squeeze(batch_ref_bev_labels[...,exp_config.num_bev_classes]) | np.squeeze(batch_ref_bev_labels[...,exp_config.num_bev_classes+1])'.
And line 427 from bev_label = decode_binary_labels(bev_label,exp_config.num_bev_classes+1) to bev_label = decode_binary_labels(bev_label,exp_config.num_bev_classes+2).
Let me know how it goes.
Best

Did you make the changes I wrote in the answer as well (they are not in the commit)?

Did you make the changes I wrote in the answer as well (they are not in the commit)?

I did what you said in nuscenes_test.py. In line 727 and 742 , I changed 'np.squeeze(batch_ref_bev_labels[...,exp_config.num_bev_classes])' to '~np.squeeze(batch_ref_bev_labels[...,exp_config.num_bev_classes]) | np.squeeze(batch_ref_bev_labels[...,exp_config.num_bev_classes+1])'. And line 427 from bev_label = decode_binary_labels(bev_label,exp_config.num_bev_classes+1) to bev_label = decode_binary_labels(bev_label,exp_config.num_bev_classes+2). (just like you changed in the commit)

The new commit was fine except for barrier class. Until that is fixed, I reverted to the original commit.

In the original commit. there is a problem as followed in make_nuscenes_labels.py.

maybe you could  reverted to the Commits on Feb 17, 2022.

hi there is question for you. in the project_to_image of utils.py ，The coordinates of sample_points and source_points are inconsistent. Why coding like this？

Hi,
The rotation and translation matrices supplied by nuscenes are of different coordinate system. So the reordering of the coordinates is necessary to be able to use the translation and rotation matrices.


somewhat more detailed error messages

With 2.0.3 I started seeing a lot of unknown in my error logs - that's not good, as it's really tricky to filter these errors out, so I changed the messages to, um, include more words :)
Speaking of 2.0.3 - how come npm has it, but the master here is still 2.0.1?

2.0.3 is here, I didn't see that a push failed (probably made a typo in key password)
Your change also seems to cover for #88
I'll look into it soon.

Rebased to latest

https://github.com/Raynos/xhr/pull/89/files#diff-168726dbe96b3ce427e7fedce31bb0bcR156 is great, I'm a bit worried about changing the existing error message.
But I'll merge it soon.
Anyone wants to comment?

I am :+1: on this, the error message "unknown" doesn't really tell us much.

Any chance timeouts could also be indicated in a way that's easy to distinguish programmatically? I never finished putting together use-cases for #88 but it's still an important situation to recognize for us. I could parse it out of the error message after this PR but that seems like abusing the API a bit to me.

I'm on vacation (and have been for a while) with limited access to Internet and my private keys, I'll get back to this soon. If we're upgrading error messages, I want to make sure #88 is addressed fully


Installing NPM and Node.js needs to use a different repo on Ubuntu 14

If I follow the instructions to install locally, I will get missing file errors and the npm server will not run.
Updating in the following way helps:
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
Hope it helps someone.
Cheers

Cheers. I'll add this to the README.